summaryrefslogtreecommitdiff
path: root/builtin-diff.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2007-12-09 07:27:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-12-11 05:28:25 (GMT)
commit060610c572b21d00bb09ebbab664c0452c7eac9d (patch)
treef1f9eb782df1482fc39b2f81f4f6205d0d221bdd /builtin-diff.c
parent591aa2536fdbc4090ba8d4ca512d4ee7df4bf05d (diff)
downloadgit-060610c572b21d00bb09ebbab664c0452c7eac9d.zip
git-060610c572b21d00bb09ebbab664c0452c7eac9d.tar.gz
git-060610c572b21d00bb09ebbab664c0452c7eac9d.tar.bz2
git-svn: replace .rev_db with a more space-efficient .rev_map format
Migrations are done automatically on an as-needed basis when new revisions are to be fetched. Stale remote branches do not get migrated, yet. However, unless you set noMetadata or useSvkProps it's safe to just do: find $GIT_DIR/svn -name '.rev_db*' -print0 | xargs rm -f to purge all the old .rev_db files. The new format is a one-way migration and is NOT compatible with old versions of git-svn. This is the replacement for the rev_db format, which was too big and inefficient for large repositories with a lot of sparse history (mainly tags). The format is this: - 24 bytes for every record, * 4 bytes for the integer representing an SVN revision number * 20 bytes representing the sha1 of a git commit - No empty padding records like the old format - new records are written append-only since SVN revision numbers increase monotonically - lookups on SVN revision number are done via a binary search - Piping the file to xxd(1) -c24 is a good way of dumping it for viewing or editing, should the need ever arise. As with .rev_db, these files are disposable unless noMetadata or useSvmProps is set. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-diff.c')
0 files changed, 0 insertions, 0 deletions