Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-merge1 @ 4492:b79cdb7f0597
patch.diff: avoid calling workingctx().manifest()
Right now, to generate the manifest of the working dir, we have to
perform a full walk of the working dir, which will be very slow,
especially if we're interested in only a small part of it.
Since we use the manifest only to find out the mode of files for git
patches, manually build an execf function to do it.
This should fix issue567.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sun, 03 Jun 2007 14:38:52 -0300 |
parents | ccfe423d3d0a |
children |
line wrap: on
line source
#!/bin/sh cat <<EOF > merge import sys, os print "merging for", os.path.basename(sys.argv[1]) EOF HGMERGE="python ../merge"; export HGMERGE mkdir t cd t hg init echo This is file a1 > a hg add a hg commit -m "commit #0" -d "1000000 0" echo This is file b1 > b hg add b hg commit -m "commit #1" -d "1000000 0" hg update 0 echo This is file c1 > c hg add c hg commit -m "commit #2" -d "1000000 0" echo This is file b1 > b echo %% no merges expected hg merge 1 hg diff --nodates hg status cd ..; rm -r t mkdir t cd t hg init echo This is file a1 > a hg add a hg commit -m "commit #0" -d "1000000 0" echo This is file b1 > b hg add b hg commit -m "commit #1" -d "1000000 0" hg update 0 echo This is file c1 > c hg add c hg commit -m "commit #2" -d "1000000 0" echo This is file b2 > b echo %% merge should fail hg merge 1 echo %% merge of b expected hg merge -f 1 hg diff --nodates hg status cd ..; rm -r t echo %% mkdir t cd t hg init echo This is file a1 > a hg add a hg commit -m "commit #0" -d "1000000 0" echo This is file b1 > b hg add b hg commit -m "commit #1" -d "1000000 0" echo This is file b22 > b hg commit -m "commit #2" -d "1000000 0" hg update 1 echo This is file c1 > c hg add c hg commit -m "commit #3" -d "1000000 0" echo 'Contents of b should be "this is file b1"' cat b echo This is file b22 > b echo %% merge fails hg merge 2 echo %% merge expected! hg merge -f 2 hg diff --nodates hg status cd ..; rm -r t mkdir t cd t hg init echo This is file a1 > a hg add a hg commit -m "commit #0" -d "1000000 0" echo This is file b1 > b hg add b hg commit -m "commit #1" -d "1000000 0" echo This is file b22 > b hg commit -m "commit #2" -d "1000000 0" hg update 1 echo This is file c1 > c hg add c hg commit -m "commit #3" -d "1000000 0" echo This is file b33 > b echo %% merge of b should fail hg merge 2 echo %% merge of b expected hg merge -f 2 hg diff --nodates hg status