Commit graph

7 commits

Author SHA1 Message Date
gdt
e43c55e3a8 Update to 0.28.1
Upstream changes:

* The index format has changed, which will trigger a full index
  rebuild on the next index run, making that run more expensive than
  usual.

* When given `--xdev`, `bup save` should no longer skip directories
  that are explicitly listed on the command line when the directory is
  both on a separate filesystem, and a subtree of another path listed
  on the command line.  Previously `bup save --xdev / /usr` could skip
  "/usr" if it was on a separate filesystem from "/".

* Tags along a branch are no longer shown in the branch's directory in
  the virtual filesystem (VFS).  i.e. given `bup tag special
  /foo/latest`, "/foo/special" will no longer be visible via `bup ls`,
  `bup web`, `bup fuse`, etc., but the tag will still be available as
  "/.tag/special".

* bup now provides experimental `rm` and `gc` subcommands, which
  should allow branches and saves to be deleted, and their storage
  space reclaimed (assuming nothing else refers to the relevant data).
  For the moment, these commands require an `--unsafe` argument and
  should be treated accordingly.  Although if an attempt to `join` or
  `restore` the data you still care about after a `gc` succeeds,
  that's a fairly encouraging sign that the commands worked correctly.
  (The `t/compare-trees` command in the source tree can be used to
  help test before/after results.)

  Note that the current `gc` command is probabilistic, which means it
  may not remove *all* of the obsolete data from the repository, but
  also means that the command should be fairly efficient, even for
  large repositories.

* bup may have less impact on the filesystem cache.  It now attempts
  to leave the cache roughly the way it found it when running a `save`
  or `split`.

* A specific Python can be specified at `./configure` time via PYTHON,
  i.e. `PYTHON=/some/python ./configure`, and that Python will be
  embedded in all of the relevant scripts as an explicit "#!/..." line
  during `make install`.

* The way bup writes the data to disk (the packfiles in particular),
  should be a bit safer now if there is a coincident power failure or
  system crash.

* bup should be more likely to get the data to permanent storage
  safely on OS X, which appears to follow a surprising interpretation
  of the `fsync()` specification.

* The build system now creates and uses cmd/bup-python which refers to
  the `./configure` selected python.
2016-09-18 23:02:48 +00:00
wiz
55d5719784 Update to 0.27:
This version primarily fixes bugs, but it includes a few new features,
and hopefully will provide a solid base for 0.28, which may finally
include rm/gc support.

Of note since 0.26:

  - Files can be restored sparsely via "restore --sparse".  See
    bup-sparse(1) for the details.  Given that this option is
    completely new and affects the data written, some
    caution/verification may be wise (i.e. there were bugs in some of
    the development revisions that could mangle the output).

  - Duplicity backups can be imported via the *experimental* command
    "bup import-duplicity".  Please exercise caution, and let us know
    if you have any trouble.

  - Tests can be run in parallel now via "make -j check".

As before, the metadata support is somewhat immature, but it seems to
be holding up fairly well.  Though we still need to add better support
for cross-filesystem-type save/restore (which can be too noisy), etc.
2015-04-27 09:17:17 +00:00
wiz
543ac4b08a Update to 0.26:
This release doesn't include anything as significant as the metadata
support added in 0.25, but it has quite a few bug fixes and internal
improvements, in addition to these notable changes:

  - When --meta is specified to the fuse command, instead of generic
    data, the originally saved mode, uid, git, atime, mtime, and ctime
    will be reported for the archive paths.

  - When --browser is specified to the web command, a browser window
    will be opened for the repository.

  - The -x/--xdev/--one-filesystem options now include the mountpoint
    itself in the traversal (matching rsyc, tar, etc.).

  - Empty lines in --exclude-rx-from files will be ignored.
    Previously they would cause all paths to be excluded.

  - The index and restore commands now support --exclude-rx-from.

  - Relative filesystem --excludes like "--exclude bar" should now
    work.  Previously --excludes had to be absolute.

  - The drecurse command now supports --exclude-rx and
    --exclude-rx-from.

  - The --compress option should now work for remote repositories.

  - Streams saved via "bup split" will now show up as a single file
    named "data" at the top level of the VFS, instead of as a subtree
    (i.e. when examined via ftp, ls, and fuse).

  - The ls command now supports -n, -A, -F, --file-type,
    --numeric-ids, and detailed -l options.

  - The save dates are now taken from the corresponding git commit's
    author date, not the committer date.

  - The tornado server, required by the web command, is no longer
    included.  See the README for installation instructions.

