[Bps-public-commit] brackup annotated tag, 1.09-01-6, created. 1.09-01-6

Alex Vandiver alexmv at bestpractical.com
Wed May 26 23:39:15 EDT 2010


The annotated tag, 1.09-01-6 has been created
        at  8c1eb81d12272b9d10508e4e8e6d5a221a5588a3 (tag)
   tagging  1151c6844534b2c4f056dd3bbd2d6b060fcd9e02 (commit)
 tagged by  Alex Vandiver
        on  Thu Apr 8 22:56:33 2010 -0400

- Log -----------------------------------------------------------------
libbrackup-perl (1.09-01-6)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAku+l2EACgkQMflWJZZAbqAiuwCeI2Nytj9qB/3DWiAEaNb++6cK
HcsAoLLVDAPodsqxNN1ylfslgjHuuyTn
=cmA8
-----END PGP SIGNATURE-----

Alex Vandiver (10):
      Ignore .git directories
      Add build dependencies
      Allow for multiple space-separated key IDs for encryption
      Preliminary debian-ization
      Ignore debian files
      Additional release
      Create a GNUPGHOME for ourselves before testing, rather than use the user's
      Chek in the version bump I've been using locally
      Merge branch 'master' into debian
      Release -6, now passing buil on launchpad

brad at danga.com (20):
      actually respect the --just flag on restore
      don't complain to stderfrif parent process has gone away
      changes entry from previous commit
      - new on-disk layout for the Filesystem target.  fully backwards
      don't stat old-style dirs if only operating in new-style world
      Checking in changes prior to tagging of version 1.06.  Changelog diff is:
      start of content-aware file chunkers.
      bradfitz: optional smart mp3 chunking. (start of file-aware chunking
      smarts to filesystem target, noticed when using sshfs (slow filesystem).
      actually strip non-ASCII characters (gary.richardson at gmail.com)
      fix utime warnings on restore
      remove some done stuff
      Checking in changes prior to tagging of version 1.07.  Changelog diff is:
      Checking in changes prior to tagging of version 1.08.  Changelog diff is:
      move all decryption to one place; support decrypting metafiles.
      Checking in changes prior to tagging of version 1.09.  Changelog diff is:
      Start of AppEngine blobstore target support.
      do retries to AppEngine on transient failures.
      also ignore brackup-digest.db files
      More Google AppEngine docs.

bradfitz (137):
      initial commit
      get gnupg kinda working
      Changes regarding this:
      some docs
      include original link
      tech notes
      more docs, and s/cache/digdb/ in File.pm
      work for the night.  works, but no metafile written yet.
      change data structures a bit.  make the chunk keys based on sha1 of
      can write the .brackup rfc822 metafile now.
      let you specify output file
      functional now, but no restore.
      cleanup
      make Amazon target kinda work.  Net::Amazon::S3 is still buggy, as is
      don't backup the digest database
      a --help mode, and docs
      make a starter template for them
      packaging
      more packaging
      add no warranty statement
      make amazon target more robust, now requiring changes to Net::Amazon::S3
      0.71
      remove debug
      add gpg-rcpt to cache key
      whitespace fixups, and don't put Digest into the outfile for 0 byte files
      remove noise
      let digestdb file be configurable
      let targets add fields to metafile.  and whitespace cleanup, whoops
      start of restore support, and start of a good test suite
      a lot of work on restoring files, and tests for everything.  not quite perfect yet
      improving tests
      verify restored files' digests, fix test suite.  restore now works perfectly, with testing.
      move shared testing code into Brackup::Test, in prep for doing GPG
      clean up output
      -- bitch when source config has unrecognized keys
      refactoring for readability
      TODO / Changes
      gpg restoring is mostly working now
      bug fixes with gpg backups/restores.  chunkref has to be memoized so it's not encrypted differently multiple times within processing of a file.  this also means backups are 2x as fast now!  :)
      passes both regular/gpg tests backing up and restoring.
      notes, docs
      prep for 0.80
      more todos
      updated changes
      restore front-end tool.
      amazon s3 restore works now
      make a Brackup.pm, just to hold version number and stuff
      trust-model=always ... thanks Frank!
      forgot the restore and changes
      0.91 was never committed
      not yaml
      start of stats and --dry-run options
      minor stuff
      rearrange
      +  - deal w/ encryption better:  tell chunks when the backup target
      +  - new --du-stats to command to act like the du(1) command, but
      actually, we do need to use wanted callback for right ordering
      - support putting .meta files besides .chunk files on the Target
      require gpg-agent, and help out with it... also add --batch and info messages
      clean up tree
      - merge in the refactoring branch, in which a lot of long-standing
      sort this
      todo
      fix Amazon target
      - cleanups, strictness
      clean up quicker
      not done yet
      halve number of stats when walking backup root
      show progress with -v, and include  new doc
      - clean up old, dead code in Amazon target (the old inventory db which
      say something's happening on start
      - retry PUTs to Amazon on failure, a few times, pausing in-between,
      - make PositionedChunk use the digest cache (which I guess was
      +  - fix memory leak in case where chunk exists on target, but local
      add a chunk iterator object, to be used by future refactor of backup
      noise
      switch backup.pm to use a stream of events from an iterator object.... in prep for future release with child processes doing gpg ahead of time for main process, working off multi-plexed
      multiplexed slave iterator stuff.... you can start to see now how
      change where we encrypt, to make next transition more clear
      fix tests, previously broken.
      misc
      if restore failed, don't proceed to tree diff
      intro GPG process management stuff.  for now, only manages one process at a time, but infrastructure is all in place now to have lot of GPG processes runnign at once (use multiple CPUs), and keep data pipe loaded, for network uploads to continue saturating the network.
      more
      manifest cleanup
      add to comment
      parallel gpg stuff
      start of some code to show size actually needed to upload, ahead of time.  usually undesirable, so guard with env variable for now... maybe an option later?
      show better percentage bars, if we precalc'd the data
      add Brackup::DigestCache, subclass of Dict::SQLite, but will have more
      fix:
      bogus dep
      memoize full digest
      less/smarter verbose output:
      suck in the whole sqlite file, so it's not so damn slow.
      skip files ending in whitespace, and don't cache stat info is file is being skipped
      legacy migration thing.
      note for future
      defer loading everything until first access
      more debug
      noatime support
      cleanup
      lot was already done
      - track in meta header the default (most often occuring) modes for
      document verbose
      Checking in changes prior to tagging of version 1.00.  Changelog diff is:
      more docs
      lot of docs
      Checking in changes prior to tagging of version 1.01.  Changelog diff is:
      todo
      so search.cpan.org picks it up
      support for merging little files together into big chunks
      don't tail-pack... only merge chunks into composite chunks that represent entire files
      Checking in changes prior to tagging of version 1.02.  Changelog diff is:
      this was unused.
      doc fixes
      use default
      start of target management tool
      more todo
      fixes
      doc updates
      implement list_targets command
      commands to get brackup files from server
      don't leak tempfiles
      more brackup-target work, and todo/changes updates
      start of tempfile leak auditing, moving all tempfile creation into Brackup::Util wrapper, which currently does nothing.
      stop leaking tempfiles
      brackup-restore's verbose flag is more verbose now, showing files
      update
      Checking in changes prior to tagging of version 1.03.  Changelog diff is:
      make tests pass on OS X (Jesse Vincent)
      +  - Amazon list_backups and delete backups (and delete for filesystem
      Checking in changes prior to tagging of version 1.04.  Changelog diff is:
      'prune' and 'gc' commands commands for both Amazon
      Checking in changes prior to tagging of version 1.05.  Changelog diff is:
      GoogleAppEngine store_backup_meta implementation.
      App Engine restore support.

gavin at openfusion.com.au (86):
      Add initial Brackup::Target::Sftp target (using Net::SFTP::Foreign) and unit test.
      Precompile Brackup::Root::ignore regexes for performance.
      Rename t/01-backup.t to t/01-backup-filesystem.t (more explicit, and ordering).
      Tweak explanatory comments in t/01-backup-ftp.t, and add to MANIFEST.
      Add --just=DIR and (failing) --just=FILE restore tests to fs/ftp/sftp unit tests.
      Fix --just=file case in Brackup::Restore by stripping Path eq prefix case more carefully.
      Fix a couple of buglets in Brackup::Target::Sftp.
      Add headings, date formatting, and sorting to brackup-target list_backups.
      Add Brackup::Util::noclobber_filename and use for brackup backup files.
      Trival patch to chomp brackup_restore errors before reporting.
      Make brackup-restore report errors if nothing is restored.
      Fix typo in Brackup::Metafile error message.
      Fix inversion bug in brackup-target prune --keep-backups option handling.
      Tweak 04_gc.t test to prevent orphan chunk count = zero.
      Fix typo in Brackup::Target::Sftp::chunks.
      Rename 04-gc.t to 04-gc-filesystem.t and tweak.
      Add colon-unescaping in Brackup::Target::X chunks() methods.
      Add new 04-gc tests to MANIFEST.
      Add missing t/04-gc-{,s}ftp.t tests.
      Add t/04-gc-{,s}ftp.t back to MANIFEST.
      Make brackup-target --verbose prune more verbose about what is being removed.
      Make brackup-target --verbose gc more verbose to give more indication of progress.
      Make brackup-target gc more verbose still, reporting chunks with -v -v.
      Accept hyphenated versions of commands in brackup-target.
      Add --interactive mode to brackup-target gc.
      Add a --source option to brackup-target to restrict prune to a particular source.
      Update Amazon target to handle new ISO8601 modify timestamps (Ben Schumacher).
      Add recent brackup-target changes to changelog.
      Add count, each, and delete methods to Brackup::{Dict::SQLite,InventoryDatabase}.
      Add size() method to Brackup::Target::Filesystem.
      Convert Brackup::Target::{Ftp,Sftp} _size() methods to public size().
      Add size and chunkpath methods to Target::Amazon.
      Add brackup-verify-inventory utility.
      Add FindBin stanza to brackup-verify-inventory.
      Trivial perldoc tweaks.
      Add metafile path name escaping using String::Escape.
      Add String::Escape to Makefile.PL.
      Add missing trailing semicolon in Brackup::Backup.
      Add brackup-mount and brackup-verify-inventory to Makefile.PL.
      Add name attribute and accessor to Target, like for Root.
      Change default metafile name from source-date to source-target-date.
      Replace some instances of open() with sysopen() to fix trailing whitespace handling.
      Limit Brackup::Root trailing whitespace skipping to encrypted backups.
      Comment out Brackup::Root trailing whitespace skipping (works with gpg 1.4.5, at least?).
      Add t/05-filename-escaping.t unit test and data.
      Stats output, BackupStats implementation, --save-stats arg.
      Write metafile incrementally, instead of big bang at end.
      Create brackup-restore restore directory if it doesn't exist.
      Perldoc tweaks to brackup-restore.
      Add CompositeChunk ftp/sftp tests; tweak ftp/sftp tests to use skip_all.
      Sort restore files to avoid reloading composite chunks from target (Kostas Chatzikokolakis).
      Allow brackup-restore to use config file sections/passwords, if available.
      Update Target::Amazon::new_from_backup_header to use config file settings, if available.
      Update Target::CloudFiles::new_from_backup_header to use config file settings, if available.
      Add Amazon::backup_header; fix Restore::restore $confsec to be ConfigSection, not Target.
      Turn on recommended retry flag in Target::Amazon (Kostas Chatzikokolakis).
      Remove location and backup_prefix from Amazon::backup_header etc. (not required for restores).
      Tweak Brackup::Restore::restore to automatically relativise absolute --just paths.
      Fix incorrect path reporting with --just in Brackup::Restore::restore.
      Tweak brackup-restore to not require brackup.conf, or initialise template one.
      Add brackup-restore config file entry to Changes.
      Update metafile storage to pass filehandle instead of full contents (Gavin Carr, Kostas Chatzikokolakis).
      Remove one tempfile from gpg processing, use filehandles instead of content (Kostas Chatzikokolakis).
      Convert encryption and chunk storage to filehandle-based versions (Kostas Chatzikokolakis).
      Add Util::tempfile_obj, and use for GPGProcess tempfile auto-unlinking (Kostas Chatzikokolakis).
      Convert DigestCache to has-a dict; allow specifiable dict type; add Dict::SQLite2.
      Update InventoryDatabase to allow dict type to be specified; perldoc updates.
      Add seekable File::Temp require to Makefile.PL.
      Remove bogus encryption warning from DigestCache docs.
      Add simple config section inheritance ('inherit' directive).
      Add config inheritance unit test.
      Add config inheritance unit test (take 2).
      Add missing Dict::{SQLite2,DBM,Null} modules.
      Add explicit close to StoredChunk::_forget_chunkref.
      Throttle GPGProcManager if too many uncollected chunks.
      Fix InventoryDatabase->new to return $self, not dict.
      Add check_inventory_db test to Test::do_backup (Kostas Chatzikokolakis).
      Add ability to specify inventorydb_type to 04-gc-*.t unit tests.
      Fix minor bugs in Dict::{SQLite,SQLite2,DBM} preventing some repeated methods calls.
      Add a prune + garbage collection step to gc unit tests.
      Ignore .svn directories in gc unit tests.
      Remove orphaned chunks from inventory as part of garbage collection.
      Prefetch chunks in brackup-verify-inventory to minimise target round-trips
      Report inventory_db backing file in Test::check_inventory_db test.
      If IO::Compress is available, write/read compressed metafiles in unencrypted mode.
      Add missing t/data-2 test files.

imsnah (12):
      Fix several typos
      Don't print code line for “Backup complete” message
      Split generic code from Filesystem.pm into Filebased.pm
      Add FTP target
      Remember whether colons have been used for a backup
      Backup fifo files
      Fix backups listing when using FTP target
      Remove trailing whitespace
      Create default configuration file with more secure permissions
      Automatically reconnect after FTP connection loss
      FTP garbage collection bugfixes
      Unit tests for FTP target

imsnah at gmail.com (5):
      Use a single directory for all temporary files
      Fix valid_params function by importing Carp
      Don't confuse vim's syntax highlighting
      Remove unused foreach_chunk function from Brackup::File
      Hide code location for completed restores by adding \n to string

mart (8):
      Allow user to specify config file location on the command line.
      Only try to expand ~/ if $ENV{HOME} is set.
      S_ISLNK doesn't work under ActiveState Perl on Windows, so fall back on the -l operator if the call fails.
      The trick of calling tempfile() and then holding the filehandle open while GPG uses the file doesn't work on Windows because Brackup ends up holding a write lock on the file, preventing gpg from writing to it.
      Must read chunk files in binary mode.
      The naming scheme for chunk files is rather unfortunate since colons aren't allowed in filenames on Windows.
      Preparation for enumerating backups on a particular target.
      Implementation of the "backups" method for the Filesystem target.

mart at degeneration.co.uk (8):
      Add better error message for the "restored filesize is wrong" error.
      added the aws_prefix option to configure multiple backup targets on a single Amazon account.
      fixed tempfile creation in gc (orphaned files were left in the working directory)
      added the aws_location option to set the datacenter location for S3 targets.
      An initial attempt at a FUSE-based filesystem for mounting a backup read-only.
      Fix Restore.pm to use binmode for operating systems that care about such things.
      Add a new option to the Amazon S3 target to force a prefix to be added to the names of any saved backups.
      New option --zenity-progress that produces output suitable for piping into zenity --progress to get a pretty GUI progress bar while running a backup.

throughnothing (2):
      added Rackspcae/Mosso CloudFiles Target
      Got rid of typo in CloudFiles.pm

-----------------------------------------------------------------------



More information about the Bps-public-commit mailing list