Bzr development stopped
Stephen J. Turnbull
stephen at xemacs.org
Sun Nov 25 08:58:45 UTC 2012
Chris Hecker writes:
> > FWIW, git and bzr deduplicate storing renamed files in roughly the
> > same way. In both VCSes renaming a file generally shouldn't cause
> > that files contents to be stored more than once.
>
> I didn't test git because back when I tested this git was terrible on
> windows, but hg duplicated the file in the repo. I thought renames
> weren't "first class" in git repos, so I assumed it was the same.
No, duplication is not a matter of lacking "first class" support for
renames, it's related to the underlying content storage.
I would suppose in Mercurial it's not possible separate the name of a
file from its history, because a file's history is contained in a file
using the same base name but a different extension (and kept under the
.hg subdirectory). In git names are pointers to blobs or directory
records, and such content is basically anonymous. Several name
records can point to the same content, so "pure" renames or copies of
files simply add new links, similar to hardlinks in a POSIX file
system. Renames and copies are detected by diffing the directories.
More information about the bazaar
mailing list