##// END OF EJS Templates
scmutil: make shortest() respect disambiguation revset...
scmutil: make shortest() respect disambiguation revset The previous patch would let you use a shorter prefix if the prefix is unique within a configured revset. However, that's not very useful if there's no simple way of knowing what that shorter prefix is. This patch adapts the shortest() template function to use the shorter prefixes for nodes in the configured revset. This is currently extremely slow, because it calculates the revset for each call to shortest(). To make this faster, the next patch will start caching the revset instance. Ideally we'd cache a prefix tree instance instead. Differential Revision: https://phab.mercurial-scm.org/D4038

File last commit:

r36408:34afe92e default
r38879:6f7c9527 default
Show More
test-mq-missingfiles.t
197 lines | 3.4 KiB | text/troff | Tads3Lexer
/ tests / test-mq-missingfiles.t
Adrian Buehlmann
tests: unify some of test-mq*
r12324
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue835: qpush fails immediately when patching a missing file, but
remaining added files are still created empty which will trick a
future qrefresh.
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ cat > writelines.py <<EOF
> import sys
> path = sys.argv[1]
> args = sys.argv[2:]
> assert (len(args) % 2) == 0
>
Pulkit Goyal
py3: replace file() with open() in test-mq-missingfiles.t...
r36039 > f = open(path, 'wb')
Pulkit Goyal
py3: use '//' for integer divisions...
r36408 > for i in range(len(args) // 2):
Adrian Buehlmann
tests: unify some of test-mq*
r12324 > count, s = args[2*i:2*i+2]
> count = int(count)
> s = s.decode('string_escape')
> f.write(s*count)
> f.close()
> EOF
$ echo "[extensions]" >> $HGRCPATH
$ echo "mq=" >> $HGRCPATH
$ hg init normal
$ cd normal
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writelines.py b 10 'a\n'
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ hg ci -Am addb
adding b
$ echo a > a
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writelines.py b 2 'b\n' 10 'a\n' 2 'c\n'
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ echo c > c
$ hg add a c
$ hg qnew -f changeb
$ hg qpop
popping changeb
patch queue now empty
$ hg rm b
$ hg ci -Am rmb
Push patch with missing target:
$ hg qpush
applying changeb
unable to find 'b' for patching
liscju
import: report directory-relative paths in error messages (issue5224)...
r29900 (use '--prefix' to apply patch relative to the current directory)
Adrian Buehlmann
tests: unify some of test-mq*
r12324 2 out of 2 hunks FAILED -- saving rejects to file b.rej
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh changeb
Adrian Buehlmann
tests: unify some of test-mq*
r12324 [2]
Display added files:
$ cat a
a
$ cat c
c
Display rejections:
$ cat b.rej
--- b
+++ b
@@ -1,3 +1,5 @@
+b
+b
a
a
a
@@ -8,3 +10,5 @@
a
a
a
+c
+c
Patrick Mezard
patch: keep patching after missing copy source (issue3480)...
r16813 Test missing renamed file
$ hg qpop
popping changeb
patch queue now empty
$ hg up -qC 0
$ echo a > a
$ hg mv b bb
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writelines.py bb 2 'b\n' 10 'a\n' 2 'c\n'
Patrick Mezard
patch: keep patching after missing copy source (issue3480)...
r16813 $ echo c > c
$ hg add a c
$ hg qnew changebb
$ hg qpop
popping changebb
patch queue now empty
$ hg up -qC 1
$ hg qpush
applying changebb
patching file bb
Hunk #1 FAILED at 0
Hunk #2 FAILED at 7
2 out of 2 hunks FAILED -- saving rejects to file bb.rej
b not tracked!
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh changebb
Patrick Mezard
patch: keep patching after missing copy source (issue3480)...
r16813 [2]
$ cat a
a
$ cat c
c
$ cat bb.rej
--- bb
+++ bb
@@ -1,3 +1,5 @@
+b
+b
a
a
a
@@ -8,3 +10,5 @@
a
a
a
+c
+c
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ cd ..
$ echo "[diff]" >> $HGRCPATH
$ echo "git=1" >> $HGRCPATH
$ hg init git
$ cd git
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writelines.py b 1 '\x00'
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ hg ci -Am addb
adding b
$ echo a > a
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writelines.py b 1 '\x01' 1 '\x00'
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ echo c > c
$ hg add a c
$ hg qnew -f changeb
$ hg qpop
popping changeb
patch queue now empty
$ hg rm b
$ hg ci -Am rmb
Push git patch with missing target:
$ hg qpush
applying changeb
unable to find 'b' for patching
liscju
import: report directory-relative paths in error messages (issue5224)...
r29900 (use '--prefix' to apply patch relative to the current directory)
Adrian Buehlmann
tests: unify some of test-mq*
r12324 1 out of 1 hunks FAILED -- saving rejects to file b.rej
patch failed, unable to continue (try -v)
Yuya Nishihara
commands: say "working directory" in full spelling
r24365 patch failed, rejects left in working directory
timeless@mozdev.org
mq: consistently use qrefresh
r26780 errors during apply, please fix and qrefresh changeb
Adrian Buehlmann
tests: unify some of test-mq*
r12324 [2]
$ hg st
? b.rej
Display added files:
$ cat a
a
$ cat c
c
Display rejections:
$ cat b.rej
--- b
+++ b
GIT binary patch
literal 2
Jc${No0000400IC2
$ cd ..
Test push creating directory during git copy or rename:
$ hg init missingdir
$ cd missingdir
$ echo a > a
$ hg ci -Am adda
adding a
$ mkdir d
$ hg copy a d/a2
$ hg mv a d/a
$ hg qnew -g -f patch
$ hg qpop
popping patch
patch queue now empty
$ hg qpush
applying patch
now at: patch
$ cd ..