Note that the metadata support is still somewhat immature.  For
example, we still need to add better support for cross-filesystem-type
save/restore (which is too noisy), etc.

Please give this release a try and let us know what's broken.  If
you're new to bup, start with the README (and then HACKING if you'd
like to help further):

  https://github.com/bup/bup/blob/master/README.md
  https://github.com/bup/bup/blob/master/HACKING

  http://anonscm.debian.org/gitweb/?p=users/rlb/bup.git;a=blob;f=README.md;hb=refs/heads/master
  http://anonscm.debian.org/gitweb/?p=users/rlb/bup.git;a=blob;f=HACKING;hb=refs/heads/master

And although I probably sound like a broken record -- while we expect
bup to work fairly well, I still don't recommend it as your sole
backup strategy.  I'd still suggest a periodic
tar/rsync/etc. backstop.
2014-09-06 21:29:45 +00:00
wiz
1cf79030f8 Update to 0.25:
This release includes a veritable ton of work, but the biggest change
is probably the addition of real (YMMV) metadata support, including
hardlinks, and the ability to directly save/restore trees without tar
and split/join.  See bup-index(1), bup-save(1), bup-restore(1),
bup-meta(1), bup-xstat(1), and the updated "Using bup" section in the
README.

Note though, that the metadata support really is our first pass, and
there are already things that we know need fixing (i.e. better support
for cross-filesystem-type save/restore (too noisy), etc.).  And check
the "Notes on ..." sections in the README for some platform-specific
limitations.

An incomplete list of other notable changes since 0.24b:

  - bup will no longer create ~/.bup implicitly; "bup init" is
    required.

  - "bup split" now supports a compression-level option (-#).

  - "bup tag" now supports "-f".

  - "bup ls" now supports "-a", "-s", "--human-readable", etc., and
     reports more information.

  - "bup web" now supports "--human-readable".

  - "bup import-rdiff-backup" has been added.

  - "bup cat-file" has been added.

  - The default "/usr" installation prefix can be overridden via PREFIX.

  - Python 2.4 is no longer supported.

And we have at least one (likely minor) known issue:

  - *Very* large (i.e. probably greater than MAX_LONG), or negative
    filesystem timestamps may not always be handled correctly at the
    moment.  We'll fix that soon.  And related -- some of the tests
    may fail on FUSE filesystems.
2013-12-31 11:03:12 +00:00
wiz
e9c8dd46d5 Update to 0.25rc1. Add py-readline dependency for better 'bup ftp' support.
This is the latest stable release, despite its name. Lots of bug fixes
compared to previous one, but no NEWS provided.
2012-09-04 13:43:14 +00:00
wiz
bbf572eafe Install README and design document. Bump PKGREVISION. 2011-05-31 12:01:18 +00:00
wiz
c3854adc14 Initial import of bup-0.24b.
bup is a program that backs things up.  bup has a few advantages
over other backup software:

It uses a rolling checksum algorithm (similar to rsync) to split
large files into chunks. The most useful result of this is you can
backup huge virtual machine (VM) disk images, databases, and XML
files incrementally, even though they're typically all in one huge
file, and not use tons of disk space for multiple versions.

It uses the packfile format from git (the open source version
control system), so you can access the stored data even if you
don't like bup's user interface.

Unlike git, it writes packfiles directly (instead of having a
separate garbage collection / repacking stage) so it's fast even
with gratuitously huge amounts of data. bup's improved index formats
also allow you to track far more filenames than git (millions) and
keep track of far more objects (hundreds or thousands of gigabytes).

Data is "automagically" shared between incremental backups without
having to know which backup is based on which other one - even if
the backups are made from two different computers that don't even
know about each other. You just tell bup to back stuff up, and it
saves only the minimum amount of data needed.

You can back up directly to a remote bup server, without needing
tons of temporary disk space on the computer being backed up.  And
if your backup is interrupted halfway through, the next run will
pick up where you left off. And it's easy to set up a bup server:
just install bup on any machine where you have ssh access.

Bup can use "par2" redundancy to recover corrupted backups even if
your disk has undetected bad sectors.

Even when a backup is incremental, you don't have to worry about
restoring the full backup, then each of the incrementals in turn;
an incremental backup acts as if it's a full backup, it just takes
less disk space.

You can mount your bup repository as a FUSE filesystem and access
the content that way, and even export it over Samba.
2011-05-16 13:52:56 +00:00