Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-transplant.out @ 5378:8a2915f57dfc
convert: add a mode where mercurial_sink skips empty revisions.
The getchanges function of some converter_source classes can return
some false positives. I.e. they sometimes claim that a file "foo"
was changed in some revision, even though its contents are still the
same.
convert_svn is particularly bad, but I think this can also happen with
convert_cvs and, at least in theory, with mercurial_source.
For regular conversions this is not really a problem - as long as
getfile returns the right contents, we'll get a converted revision
with the right contents. But when we use --filemap, this could lead
to superfluous revisions being converted.
Instead of fixing every converter_source, I decided to change
mercurial_sink to work around this problem.
When --filemap is used, we're interested only in revisions that touch
some specific files. If a revision doesn't change any of these files,
then we're not interested in it (at least for revisions with a single
parent; merges are special).
For mercurial_sink, we abuse this property and rollback a commit if
the manifest text hasn't changed. This avoids duplicating the logic
from localrepo.filecommit to detect unchanged files.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 04 Oct 2007 23:21:37 -0300 |
parents | 27414950abf5 |
children |
line wrap: on
line source
adding r1 adding r2 0 files updated, 0 files merged, 1 files removed, 0 files unresolved adding b1 adding b2 adding b3 4 b3 3 b2 2 0:17ab29e464c6 b1 1 r2 0 r1 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 3 files removed, 0 files unresolved % rebase b onto r1 applying 37a1297eb21b 37a1297eb21b transplanted to e234d668f844 applying 722f4667af76 722f4667af76 transplanted to 539f377d78df applying a53251cdf717 a53251cdf717 transplanted to ffd6818a3975 7 b3 6 b2 5 1:d11e3596cc1a b1 4 b3 3 b2 2 0:17ab29e464c6 b1 1 r2 0 r1 4 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 3 files removed, 0 files unresolved % rebase b onto r1, skipping b2 applying 37a1297eb21b 37a1297eb21b transplanted to e234d668f844 applying a53251cdf717 a53251cdf717 transplanted to 7275fda4d04f 6 b3 5 1:d11e3596cc1a b1 4 b3 3 b2 2 0:17ab29e464c6 b1 1 r2 0 r1 % remote transplant requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files 2 files updated, 0 files merged, 0 files removed, 0 files unresolved searching for changes applying 37a1297eb21b 37a1297eb21b transplanted to c19cf0ccb069 applying a53251cdf717 a53251cdf717 transplanted to f7fe5bf98525 3 b3 (transplanted from a53251cdf717679d1907b289f991534be05c997a) 2 b1 (transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21) 1 r2 0 r1 % skip previous transplants searching for changes applying 722f4667af76 722f4667af76 transplanted to 47156cd86c0b 4 b2 3 b3 (transplanted from a53251cdf717679d1907b289f991534be05c997a) 2 b1 (transplanted from 37a1297eb21b3ef5c5d2ffac22121a0988ed9f21) 1 r2 0 r1 % skip local changes transplanted to the source adding b4 4 files updated, 0 files merged, 0 files removed, 0 files unresolved searching for changes applying 4333daefcb15 4333daefcb15 transplanted to 5f42c04e07cc % remote transplant with pull requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 1 files updated, 0 files merged, 0 files removed, 0 files unresolved searching for changes searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files applying a53251cdf717 a53251cdf717 transplanted to 8d9279348abb 2 b3 1 b1 0 r1 % transplant --continue adding foo adding toremove adding added removing toremove adding bar 2 files updated, 0 files merged, 2 files removed, 0 files unresolved applying a1e30dd1b8e7 patching file foo Hunk #1 FAILED at 0 1 out of 1 hunk FAILED -- saving rejects to file foo.rej patch failed to apply abort: Fix up the merge and run hg transplant --continue 1 files updated, 0 files merged, 1 files removed, 0 files unresolved applying a1e30dd1b8e7 patching file foo Hunk #1 FAILED at 0 1 out of 1 hunk FAILED -- saving rejects to file foo.rej patch failed to apply abort: Fix up the merge and run hg transplant --continue a1e30dd1b8e7 transplanted as f1563cf27039 skipping already applied revision 1:a1e30dd1b8e7 applying 1739ac5f6139 1739ac5f6139 transplanted to d649c221319f applying 0282d5fbbe02 0282d5fbbe02 transplanted to 77418277ccb3 added bar foo