summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/increment.py
diff options
context:
space:
mode:
authorben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-03-25 07:51:33 +0000
committerben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-03-25 07:51:33 +0000
commita2da3ed31d63e53e80aaf84e1e8b90a53f44713d (patch)
tree0e0b980419e2a3d317d04c55b27d395f97e4df7a /rdiff-backup/rdiff_backup/increment.py
parentc28f6258d10db6957df8e692c510edd4fb6a36e4 (diff)
downloadrdiff-backup-a2da3ed31d63e53e80aaf84e1e8b90a53f44713d.tar.gz
Added support for gzipped increments
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@23 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/increment.py')
-rw-r--r--rdiff-backup/rdiff_backup/increment.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/rdiff-backup/rdiff_backup/increment.py b/rdiff-backup/rdiff_backup/increment.py
index a290d3c..1bbdd39 100644
--- a/rdiff-backup/rdiff_backup/increment.py
+++ b/rdiff-backup/rdiff_backup/increment.py
@@ -43,14 +43,27 @@ class Inc:
def makesnapshot_action(mirror, incpref):
"""Copy mirror to incfile, since new is quite different"""
- snapshotrp = Inc.get_inc_ext(incpref, "snapshot")
- return Robust.copy_with_attribs_action(mirror, snapshotrp)
+ if (mirror.isreg() and Globals.compression and
+ not Globals.no_compression_regexp.match(mirror.path)):
+ snapshotrp = Inc.get_inc_ext(incpref, "snapshot.gz")
+ return Robust.copy_with_attribs_action(mirror, snapshotrp, 1)
+ else:
+ snapshotrp = Inc.get_inc_ext(incpref, "snapshot")
+ return Robust.copy_with_attribs_action(mirror, snapshotrp, None)
def makediff_action(new, mirror, incpref):
"""Make incfile which is a diff new -> mirror"""
- diff = Inc.get_inc_ext(incpref, "diff")
- return Robust.chain([Rdiff.write_delta_action(new, mirror, diff),
- Robust.copy_attribs_action(mirror, diff)])
+ if (Globals.compression and
+ not Globals.no_compression_regexp.match(mirror.path)):
+ diff = Inc.get_inc_ext(incpref, "diff.gz")
+ return Robust.chain([Rdiff.write_delta_action(new, mirror,
+ diff, 1),
+ Robust.copy_attribs_action(mirror, diff)])
+ else:
+ diff = Inc.get_inc_ext(incpref, "diff")
+ return Robust.chain([Rdiff.write_delta_action(new, mirror,
+ diff, None),
+ Robust.copy_attribs_action(mirror, diff)])
def makedir_action(mirrordir, incpref):
"""Make file indicating directory mirrordir has changed"""