ListIncrementChanges

From RdiffBackupWiki

Jump to: navigation, search

I suggest that rdiff-backup gets a new option, '--show-increment-changes'.

What this would do is show all the files that changed in all increments, or optionally a range of increments. Also it would show the size of each increment, and how much each file counted towards the size of the increment.

The idea would be similar to how source control software (eg git or subversion) list changed files for each commit, but with additional information more relevant to rdiff-backup.

It would also make sense to re-use the existing filter options (--max-file-size, --min-file-size, --exclude, --include, etc) to allow the user to limit the number of files output per increment. If the filter options are used then the number of excluded files (and the size of the excluded data) should also be output for each increment so the user can get an idea of what is not being listed.

Here is an example of what would be displayed when using the --list-increment-changes option:

# rdiff-backup --list-increment-changes .

-------------------------------------------------------
Time: Tue Aug  7 00:00:03 2007
Size: 100 KB

<other rdiff-backup stats can go here>

50 KB M test/file1.dat
20 KB M test/file2.dat
10 KB A test/file3.dat
20 KB D test/file4.dat
-------------------------------------------------------
Mon Aug  6 15:44:47 2007
Size: 100 MB

<other rdiff-backup stats can go here>

50 MB D test/file5.dat
50 MB D test/file6.dat

-------------------------------------------------------
<snip>

For reference, here is an example of SVN and git output:

  • Subversion example:
svn log -v svn://192.168.0.18/rr

------------------------------------------------------------------------
r1661 | david | 2007-05-05 09:13:18 +0200 (Sat, 05 May 2007) | 4 lines
Changed paths:
   M /dev/bash_common/trunk/bash-common

bash-common:
 - Version changed from 1.4.8 to 1.4.9
 - detect_pg_paths(): Postgresql 7.5 is really 7.4 under the hood
   (config & data file locations)
------------------------------------------------------------------------
r1660 | david | 2007-05-04 19:09:45 +0200 (Fri, 04 May 2007) | 4 lines
Changed paths:
   M /dev/bash_common/trunk/bash-common

bash-common:
 - Version changed from 1.4.7 to 1.4.8
 - exit_error() now shows the version of correct package
   (instead of rrmmcache)
------------------------------------------------------------------------
r1659 | david | 2007-05-04 18:57:19 +0200 (Fri, 04 May 2007) | 11 lines
Changed paths:
   M /debian/releases/development/packages/instore/common/rrsoftware-updates-client/data/DEBIAN/control
   M /debian/releases/development/packages/instore/common/rrsoftware-updates-client/data/usr/lib/rrsoftware-updates-client/u
pgrade-postgresql
   M /debian/releases/development/packages/instore/common/rrsoftware-updates-client/data/usr/sbin/rrsoftware-updates-client

rrsoftware-updates-client:
 - Version changed from 1.100.8 to 1.100.9
 - Postgresql upgrade logic:
   - Removed libpq4 from the list of packages installed/upgraded
   - Added logic to download packages in advance that will be installed
     later when purgin postgresql
 - Added logic to skip rrschedule-db's postinst logic (ie, upgrade db to latest version)
   - Logic has problems running on postgresql 7.2 (eg, can't drop columns)
   - This change was necessary because we now upgrade postgresql after updating the other
     packages (which in turn was necessary because of dependancy issues with older RR package
     versions)

<snip>
  • Git example:
# git-whatchanged

commit df562f85016abbc5f6291c4f4459aeca16f8d76c
Author: David <Removed e-mail address>
Date:   Tue Jun 19 16:14:08 2007 +0200

    3.62.4: Updates to the schedule-fixing logic

    compare_constraints.py now uses pg_trigger instead of pg_constraint. This is
    because some (older) constraints are implemented only by triggers (ie, no
    explicit constraint).

    Previously this was fixed by calling the "fix triggers" script first. But that
    had problems at some stores due to bad constraints...

:100644 100644 70c886e... 449611f... M  data/DEBIAN/control
:100755 100755 fb87ede... 0e090aa... M  data/usr/lib/rrschedule-db/install/fix_schedule.sh.d/compare_constraints.py
:100755 100755 ce7c104... f132493... M  data/usr/lib/rrschedule-db/install/fix_schedule.sh.d/fix_orphan_fkey_triggers.py

commit 054cd84cd4b1fd3c88f590e137b9622c8a4585b9
Author: David <Removed e-mail address>
Date:   Tue Jun 12 10:52:39 2007 +0200

    62.3: Added logic to help add missing "tlkuser_group_advert_pkey" index

:100644 100644 dbc3e19... 70c886e... M  data/DEBIAN/control
:100755 100755 d6cc883... 0c77baf... M  data/usr/lib/rrschedule-db/install/fix_schedule.sh.d/compare_schedule_against_ref.sh

<snip>
Personal tools