##// END OF EJS Templates
patch: don't separate \r and \n when colorizing diff output...
patch: don't separate \r and \n when colorizing diff output When displaying diffs, \r at the end of a line is treated as trailing whitespace. This causes an ANSI escape code to be inserted between \r and \n. Some programs, such as less since version 530 (maybe earlier, but at least not version 487) displays ^M when it encounters a lone \r. This causes a lot of noise in diff output on Windows, where \r\n is used to terminate lines. We avoid that by treating both \n and \r\n as end of line when considering trailing whitespace.

File last commit:

r32940:75be1499 default
r38649:e1987261 default
Show More
test-addremove-similar.t
174 lines | 3.8 KiB | text/troff | Tads3Lexer
/ tests / test-addremove-similar.t
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg init rep; cd rep
$ touch empty-file
timeless
tests: test-addremove-similar.t use print() for py3
r29174 $ $PYTHON -c 'for x in range(10000): print(x)' > large-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove
adding empty-file
adding large-file
$ hg commit -m A
$ rm large-file empty-file
timeless
tests: test-addremove-similar.t use print() for py3
r29174 $ $PYTHON -c 'for x in range(10,10000): print(x)' > another-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove -s50
adding another-file
removing empty-file
removing large-file
recording removal of large-file as rename to another-file (99% similar)
$ hg commit -m B
comparing two empty files caused ZeroDivisionError in the past
$ hg update -C 0
2 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ rm empty-file
$ touch another-empty-file
$ hg addremove -s50
adding another-empty-file
removing empty-file
$ cd ..
$ hg init rep2; cd rep2
timeless
tests: test-addremove-similar.t use print() for py3
r29174 $ $PYTHON -c 'for x in range(10000): print(x)' > large-file
$ $PYTHON -c 'for x in range(50): print(x)' > tiny-file
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg addremove
adding large-file
adding tiny-file
$ hg commit -m A
timeless
tests: test-addremove-similar.t use print() for py3
r29174 $ $PYTHON -c 'for x in range(70): print(x)' > small-file
Martin Geisler
tests: unify test-addremove-similar
r11851 $ rm tiny-file
$ rm large-file
$ hg addremove -s50
removing large-file
adding small-file
removing tiny-file
recording removal of tiny-file as rename to small-file (82% similar)
$ hg commit -m B
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 should be sorted by path for stable result
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ for i in `$PYTHON $TESTDIR/seq.py 0 9`; do
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 > cp small-file $i
> done
$ rm small-file
$ hg addremove
adding 0
adding 1
adding 2
adding 3
adding 4
adding 5
adding 6
adding 7
adding 8
adding 9
removing small-file
recording removal of small-file as rename to 0 (100% similar)
recording removal of small-file as rename to 1 (100% similar)
recording removal of small-file as rename to 2 (100% similar)
recording removal of small-file as rename to 3 (100% similar)
recording removal of small-file as rename to 4 (100% similar)
recording removal of small-file as rename to 5 (100% similar)
recording removal of small-file as rename to 6 (100% similar)
recording removal of small-file as rename to 7 (100% similar)
recording removal of small-file as rename to 8 (100% similar)
recording removal of small-file as rename to 9 (100% similar)
$ hg commit -m '10 same files'
pick one from many identical files
$ cp 0 a
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ rm `$PYTHON $TESTDIR/seq.py 0 9`
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 $ hg addremove
removing 0
removing 1
removing 2
removing 3
removing 4
removing 5
removing 6
removing 7
removing 8
removing 9
adding a
Yuya Nishihara
similar: take the first match instead of the last...
r31583 recording removal of 0 as rename to a (100% similar)
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 $ hg revert -aq
pick one from many similar files
$ cp 0 a
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ for i in `$PYTHON $TESTDIR/seq.py 0 9`; do
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 > echo $i >> $i
> done
$ hg commit -m 'make them slightly different'
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ rm `$PYTHON $TESTDIR/seq.py 0 9`
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 $ hg addremove -s50
removing 0
removing 1
removing 2
removing 3
removing 4
removing 5
removing 6
removing 7
removing 8
removing 9
adding a
Yuya Nishihara
similar: take the first match instead of the last...
r31583 recording removal of 0 as rename to a (99% similar)
Yuya Nishihara
similar: sort files not by object id but by path for stable result...
r31579 $ hg commit -m 'always the same file should be selected'
Martin Geisler
tests: unify test-addremove-similar
r11851 should all fail
$ hg addremove -s foo
abort: similarity must be a number
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg addremove -s -1
abort: similarity must be between 0 and 100
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg addremove -s 1e6
abort: similarity must be between 0 and 100
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-addremove-similar
r11851
$ cd ..
Pierre-Yves David
error: get Abort from 'error' instead of 'util'...
r26587 Issue1527: repeated addremove causes Abort
Martin Geisler
tests: unify test-addremove-similar
r11851
$ hg init rep3; cd rep3
$ mkdir d
$ echo a > d/a
$ hg add d/a
$ hg commit -m 1
$ mv d/a d/b
$ hg addremove -s80
removing d/a
adding d/b
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 recording removal of d/a as rename to d/b (100% similar)
Martin Geisler
tests: unify test-addremove-similar
r11851 $ hg debugstate
r 0 0 1970-01-01 00:00:00 d/a
a 0 -1 unset d/b
copy: d/a -> d/b
$ mv d/b c
no copies found here (since the target isn't in d
$ hg addremove -s80 d
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 removing d/b
Martin Geisler
tests: unify test-addremove-similar
r11851
copies here
$ hg addremove -s80
adding c
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 recording removal of d/a as rename to c (100% similar)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..