repo.changes: fix duplicate changes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
repo.changes: fix duplicate changes
We need to discard the changed and added lists from dirstate.changes
before adding to them when comparing manifests. Otherwise something
that changed from rev->parent->working dir will appear twice.
Bug spotted by Goffredo Baroncelli <kreijack@libero.it>
manifest hash: 64c335e2fe6df6d1ce29d0903f16821c7566768f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxcT3ywK+sNU5EO8RAivLAJ4gqbWfMnt+BdyGac/ZGduy2KbNegCgncPV
D4ay6Qw9sIodEPjRebvk3GE=
=AZd2
-----END PGP SIGNATURE-----
Mercurial git BK (*)
storage revlog delta compressed revisions SCCS weave
storage naming by filename by revision hash by filename
merge file DAGs changeset DAG file DAGs?
consistency SHA1 SHA1 CRC
signable? yes yes no
retrieve file tip O(1) O(1) O(revs)
add rev O(1) O(1) O(revs)
find prev file rev O(1) O(changesets) O(revs)
annotate file O(revs) O(changesets) O(revs)
find file changeset O(1) O(changesets) ?
checkout O(files) O(files) O(revs)?
commit O(changes) O(changes) ?
6 patches/s 6 patches/s slow
diff working dir O(changes) O(changes) ?
< 1s < 1s ?
tree diff revs O(changes) O(changes) ?
< 1s < 1s ?
hardlink clone O(files) O(revisions) O(files)
find remote csets O(log new) rsync: O(revisions) ?
git-http: O(changesets)
pull remote csets O(patch) O(modified files) O(patch)
repo growth O(patch) O(revisions) O(patch)
kernel history 300M 3.5G? 250M?
lines of code 2500 6500 (+ cogito) ??
* I've never used BK so this is just guesses