##// END OF EJS Templates
findrenames: Optimise "addremove -s100" by matching files by their SHA1 hashes....
findrenames: Optimise "addremove -s100" by matching files by their SHA1 hashes. We speed up 'findrenames' for the usecase when a user specifies they want a similarity of 100% by matching files by their exact SHA1 hash value. This reduces the number of comparisons required to find exact matches from O(n^2) to O(n). While it would be nice if we could just use mercurial's pre-calculated SHA1 hash for existing files, this hash includes the file's ancestor information making it unsuitable for our purposes. Instead, we calculate the hash of old content from scratch. The following benchmarks were taken on the current head of crew: addremove 100% similarity: rm -rf *; hg up -C; mv tests tests.new hg --time addremove -s100 --dry-run before: real 176.350 secs (user 128.890+0.000 sys 47.430+0.000) after: real 2.130 secs (user 1.890+0.000 sys 0.240+0.000) addremove 75% similarity: rm -rf *; hg up -C; mv tests tests.new; \ for i in tests.new/*; do echo x >> $i; done hg --time addremove -s75 --dry-run before: real 264.560 secs (user 215.130+0.000 sys 49.410+0.000) after: real 218.710 secs (user 172.790+0.000 sys 45.870+0.000)

File last commit:

r10960:ca739acf default
r11060:e6df0177 default
Show More
test-log
180 lines | 2.8 KiB | text/plain | TextLexer
Vadim Gelfer
log: add -f/--follow option, to follow rename/copy
r2741 #!/bin/sh
hg init a
cd a
echo a > a
hg ci -Ama -d '1 0'
hg cp a b
hg ci -mb -d '2 0'
mkdir dir
hg mv b dir
hg ci -mc -d '3 0'
hg mv a b
Matt Mackall
Fix log regression where log -p file showed diffs for other files
r3837 echo a > d
hg add d
Vadim Gelfer
log: add -f/--follow option, to follow rename/copy
r2741 hg ci -md -d '4 0'
hg mv dir/b e
hg ci -me -d '5 0'
hg log a
echo % -f, directory
hg log -f dir
echo % -f, but no args
hg log -f
echo % one rename
hg log -vf a
echo % many renames
hg log -vf e
Brendan Cully
Test suite for log --follow and --follow-first.
r2785
Patrick Mezard
templatekw: change {file_copies} behaviour, add {file_copies_switch}...
r10060 echo '% log copies with --copies'
Patrick Mezard
Make {file_copies} usable as a --template key...
r10061 hg log -vC --template '{rev} {file_copies}\n'
echo '% log copies switch without --copies, with old filecopy template'
Patrick Mezard
templatekw: change {file_copies} behaviour, add {file_copies_switch}...
r10060 hg log -v --template '{rev} {file_copies_switch%filecopy}\n'
echo '% log copies switch with --copies'
Patrick Mezard
Make {file_copies} usable as a --template key...
r10061 hg log -vC --template '{rev} {file_copies_switch}\n'
Brendan Cully
Show copies in hg log....
r3197
Greg Ward
Fix default style so 'log --copies' has a start and an end.
r10776 echo '% log copies with hardcoded style and with --style=default'
hg log -vC -r4
hg log -vC -r4 --style=default
Brendan Cully
Test case for log --copies on non-linear manifests (issue391)
r3383 echo % log copies, non-linear manifest
hg up -C 3
hg mv dir/b e
echo foo > foo
hg ci -Ame2 -d '6 0'
Patrick Mezard
Make {file_copies} usable as a --template key...
r10061 hg log -v --template '{rev} {file_copies}\n' -r 5
Brendan Cully
Test case for log --copies on non-linear manifests (issue391)
r3383
Maxim Dounin
Fix copies reporting in log and convert....
r5811 echo % log copies, execute bit set
chmod +x e
hg ci -me3 -d '7 0'
Patrick Mezard
Make {file_copies} usable as a --template key...
r10061 hg log -v --template '{rev} {file_copies}\n' -r 6
Maxim Dounin
Fix copies reporting in log and convert....
r5811
Matt Mackall
Fix log regression where log -p file showed diffs for other files
r3837 echo '% log -p d'
hg log -pv d
Brendan Cully
Test suite for log --follow and --follow-first.
r2785 # log --follow tests
hg init ../follow
cd ../follow
Thomas Arendsen Hein
Issue a warning if "-r ." is used with two working directory parents....
r4510
Brendan Cully
Test suite for log --follow and --follow-first.
r2785 echo base > base
hg ci -Ambase -d '1 0'
echo r1 >> base
hg ci -Amr1 -d '1 0'
echo r2 >> base
hg ci -Amr2 -d '1 0'
hg up -C 1
echo b1 > b1
hg ci -Amb1 -d '1 0'
echo % log -f
hg log -f
hg up -C 0
echo b2 > b2
hg ci -Amb2 -d '1 0'
echo % log -f -r 1:tip
hg log -f -r 1:tip
hg up -C 3
hg merge tip
Thomas Arendsen Hein
Issue a warning if "-r ." is used with two working directory parents....
r4510
echo % log -r . with two parents
hg log -r .
Brendan Cully
Test suite for log --follow and --follow-first.
r2785 hg ci -mm12 -d '1 0'
Thomas Arendsen Hein
Issue a warning if "-r ." is used with two working directory parents....
r4510 echo % log -r . with one parent
hg log -r .
Brendan Cully
Test suite for log --follow and --follow-first.
r2785 echo postm >> b1
hg ci -Amb1.1 -d'1 0'
echo % log --follow-first
hg log --follow-first
Brendan Cully
Test for log --prune.
r2901
echo % log -P 2
hg log -P 2
Alexis S. L. Carvalho
fix hg log -r ''
r3718
Jim Correia
add --git option to commands supporting --patch (log, incoming, history, tip)...
r7762 echo '% log -r tip -p --git'
hg log -r tip -p --git
Alexis S. L. Carvalho
fix hg log -r ''
r3718 echo '% log -r ""'
hg log -r ''
Sune Foldager
provide nicer feedback when an unknown node id is passed to a command...
r7062 echo '% log -r <some unknown node id>'
hg log -r 1000000000000000000000000000000000000000
Dirkjan Ochtman
log: fix traceback for log -k caused by 1ef630452e0b (issue1805)
r9373 echo '% log -k r1'
hg log -k r1
Christian Ebert
log: prevent negative date range from displaying entire log (issue1805)
r9421 echo '% log -d -1'
hg log -d -1
Brodie Rao
color: colorize based on output labels instead of parsing output...
r10826 echo '% log -p -l2 --color=always'
hg --config extensions.color= log -p -l2 --color=always
Henrik Stuart
log: fix broken multiple user search...
r8020 cd ..
hg init usertest
cd usertest
echo a > a
hg ci -A -m "a" -u "User One <user1@example.org>"
echo b > b
hg ci -A -m "b" -u "User Two <user2@example.org>"
hg log -u "User One <user1@example.org>"
hg log -u "user1" -u "user2"
hg log -u "user3"
Steve Losh
commands: Add 'hg log --branch' and deprecate 'hg log --only-branch'...
r10957 cd ..
hg init branches
cd branches
echo a > a
hg ci -A -m "commit on default"
hg branch test
echo b > b
hg ci -A -m "commit on test"
hg up default
echo c > c
hg ci -A -m "commit on default"
hg up test
echo c > c
hg ci -A -m "commit on test"
echo '% log -b default'
hg log -b default
echo '% log -b test'
hg log -b test
echo '% log -b dummy'
hg log -b dummy
Steve Losh
commands: add more robust support for 'hg log -b' (issue2078)...
r10960 echo '% log -b .'
hg log -b .
Steve Losh
commands: Add 'hg log --branch' and deprecate 'hg log --only-branch'...
r10957 echo '% log -b default -b test'
hg log -b default -b test
Steve Losh
commands: add more robust support for 'hg log -b' (issue2078)...
r10960 echo '% log -b default -b .'
hg log -b default -b .
echo '% log -b . -b test'
hg log -b . -b test
echo '% log -b 2'
hg log -b 2
Alexis S. L. Carvalho
fix hg log -r ''
r3718 exit 0