mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
4d9877b4eb
If copy logged in file revision, we report copy for changeset only if file revisions linkrev points back to the changeset in question or both changeset parents contain different file revisions. This fixes extra copies reported when executable bit was changed for previously copied file.
41 lines
622 B
Bash
Executable File
41 lines
622 B
Bash
Executable File
#!/bin/sh
|
|
|
|
cat >> $HGRCPATH <<EOF
|
|
[extensions]
|
|
convert=
|
|
[convert]
|
|
hg.saverev=False
|
|
EOF
|
|
|
|
hg init orig
|
|
cd orig
|
|
|
|
echo foo > foo
|
|
echo bar > bar
|
|
hg ci -qAm 'add foo bar' -d '0 0'
|
|
|
|
echo >> foo
|
|
hg ci -m 'change foo' -d '1 0'
|
|
|
|
hg up -qC 0
|
|
hg copy --after --force foo bar
|
|
hg copy foo baz
|
|
hg ci -m 'make bar and baz copies of foo' -d '2 0'
|
|
|
|
hg merge
|
|
hg ci -m 'merge local copy' -d '3 0'
|
|
|
|
hg up -C 1
|
|
hg merge 2
|
|
hg ci -m 'merge remote copy' -d '4 0'
|
|
|
|
chmod +x baz
|
|
hg ci -m 'mark baz executable' -d '5 0'
|
|
|
|
cd ..
|
|
hg convert --datesort orig new 2>&1 | grep -v 'subversion python bindings could not be loaded'
|
|
cd new
|
|
hg out ../orig
|
|
|
|
true
|