UnicodeDecodeError('unicodeescape', b'--- c:/hgdev/src/tests/test-alias.t\n+++ c:/hgdev/src/tests/test-alias.t.err\n@@ -86,10 +86,11 @@\n \n This is my documented alias for init.\n \n- defined by: * (glob)\n- */* (glob) (?)\n- */* (glob) (?)\n- */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ defined by:\n+ C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\child206\\.hgrc:22\n \n options:\n \n@@ -107,10 +108,11 @@\n \n This is my alias with only doc.\n \n- defined by: * (glob)\n- */* (glob) (?)\n- */* (glob) (?)\n- */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ defined by:\n+ C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\child206\\.hgrc:25\n \n options ([+] can be repeated):\n \n@@ -171,10 +173,11 @@\n \n Returns 0 on success.\n \n- defined by: * (glob)\n- */* (glob) (?)\n- */* (glob) (?)\n- */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ */* (glob) (?)\n+ defined by:\n+ C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\child206\\.hgrc:28\n \n options ([+] can be repeated):\n \n', 297, 299, 'truncated \\UXXXXXXXX escape') decoding diff, sorry
test-arbitraryfilectx.t
--- c:/hgdev/src/tests/test-arbitraryfilectx.t
+++ c:/hgdev/src/tests/test-arbitraryfilectx.t.err
@@ -88,7 +88,7 @@
This comparison should also return False, since A and sym_A are substantially
the same in the eyes of ``filectx.cmp``, which looks at data only.
$ hg eval "context.arbitraryfilectx(b'real_A', repo).cmp(repo[None][b'sym_A'])"
- False (no-eol)
+ True (no-eol)
A naive use of filecmp on those two would wrongly return True, since it follows
the symlink to "A", which has different contents.
test-archive-symlinks.t
--- c:/hgdev/src/tests/test-archive-symlinks.t
+++ c:/hgdev/src/tests/test-archive-symlinks.t.err
@@ -5,38 +5,69 @@
$ hg init repo
$ cd repo
$ ln -s nothing dangling
+ ln: creating symbolic link `dangling' to `nothing': $ENOENT$
+ [1]
avoid tar warnings about old timestamp
$ hg ci -d '2000-01-01 00:00:00 +0000' -qAm 'add symlink'
+ [1]
$ hg archive -t files ../archive
+ abort: no working directory: please specify a revision
+ [255]
$ hg archive -t tar -p tar ../archive.tar
+ abort: no working directory: please specify a revision
+ [255]
$ hg archive -t zip -p zip ../archive.zip
+ abort: no working directory: please specify a revision
+ [255]
files
$ cd "$origdir"
$ cd archive
+ $TESTTMP.sh: line 22: cd: archive: $ENOENT$
+ [1]
$ readlink.py dangling
- dangling -> nothing
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'dangling'
(esc)
+ [1]
tar
$ cd "$origdir"
$ tar xf archive.tar
+ tar: archive.tar: Cannot open: $ENOENT$
+ tar: Error is not recoverable: exiting now
+ [2]
$ cd tar
+ $TESTTMP.sh: line 30: cd: tar: $ENOENT$
+ [1]
$ readlink.py dangling
- dangling -> nothing
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'dangling'
(esc)
+ [1]
#if unziplinks
zip
$ cd "$origdir"
$ unzip archive.zip > /dev/null 2>&1
+ [9]
$ cd zip
+ $TESTTMP.sh: line 38: cd: zip: $ENOENT$
+ [1]
$ readlink.py dangling
- dangling -> nothing
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'dangling'
(esc)
+ [1]
#endif
$ cd ..
test-audit-path.t
--- c:/hgdev/src/tests/test-audit-path.t
+++ c:/hgdev/src/tests/test-audit-path.t.err
@@ -21,15 +21,16 @@
$ ln -s a b
$ echo b > a/b
$ hg add b/b
- abort: path 'b/b' traverses symbolic link 'b'
- [255]
+ b/b: $ENOENT$
+ [1]
$ hg add b
+ adding b/a
should still fail - maybe
$ hg add b/b
- abort: path 'b/b' traverses symbolic link 'b'
- [255]
+ b/b: $ENOENT$
+ [1]
$ hg commit -m 'add symlink b'
@@ -54,21 +55,18 @@
$ hg cat -r "desc(directory)" b/a
c
$ hg cat -r "desc(symlink)" b/a
- b/a: no such file in rev bc151a1f53bd
- [1]
+ a
Test that hg cat does not do anything wrong the working copy has 'b' as a symlink (issue4749)
$ hg up 'desc(symlink)'
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg cat b/a
- b/a: no such file in rev bc151a1f53bd
- [1]
+ a
$ hg cat -r "desc(directory)" b/a
c
$ hg cat -r "desc(symlink)" b/a
- b/a: no such file in rev bc151a1f53bd
- [1]
+ a
#endif
@@ -108,7 +106,7 @@
back/test
#if symlink
$ hg update -Cr2
- abort: path 'back/test' traverses symbolic link 'back'
+ abort: $TESTTMP argetack/test: $ENOTDIR$
[255]
#else
('back' will be a file and cause some other system specific error)
@@ -153,15 +151,16 @@
$ hg commit -qAm base
$ ln -s ../merge-symlink-out a
$ hg commit -qAm 'symlink a -> ../merge-symlink-out'
+ [1]
$ hg up -q 0
$ mkdir a
+ mkdir: cannot create directory `a': File exists
+ [1]
$ touch a/poisoned
$ hg commit -qAm 'file a/poisoned'
$ hg log -G -T '{rev}: {desc}
'
- @ 2: file a/poisoned
+ @ 1: file a/poisoned
|
- | o 1: symlink a -> ../merge-symlink-out
- |/
o 0: base
@@ -169,16 +168,17 @@
$ hg up -qC 1
$ hg merge 2
- abort: path 'a/poisoned' traverses symbolic link 'a'
+ abort: unknown revision '2'!
[255]
try rebase onto other revision: cache of audited paths should be discarded,
and the rebase should fail (issue5628)
$ hg up -qC 2
+ abort: unknown revision '2'!
+ [255]
$ hg rebase -s 2 -d 1 --config extensions.rebase=
- rebasing 2:e73c21d6b244 "file a/poisoned" (tip)
- abort: path 'a/poisoned' traverses symbolic link 'a'
+ abort: unknown revision '2'!
[255]
$ ls ../merge-symlink-out
@@ -192,26 +192,33 @@
$ cd update-symlink
$ ln -s ../update-symlink-out a
$ hg commit -qAm 'symlink a -> ../update-symlink-out'
+ [1]
$ hg rm a
+ not removing a: no tracked files
+ [1]
$ mkdir a && touch a/b
+ mkdir: cannot create directory `a': File exists
+ [1]
$ hg ci -qAm 'file a/b' a/b
+ a/b: $ENOENT$
+ abort: failed to mark all new/missing files as added/removed
+ [255]
$ hg up -qC 0
$ hg rm a
+ not removing a: no tracked files
+ [1]
$ mkdir a && touch a/c
+ mkdir: cannot create directory `a': File exists
+ [1]
$ hg ci -qAm 'rm a, file a/c'
+ [1]
$ hg log -G -T '{rev}: {desc}
'
- @ 2: rm a, file a/c
- |
- | o 1: file a/b
- |/
- o 0: symlink a -> ../update-symlink-out
-
try linear update where symlink already exists:
$ hg up -qC 0
$ hg up 1
- abort: path 'a/b' traverses symbolic link 'a'
+ abort: unknown revision '1'!
[255]
try linear update including symlinked directory and its content: paths are
@@ -220,7 +227,7 @@
$ hg up -qC null
$ hg up 1
- abort: path 'a/b' traverses symbolic link 'a'
+ abort: unknown revision '1'!
[255]
$ ls ../update-symlink-out
@@ -229,9 +236,13 @@
a symlink.
$ rm -f a
+ rm: cannot remove directory `a': Is a directory
+ [1]
$ hg up -qC 2
+ abort: unknown revision '2'!
+ [255]
$ hg up 1
- abort: path 'a/b' traverses symbolic link 'a'
+ abort: unknown revision '1'!
[255]
$ ls ../update-symlink-out
test-audit-subrepo.t
--- c:/hgdev/src/tests/test-audit-subrepo.t
+++ c:/hgdev/src/tests/test-audit-subrepo.t.err
@@ -413,12 +413,13 @@
$ hg init hgsymdir/root
$ cd hgsymdir/root
$ ln -s ../out
+ ln: creating symbolic link `./out' to `../out': $ENOENT$
+ [1]
$ hg ci -qAm 'add symlink "out"'
+ [1]
$ hg init ../out
$ echo 'out = out' >> .hgsub
$ hg ci -qAm 'add subrepo "out"'
- abort: subrepo 'out' traverses symbolic link
- [255]
prepare tampered repo (including the commit above):
@@ -436,14 +437,16 @@
> @@ -0,0 +1,1 @@
> +0000000000000000000000000000000000000000 out
> EOF
+ file .hgsub already exists
+ file .hgsubstate already exists
+ abort: patch failed to apply
+ [255]
$ cd ../..
on clone (and update):
$ mkdir hgsymdir2
$ hg clone -q hgsymdir/root hgsymdir2/root
- abort: subrepo 'out' traverses symbolic link
- [255]
$ ls hgsymdir2
root
@@ -460,13 +463,14 @@
$ hg init hgsymin/root
$ cd hgsymin/root
$ ln -s ../out
+ ln: creating symbolic link `./out' to `../out': $ENOENT$
+ [1]
$ hg ci -qAm 'add symlink "out"'
+ [1]
$ mkdir ../out
$ hg init ../out/sub
$ echo 'out/sub = out/sub' >> .hgsub
$ hg ci -qAm 'add subrepo "out/sub"'
- abort: path 'out/sub' traverses symbolic link 'out'
- [255]
prepare tampered repo (including the commit above):
@@ -484,14 +488,16 @@
> @@ -0,0 +1,1 @@
> +0000000000000000000000000000000000000000 out/sub
> EOF
+ file .hgsub already exists
+ file .hgsubstate already exists
+ abort: patch failed to apply
+ [255]
$ cd ../..
on clone (and update):
$ mkdir hgsymin2
$ hg clone -q hgsymin/root hgsymin2/root
- abort: path 'out/sub' traverses symbolic link 'out'
- [255]
$ ls hgsymin2
root
@@ -512,6 +518,7 @@
$ cd main
$ ln -s "`echo "$FAKEHOME" | sed 's|\(.\)/.*||'`"
$ hg ci -qAm 'add symlink to top-level system directory'
+ [1]
$ hg init sub1
$ echo pwned > sub1/pwned
@@ -540,6 +547,8 @@
> +0000000000000000000000000000000000000000 $SUB
> EOF
$ hg debugsetparents 1
+ abort: unknown revision '1'!
+ [255]
$ hg import --bypass -qm 'update subrepo "$SUB"' - <<'EOF'
> diff --git a/.hgsubstate b/.hgsubstate
> --- a/.hgsubstate
@@ -548,6 +557,10 @@
> -0000000000000000000000000000000000000000 $SUB
> +f40c9134ba1b6961e12f250868823f0092fb68a8 $SUB
> EOF
+ unable to find '.hgsubstate' for patching
+ (use '--prefix' to apply patch relative to the current directory)
+ abort: patch failed to apply
+ [255]
$ cd ..
on clone (and update) without fakehome directory:
@@ -586,22 +599,14 @@
$ mkdir "$FAKEHOME"
$ touch "$FAKEHOME/a"
$ SUB="$FAKEHOME" hg clone -qr1 main main5
- abort: subrepo path contains illegal component: $SUB
+ abort: unknown revision '1'!
[255]
$ ls "$FAKEHOME"
a
$ test -d "$FAKEHOME/.hg"
[1]
$ SUB="$FAKEHOME" hg -R main5 pull -u
- pulling from $TESTTMP/envvarsym/main
- searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files
- new changesets * (glob)
- .hgsubstate: untracked file differs
- abort: untracked files in working directory differ from files in requested revision
+ abort: repository main5 not found!
[255]
$ ls "$FAKEHOME"
a
@@ -616,20 +621,12 @@
$ touch "$FAKEHOME/a"
$ hg -R "$FAKEHOME" ci -qAm 'add fakehome file'
$ SUB="$FAKEHOME" hg clone -qr1 main main6
- abort: subrepo path contains illegal component: $SUB
+ abort: unknown revision '1'!
[255]
$ ls "$FAKEHOME"
a
$ SUB="$FAKEHOME" hg -R main6 pull -u
- pulling from $TESTTMP/envvarsym/main
- searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 1 changesets with 1 changes to 1 files
- new changesets * (glob)
- .hgsubstate: untracked file differs
- abort: untracked files in working directory differ from files in requested revision
+ abort: repository main6 not found!
[255]
$ ls "$FAKEHOME"
a
@@ -642,18 +639,14 @@
$ touch "$FAKEHOME/a"
$ hg -R "$FAKEHOME" ci -qAm 'add fakehome file'
$ SUB="$FAKEHOME" hg clone -qr0 main main7
+ abort: subrepo path contains illegal component: $SUB
+ [255]
$ ls "$FAKEHOME"
a
$ SUB="$FAKEHOME" hg -R main7 pull -uf
pulling from $TESTTMP/envvarsym/main
searching for changes
- adding changesets
- adding manifests
- adding file changes
- added 2 changesets with 3 changes to 2 files
- new changesets * (glob)
- abort: subrepo path contains illegal component: $SUB
- [255]
+ no changes found
$ ls "$FAKEHOME"
a
test-bookmarks-corner-case.t
--- c:/hgdev/src/tests/test-bookmarks-corner-case.t
+++ c:/hgdev/src/tests/test-bookmarks-corner-case.t.err
@@ -201,7 +201,6 @@
pushing to ssh://user@dummy/bookrace-server
searching for changes
remote: setting raced push up
- remote has heads on branch 'default' that are not known locally: f26c3b5167d1
remote: adding changesets
remote: adding manifests
remote: adding file changes
@@ -220,7 +219,6 @@
| summary: A1
|
| o changeset: 3:f26c3b5167d1
- | | bookmark: book-B
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: B1
@@ -243,4 +241,3 @@
$ hg -R bookrace-server book
book-A 4:9ce3b28c16de
- book-B 3:f26c3b5167d1
--- c:/hgdev/src/tests/test-check-module-imports.t
+++ c:/hgdev/src/tests/test-check-module-imports.t.err
@@ -38,3 +38,20 @@
> -X tests/test-imports-checker.t > -X tests/test-verify-repo-operations.py > | sed 's-\-/-g' | "$PYTHON" "$import_checker" -
+ contrib/ci/lambda_functions/ci.py:20: direct symbol import Key from boto3.dynamodb.conditions
(esc)
+ contrib/ci/lambda_functions/web.py:16: direct symbol import Key from boto3.dynamodb.conditions
(esc)
+ Traceback (most recent call last):
(esc)
+ File "c:\hgdev\src\tests/../contrib/import-checker.py", line 813, in <module>
(esc)
+ sys.exit(int(main(sys.argv)))
(esc)
+ File "c:\hgdev\src\tests/../contrib/import-checker.py", line 780, in main
(esc)
+ for src, modname, name, line in sources(source_path, localmodname):
(esc)
+ File "c:\hgdev\src\tests/../contrib/import-checker.py", line 758, in sources
(esc)
+ for script, modname, t, line in embedded(f, modname, src):
(esc)
+ File "c:\hgdev\src\tests/../contrib/import-checker.py", line 728, in embedded
(esc)
+ for name, starts, ends, code in testparseutil.pyembedded(f, src, errors):
(esc)
+ File "c:\hgdev\src\contrib\testparseutil.py", line 186, in embedded
(esc)
+ for lineno, line in enumerate(lines, 1):
(esc)
+ File "c:\hgdev\python37-x64\lib\encodings\cp1252.py", line 23, in decode
(esc)
+ return codecs.charmap_decode(input,self.errors,decoding_table)[0]
(esc)
+ UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 2154: character maps to <undefined>
(esc)
+ [1]
test-churn.t
--- c:/hgdev/src/tests/test-churn.t
+++ c:/hgdev/src/tests/test-churn.t.err
@@ -168,7 +168,7 @@
user3 3 *******************************************
user2 2 *****************************
user4 2 *****************************
- El Niño 1 ************** (esc)
+ El Niño 1 ************** (esc)
with space 1 **************
Test --template argument, with backwards compatibility
test-commandserver.t
--- c:/hgdev/src/tests/test-commandserver.t
+++ c:/hgdev/src/tests/test-commandserver.t.err
@@ -1044,15 +1044,16 @@
$ hg commit -qAm base
$ ln -s ../merge-symlink-out a
$ hg commit -qAm 'symlink a -> ../merge-symlink-out'
+ [1]
$ hg up -q 0
$ mkdir a
+ mkdir: cannot create directory `a': File exists
+ [1]
$ touch a/poisoned
$ hg commit -qAm 'file a/poisoned'
$ hg log -G -T '{rev}: {desc}
'
- @ 2: file a/poisoned
+ @ 1: file a/poisoned
|
- | o 1: symlink a -> ../merge-symlink-out
- |/
o 0: base
@@ -1070,9 +1071,11 @@
... # here a is a symlink, so a/poisoned is bad
... runcommand(server, [b'merge', b'2'])
*** runcommand up -qC 2
+ abort: unknown revision '2'!
+ [255]
*** runcommand up -qC 1
*** runcommand merge 2
- abort: path 'a/poisoned' traverses symbolic link 'a'
+ abort: unknown revision '2'!
[255]
$ ls ../merge-symlink-out
@@ -1093,13 +1096,14 @@
... # here 'a' is a symlink, so a/poisoned should be warned
... runcommand(server, [b'files', b'a/poisoned'])
*** runcommand up -qC 2
+ abort: unknown revision '2'!
+ [255]
*** runcommand files a/poisoned
- a/poisoned
+ [1]
*** runcommand up -qC 0
*** runcommand up -qC 1
*** runcommand files a/poisoned
- abort: path 'a/poisoned' traverses symbolic link 'a'
- [255]
+ a/poisoned
$ cd ..
test-debugcommands.t
--- c:/hgdev/src/tests/test-debugcommands.t
+++ c:/hgdev/src/tests/test-debugcommands.t.err
@@ -440,11 +440,12 @@
> }
$ dolock -s &
$ waitlock .hg/store/lock
-
- $ hg debuglocks
- lock: user *, process * (*s) (glob)
- wlock: free
+ timeout: .hg/store/lock was not created in 5 seconds
[1]
+
+ $ hg debuglocks
+ lock: free
+ wlock: free
$ touch .hg/unlock
$ wait
$ [ -f .hg/store/lock ] || echo "There is no lock"
@@ -454,11 +455,12 @@
$ dolock -S &
$ waitlock .hg/wlock
-
- $ hg debuglocks
- lock: free
- wlock: user *, process * (*s) (glob)
+ timeout: .hg/wlock was not created in 5 seconds
[1]
+
+ $ hg debuglocks
+ lock: free
+ wlock: free
$ touch .hg/unlock
$ wait
$ [ -f .hg/wlock ] || echo "There is no wlock"
@@ -468,20 +470,21 @@
$ dolock -Ss &
$ waitlock .hg/wlock && waitlock .hg/store/lock
-
- $ hg debuglocks
- lock: user *, process * (*s) (glob)
- wlock: user *, process * (*s) (glob)
- [2]
+ timeout: .hg/wlock was not created in 5 seconds
+ [1]
+
+ $ hg debuglocks
+ lock: free
+ wlock: free
* Test failing to set a lock
$ hg debuglocks -s
- abort: lock is already held
+ ready to release the lock (y)? abort: response expected
[255]
$ hg debuglocks -S
- abort: wlock is already held
+ ready to release the lock (y)? abort: response expected
[255]
$ touch .hg/unlock
@@ -495,13 +498,16 @@
$ dolock -s &
$ waitlock .hg/store/lock
-
- $ hg debuglocks
- lock: user *, process * (*s) (glob)
- wlock: free
+ timeout: .hg/store/lock was not created in 5 seconds
[1]
+ $ hg debuglocks
+ lock: free
+ wlock: free
+
$ hg debuglocks -L
+ abort: $ENOENT$: '$TESTTMP\debugrevlog\.hg/store\lock'
+ [255]
$ hg debuglocks
lock: free
@@ -514,13 +520,16 @@
$ dolock -S &
$ waitlock .hg/wlock
-
- $ hg debuglocks
- lock: free
- wlock: user *, process * (*s) (glob)
+ timeout: .hg/wlock was not created in 5 seconds
[1]
+ $ hg debuglocks
+ lock: free
+ wlock: free
+
$ hg debuglocks -W
+ abort: $ENOENT$: '$TESTTMP\debugrevlog\.hg\wlock'
+ [255]
$ hg debuglocks
lock: free
--- c:/hgdev/src/tests/test-extdata.t
+++ c:/hgdev/src/tests/test-extdata.t.err
@@ -78,18 +78,130 @@
test template support:
$ hg log -r:3 -T "{node|short}{if(extdata('notes'), ' # {extdata('notes')}')}
"
- 06254b906311 # first post
- e8342c9a2ed1 # this is buggy :(
- f6ed99a58333 # this change is great!
- 9de260b1e88e
+ ** unknown exception encountered, please report by visiting
+ ** https://mercurial-scm.org/wiki/BugTracker
+ ** Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
+ ** Mercurial Distributed SCM (version 5.1.2+610-1cb7facd85b4)
+ ** Extensions loaded:
+ Traceback (most recent call last):
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\bin\hg", line 36, in <module>
(esc)
+ dispatch.run()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 111, in run
(esc)
+ status = dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 250, in dispatch
(esc)
+ ret = _runcatch(req) or 0
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 424, in _runcatch
(esc)
+ return _callcatch(ui, _runcatchfunc)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 433, in _callcatch
(esc)
+ return scmutil.callcatch(ui, func)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 177, in callcatch
(esc)
+ return func()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 414, in _runcatchfunc
(esc)
+ return _dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1174, in _dispatch
(esc)
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 862, in runcommand
(esc)
+ ret = _runcommand(ui, options, cmd, d)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1185, in _runcommand
(esc)
+ return cmdfunc()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1171, in <lambda>
(esc)
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1843, in check
(esc)
+ return func(*args, **kwargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\commands.py", line 4719, in log
(esc)
+ displayfn(ui, repo, revs, displayer, getcopies)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 1051, in displayrevs
(esc)
+ displayer.show(ctx, copies=copies)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 264, in show
(esc)
+ self._show(ctx, copies, props)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 586, in _show
(esc)
+ self.ui.write(self.t.render(key, props))
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templater.py", line 1029, in render
(esc)
+ return b''.join(self.generate(t, mapping))
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1744, in increasingchunks
(esc)
+ for chunk in source:
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 792, in flatten
(esc)
+ for i in thing:
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 996, in runtemplate
(esc)
+ yield evalrawexp(context, mapping, arg)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 845, in evalrawexp
(esc)
+ return func(context, mapping, data)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templatefuncs.py", line 386, in if_
(esc)
+ test = evalboolean(context, mapping, args[0])
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 887, in evalboolean
(esc)
+ thing = func(context, mapping, data)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templatefuncs.py", line 150, in extdata
(esc)
+ data = cache[source] = scmutil.extdatasource(ctx.repo(), source)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 1697, in extdatasource
(esc)
+ src = url.open(repo.ui, spec)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\url.py", line 679, in open
(esc)
+ url_ = b'file://' + pycompat.bytesurl(urlreq.pathname2url(path))
(esc)
+ File "C:\hgdev\python37-x64\Lib\nturl2path.py", line 53, in pathname2url
(esc)
+ if not ':' in p:
(esc)
+ TypeError: a bytes-like object is required, not 'str'
(esc)
+ [1]
test template cache:
$ hg log -r:3 -T '{rev} "{extdata("notes")}" "{extdata("shelldata")}"
'
- 0 "first post" ""
- 1 "this is buggy :(" ""
- 2 "this change is great!" "another comment on 2"
- 3 "" ""
+ ** unknown exception encountered, please report by visiting
+ ** https://mercurial-scm.org/wiki/BugTracker
+ ** Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
+ ** Mercurial Distributed SCM (version 5.1.2+610-1cb7facd85b4)
+ ** Extensions loaded:
+ Traceback (most recent call last):
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\bin\hg", line 36, in <module>
(esc)
+ dispatch.run()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 111, in run
(esc)
+ status = dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 250, in dispatch
(esc)
+ ret = _runcatch(req) or 0
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 424, in _runcatch
(esc)
+ return _callcatch(ui, _runcatchfunc)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 433, in _callcatch
(esc)
+ return scmutil.callcatch(ui, func)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 177, in callcatch
(esc)
+ return func()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 414, in _runcatchfunc
(esc)
+ return _dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1174, in _dispatch
(esc)
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 862, in runcommand
(esc)
+ ret = _runcommand(ui, options, cmd, d)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1185, in _runcommand
(esc)
+ return cmdfunc()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1171, in <lambda>
(esc)
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1843, in check
(esc)
+ return func(*args, **kwargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\commands.py", line 4719, in log
(esc)
+ displayfn(ui, repo, revs, displayer, getcopies)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 1051, in displayrevs
(esc)
+ displayer.show(ctx, copies=copies)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 264, in show
(esc)
+ self._show(ctx, copies, props)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\logcmdutil.py", line 586, in _show
(esc)
+ self.ui.write(self.t.render(key, props))
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templater.py", line 1029, in render
(esc)
+ return b''.join(self.generate(t, mapping))
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1744, in increasingchunks
(esc)
+ for chunk in source:
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 792, in flatten
(esc)
+ for i in thing:
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 996, in runtemplate
(esc)
+ yield evalrawexp(context, mapping, arg)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templateutil.py", line 845, in evalrawexp
(esc)
+ return func(context, mapping, data)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\templatefuncs.py", line 150, in extdata
(esc)
+ data = cache[source] = scmutil.extdatasource(ctx.repo(), source)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 1697, in extdatasource
(esc)
+ src = url.open(repo.ui, spec)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\url.py", line 679, in open
(esc)
+ url_ = b'file://' + pycompat.bytesurl(urlreq.pathname2url(path))
(esc)
+ File "C:\hgdev\python37-x64\Lib\nturl2path.py", line 53, in pathname2url
(esc)
+ if not ':' in p:
(esc)
+ TypeError: a bytes-like object is required, not 'str'
(esc)
+ [1]
test bad extdata() template source
test-extdiff.t
UnicodeDecodeError('unicodeescape', b'--- c:/hgdev/src/tests/test-extdiff.t\n+++ c:/hgdev/src/tests/test-extdiff.t.err\n@@ -438,8 +438,8 @@\n making snapshot of 2 files from working directory\n a\n b\n- running \'$TESTTMP/a/dir/tool.bat a.* a\' in */extdiff.* (glob) (windows !)\n running \'$TESTTMP/a/dir/tool.sh a.* a\' in */extdiff.* (glob) (no-windows !)\n+ running \'"$TESTTMP/a/dir/tool.bat" a.8a5febb7f867 a\' in C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\extdiff.3jgs6ma8\n ** custom diff **\n file changed while diffing. Overwriting: $TESTTMP/a/a (src: */extdiff.*/a/a) (glob)\n cleaning up temp directory\n@@ -486,9 +486,13 @@\n adding a\n $ echo a >> a\n $ ln -s missing linka\n+ ln: creating symbolic link `linka\' to `missing\': $ENOENT$\n+ [1]\n $ hg add linka\n+ linka: $ENOENT$\n+ [1]\n $ hg falabala -r 0 --traceback\n- diffing testsymlinks.07f494440405 testsymlinks\n+ diffing "C:\\\\Users\\\\ADMINI~1\\\\AppData\\\\Local\\\\Temp\\\\extdiff.uf_bobth\\\\testsymlinks.07f494440405\\\\a" "$TESTTMP\\\\testsymlinks\\\\a"\\r (esc)\n [1]\n $ cd ..\n \n@@ -514,4 +518,4 @@\n \n $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \\\n > | grep "^ \'"\n- \'\\xa5\\xa5\'\n+ \'\\xc2\\xa5\\xc2\\xa5\'\n', 384, 386, 'truncated \\UXXXXXXXX escape') decoding diff, sorry
test-fileset.t
--- c:/hgdev/src/tests/test-fileset.t
+++ c:/hgdev/src/tests/test-fileset.t.err
@@ -573,7 +573,6 @@
#if symlink
$ ln -s b2 b2link
$ fileset 'symlink() and unknown()'
- b2link
$ hg add b2link
#endif
@@ -739,7 +738,6 @@
#if symlink
$ fileset -r1 'symlink()'
- b2link
#endif
#if no-windows
@@ -778,10 +776,11 @@
b1
b2
b2.orig
+ b2link
c1
c2
+ con.xml (no-windows !)
c3
- con.xml (no-windows !)
mixed
unknown
$ fileset 'eol(mac)'
@@ -854,9 +853,10 @@
A 1k
A 2k
A b2link (no-windows !)
+ A b2link
A bin
+ A con.xml (no-windows !)
A c1
- A con.xml (no-windows !)
R a2
$ hg status --change 2
M b2
@@ -865,9 +865,10 @@
A 1k
A 2k
A b2link (no-windows !)
+ A b2link
A bin
+ A con.xml (no-windows !)
A c1
- A con.xml (no-windows !)
R a2
$ hg status --change 4
A .hgsub
@@ -998,18 +999,20 @@
A 1k
A 2k
A b2link (no-windows !)
+ A b2link
A bin
+ A con.xml (no-windows !)
A c1
- A con.xml (no-windows !)
$ fileset "status('0:1', '3:4', added())"
.hgsub
.hgsubstate
1k
2k
b2link (no-windows !)
+ b2link
bin
- c1
con.xml (no-windows !)
+ c1
tests with empty value
----------------------
test-fix.t
--- c:/hgdev/src/tests/test-fix.t
+++ c:/hgdev/src/tests/test-fix.t.err
@@ -606,7 +606,7 @@
$ sleep 2 # mtime has a resolution of one or two seconds.
$ hg fix --working-dir
$ f foo.whole.orig --newer foo.whole
- foo.whole.orig: newer than foo.whole
+ foo.whole.orig: older than foo.whole
$ cd ..
@@ -937,6 +937,7 @@
0
$ hg fix -r .
$ hg log --template '{rev}
'
+ 1
0
$ cd ..
@@ -955,6 +956,7 @@
M foo.whole
$ hg fix -r .
$ hg status --change tip
+ M foo.whole
$ cd ..
@@ -982,15 +984,17 @@
$ hg fix -r 0:2
$ hg log --graph --template '{rev} {files}'
- o 4 bar.whole
+ o 5 bar.whole
|
- o 3
+ o 4
|
- | @ 2 bar.whole
- | |
- | x 1 foo.whole
- |/
- o 0 foo.whole
+ o 3 foo.whole
+
+ @ 2 bar.whole
+ |
+ x 1 foo.whole
+ |
+ x 0 foo.whole
$ cd ..
test-fncache.t
--- c:/hgdev/src/tests/test-fncache.t
+++ c:/hgdev/src/tests/test-fncache.t.err
@@ -122,9 +122,7 @@
.hg/undo.phaseroots
.hg/wcache
.hg/wcache/checkisexec (execbit !)
- .hg/wcache/checklink (symlink !)
- .hg/wcache/checklink-target (symlink !)
- .hg/wcache/manifestfulltextcache (reporevlogstore !)
+ .hg/wcache/manifestfulltextcache
$ cd ..
Non fncache repo:
@@ -163,9 +161,7 @@
.hg/undo.dirstate
.hg/wcache
.hg/wcache/checkisexec (execbit !)
- .hg/wcache/checklink (symlink !)
- .hg/wcache/checklink-target (symlink !)
- .hg/wcache/manifestfulltextcache (reporevlogstore !)
+ .hg/wcache/manifestfulltextcache
$ cd ..
Encoding of reserved / long paths in the store
test-globalopts.t
--- c:/hgdev/src/tests/test-globalopts.t
+++ c:/hgdev/src/tests/test-globalopts.t.err
@@ -279,6 +279,8 @@
$ hg --cwd a --time id
8580ff50825a tip
time: real * (glob)
+ C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py:1040: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
(esc)
+ t = (t[0], t[1], t[2], t[3], time.clock())
(esc)
Testing --version:
--- c:/hgdev/src/tests/test-help.t
+++ c:/hgdev/src/tests/test-help.t.err
@@ -1909,22 +1909,16 @@
> upper = b"L^"
> pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s
" % upper)
> EOF
- L^ (esc)
- ----
-
- Upper name should show only this message
-
+ abort: help section not found: ambiguous.â¹LË^ (esc)
+ [255]
$ "$PYTHON" <<EOF | sh
> from mercurial import pycompat
> lower = b"l^"
> pycompat.stdout.write(b"hg --encoding cp932 help -e ambiguous.%s
" % lower)
> EOF
- l^ (esc)
- ----
-
- Lower name should show only this message
-
+ abort: help section not found: ambiguous.â¹lË^ (esc)
+ [255]
$ cat >> $HGRCPATH <<EOF
> [extensions]
test-hgwebdirsym.t
--- c:/hgdev/src/tests/test-hgwebdirsym.t
+++ c:/hgdev/src/tests/test-hgwebdirsym.t.err
@@ -40,6 +40,9 @@
/al/
/b/
/c/
+ /circle/al/
+ /circle/b/
+ /circle/c/
$ get-with-headers.py localhost:$HGPORT 'al/file/tip/a?style=raw'
200 Script output follows
@@ -57,22 +60,20 @@
should fail
$ get-with-headers.py localhost:$HGPORT 'circle/al/file/tip/a?style=raw'
- 404 Not Found
+ 200 Script output follows
-
- error: repository circle/al/file/tip/a not found
- [1]
+ a
$ get-with-headers.py localhost:$HGPORT 'circle/b/file/tip/a?style=raw'
404 Not Found
- error: repository circle/b/file/tip/a not found
+ error: a@39505516671b: not found in manifest
[1]
$ get-with-headers.py localhost:$HGPORT 'circle/c/file/tip/a?style=raw'
404 Not Found
- error: repository circle/c/file/tip/a not found
+ error: a@bbb02779a5d2: not found in manifest
[1]
collections errors
--- c:/hgdev/src/tests/test-hook.t
+++ c:/hgdev/src/tests/test-hook.t.err
@@ -978,9 +978,24 @@
SyntaxError: * (glob)
exception from second failed import attempt:
Traceback (most recent call last):
- ImportError: No module named hgext_syntaxerror
+ SyntaxError: unexpected EOF while parsing
+
+ During handling of the above exception, another exception occurred:
+
Traceback (most recent call last):
- HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
+ ModuleNotFoundError: No module named 'hgext_syntaxerror'
+ Traceback (most recent call last):
+ SyntaxError: unexpected EOF while parsing
+
+ During handling of the above exception, another exception occurred:
+
+ Traceback (most recent call last):
+ ModuleNotFoundError: No module named 'hgext_syntaxerror'
+
+ During handling of the above exception, another exception occurred:
+
+ Traceback (most recent call last):
+ mercurial.error.HookLoadError: b'preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed'
abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
$ echo '[hooks]' > ../a/.hg/hgrc
@@ -1113,7 +1128,7 @@
$ hg id
loading pre-identify.npmd hook failed:
- abort: No module named repo!
+ abort: No module named 'repo'!
[255]
$ cd ../../b
@@ -1133,12 +1148,27 @@
$ hg --traceback commit -ma 2>&1 | egrep -v '^( +File| [a-zA-Z(])'
exception from first failed import attempt:
Traceback (most recent call last):
- ImportError: No module named somebogusmodule
+ ModuleNotFoundError: No module named 'somebogusmodule'
exception from second failed import attempt:
Traceback (most recent call last):
- ImportError: No module named hgext_importfail
+ ModuleNotFoundError: No module named 'somebogusmodule'
+
+ During handling of the above exception, another exception occurred:
+
Traceback (most recent call last):
- HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed
+ ModuleNotFoundError: No module named 'hgext_importfail'
+ Traceback (most recent call last):
+ ModuleNotFoundError: No module named 'somebogusmodule'
+
+ During handling of the above exception, another exception occurred:
+
+ Traceback (most recent call last):
+ ModuleNotFoundError: No module named 'hgext_importfail'
+
+ During handling of the above exception, another exception occurred:
+
+ Traceback (most recent call last):
+ mercurial.error.HookLoadError: b'precommit.importfail hook is invalid: import of "importfail" failed'
abort: precommit.importfail hook is invalid: import of "importfail" failed
Issue1827: Hooks Update & Commit not completely post operation
--- c:/hgdev/src/tests/test-install.t
+++ c:/hgdev/src/tests/test-install.t.err
@@ -155,12 +155,124 @@
debuginstall extension support
$ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false | grep atchman
+ ** unknown exception encountered, please report by visiting
+ ** https://mercurial-scm.org/wiki/BugTracker
+ ** Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
+ ** Mercurial Distributed SCM (version 5.1.2+610-1cb7facd85b4)
+ ** Extensions loaded: fsmonitor
+ Traceback (most recent call last):
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\bin\hg", line 36, in <module>
(esc)
+ dispatch.run()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 111, in run
(esc)
+ status = dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 250, in dispatch
(esc)
+ ret = _runcatch(req) or 0
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 424, in _runcatch
(esc)
+ return _callcatch(ui, _runcatchfunc)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 433, in _callcatch
(esc)
+ return scmutil.callcatch(ui, func)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 177, in callcatch
(esc)
+ return func()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 414, in _runcatchfunc
(esc)
+ return _dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1174, in _dispatch
(esc)
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 862, in runcommand
(esc)
+ ret = _runcommand(ui, options, cmd, d)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1185, in _runcommand
(esc)
+ return cmdfunc()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1171, in <lambda>
(esc)
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1843, in check
(esc)
+ return func(*args, **kwargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\debugcommands.py", line 1696, in debuginstall
(esc)
+ problems += handler(ui, fm)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\__init__.py", line 188, in debuginstall
(esc)
+ v = c.command(b"version")
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\watchmanclient.py", line 108, in command
(esc)
+ return self._command(*args)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\watchmanclient.py", line 97, in _command
(esc)
+ return self._watchmanclient.query(*watchmanargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 996, in query
(esc)
+ self._connect()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 863, in _connect
(esc)
+ self.sockpath = self._resolvesockname()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 838, in _resolvesockname
(esc)
+ p = subprocess.Popen(pycompat.rapply(procutil.tonativestr, cmd),
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 86, in rapply
(esc)
+ return _rapply(f, xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 59, in _rapply
(esc)
+ return type(xs)(_rapply(f, x) for x in xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 59, in <genexpr>
(esc)
+ return type(xs)(_rapply(f, x) for x in xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 62, in _rapply
(esc)
+ return f(xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\encoding.py", line 223, in unifromlocal
(esc)
+ return fromlocal(s).decode('utf-8')
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\encoding.py", line 201, in fromlocal
(esc)
+ if isasciistr(s):
(esc)
+ TypeError: a bytes-like object is required, not 'str'
(esc)
fsmonitor checking for watchman binary... (false)
- watchman binary missing or broken: warning: Watchman unavailable: watchman exited with code 1
Verify the json works too:
$ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false -Tjson | grep atchman
- "fsmonitor-watchman": "false",
- "fsmonitor-watchman-error": "warning: Watchman unavailable: watchman exited with code 1",
+ ** unknown exception encountered, please report by visiting
+ ** https://mercurial-scm.org/wiki/BugTracker
+ ** Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
+ ** Mercurial Distributed SCM (version 5.1.2+610-1cb7facd85b4)
+ ** Extensions loaded: fsmonitor
+ Traceback (most recent call last):
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\bin\hg", line 36, in <module>
(esc)
+ dispatch.run()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 111, in run
(esc)
+ status = dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 250, in dispatch
(esc)
+ ret = _runcatch(req) or 0
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 424, in _runcatch
(esc)
+ return _callcatch(ui, _runcatchfunc)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 433, in _callcatch
(esc)
+ return scmutil.callcatch(ui, func)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\scmutil.py", line 177, in callcatch
(esc)
+ return func()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 414, in _runcatchfunc
(esc)
+ return _dispatch(req)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1174, in _dispatch
(esc)
+ lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 862, in runcommand
(esc)
+ ret = _runcommand(ui, options, cmd, d)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1185, in _runcommand
(esc)
+ return cmdfunc()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py", line 1171, in <lambda>
(esc)
+ d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\util.py", line 1843, in check
(esc)
+ return func(*args, **kwargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\debugcommands.py", line 1696, in debuginstall
(esc)
+ problems += handler(ui, fm)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\__init__.py", line 188, in debuginstall
(esc)
+ v = c.command(b"version")
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\watchmanclient.py", line 108, in command
(esc)
+ return self._command(*args)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\watchmanclient.py", line 97, in _command
(esc)
+ return self._watchmanclient.query(*watchmanargs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 996, in query
(esc)
+ self._connect()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 863, in _connect
(esc)
+ self.sockpath = self._resolvesockname()
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\hgext\fsmonitor\pywatchman\__init__.py", line 838, in _resolvesockname
(esc)
+ p = subprocess.Popen(pycompat.rapply(procutil.tonativestr, cmd),
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 86, in rapply
(esc)
+ return _rapply(f, xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 59, in _rapply
(esc)
+ return type(xs)(_rapply(f, x) for x in xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 59, in <genexpr>
(esc)
+ return type(xs)(_rapply(f, x) for x in xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\pycompat.py", line 62, in _rapply
(esc)
+ return f(xs)
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\encoding.py", line 223, in unifromlocal
(esc)
+ return fromlocal(s).decode('utf-8')
(esc)
+ File "C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\encoding.py", line 201, in fromlocal
(esc)
+ if isasciistr(s):
(esc)
+ TypeError: a bytes-like object is required, not 'str'
(esc)
+ [1]
#if test-repo
test-issue1438.t
--- c:/hgdev/src/tests/test-issue1438.t
+++ c:/hgdev/src/tests/test-issue1438.t.err
@@ -5,19 +5,32 @@
$ hg init
$ ln -s foo link
+ ln: creating symbolic link `link' to `foo': $ENOENT$
+ [1]
$ hg add link
+ link: $ENOENT$
+ [1]
$ hg ci -mbad link
+ abort: link: $ENOENT$
+ [255]
$ hg rm link
+ link: $ENOENT$
+ [1]
$ hg ci -mok
+ nothing changed
+ [1]
$ hg diff -g -r 0:1 > bad.patch
+ abort: unknown revision '1'!
+ [255]
$ hg up 0
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg import --no-commit bad.patch
applying bad.patch
+ abort: bad.patch: no diffs found
+ [255]
$ hg status
- R link
? bad.patch
test-issue4074.t
--- c:/hgdev/src/tests/test-issue4074.t
+++ c:/hgdev/src/tests/test-issue4074.t.err
@@ -27,3 +27,5 @@
$ hg ci --time -m1
time: real .* secs .user [0-9][.].* sys .* (re)
+ C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\install\lib\python\mercurial\dispatch.py:1040: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
(esc)
+ t = (t[0], t[1], t[2], t[3], time.clock())
(esc)
test-keyword.t
--- c:/hgdev/src/tests/test-keyword.t
+++ c:/hgdev/src/tests/test-keyword.t.err
@@ -695,12 +695,11 @@
$ ls -l i
-rw-r--r--* (glob)
$ head -1 i
- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
+ a (no-eol)
$ hg copy --after --verbose sym i
copying sym to i
- overwriting i shrinking keywords
$ head -1 i
- expand $Id$
+ a (no-eol)
$ hg forget i
$ rm i
#endif
@@ -751,8 +750,9 @@
$ cp symignored x
$ hg copy --after --verbose symignored x
copying symignored to x
+ overwriting x shrinking keywords
$ head -n 1 x
- expand $Id: a,v ef63ca68695b 1970/01/01 00:00:00 user $
+ expand $Id$
$ hg forget x
$ rm x
test-largefiles-misc.t
--- c:/hgdev/src/tests/test-largefiles-misc.t
+++ c:/hgdev/src/tests/test-largefiles-misc.t.err
@@ -197,6 +197,7 @@
$ hg up -C >/dev/null
$ test -f largelink
$ test -L largelink
+ [1]
$ cd ..
#endif
test-lfconvert.t
--- c:/hgdev/src/tests/test-lfconvert.t
+++ c:/hgdev/src/tests/test-lfconvert.t.err
@@ -62,8 +62,6 @@
skipping incorrectly formatted tag IncorrectlyFormattedTag!
skipping incorrectly formatted id invalidhash
no mapping for id 0123456789abcdef
- abort: renamed/copied largefile large3 becomes symlink
- [255]
#endif
$ cd bigfile-repo
$ hg strip --no-backup 2
--- c:/hgdev/src/tests/test-merge-tools.t
+++ c:/hgdev/src/tests/test-merge-tools.t.err
@@ -1813,7 +1813,10 @@
#if symlink
$ ln -s symlink f
+ ln: creating symbolic link `f' to `symlink': $ENOENT$
+ [1]
$ hg commit -qm 'f is symlink'
+ [1]
#else
@@ -1841,12 +1844,9 @@
#endif
$ hg merge -r 2 --tool internal:merge
- merging f
- warning: internal :merge cannot merge symlinks for f
- warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
- [1]
+ abort: uncommitted changes
+ (use 'hg status' to list changes)
+ [255]
Verify naming of temporary files and that extension is preserved:
@@ -1901,32 +1901,22 @@
$ hg merge 9 > --config merge-patterns.b=:merge-other > --config merge-patterns.re:[a-z]=:other
- warning: check merge-patterns configurations, if ':merge-other' for binary file 'b' is unintentional
- (see 'hg help merge-tools' for binary files capability)
- merging b
- warning: b looks like a binary file.
- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
- [1]
+ abort: merging with a working directory ancestor has no effect
+ [255]
$ hg merge --abort -q
+ abort: no merge in progress
+ [255]
(for ui.merge, ignored unintentionally)
$ hg merge 9 > --config merge-tools.:other.binary=true > --config ui.merge=:other
- tool :other (for pattern b) can't handle binary
- tool true can't handle binary
- tool :other can't handle binary
- tool false can't handle binary
- no tool found to merge b
- file 'b' needs to be resolved.
- You can keep (l)ocal [working copy], take (o)ther [merge rev], or leave (u)nresolved.
- What do you want to do? u
- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
- [1]
+ abort: merging with a working directory ancestor has no effect
+ [255]
$ hg merge --abort -q
+ abort: no merge in progress
+ [255]
With merge.strict-capability-check=true, binary files capability of
internal merge tools is checked strictly.
@@ -1941,24 +1931,27 @@
> --config merge-tools.:merge-other.binary=true > --config merge-patterns.b=:merge-other > --config merge-patterns.re:[a-z]=:other
- tool :merge-other (for pattern b) can't handle binary
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ abort: merging with a working directory ancestor has no effect
+ [255]
$ f --hexdump b
b:
- 0000: 00 01 02 03 |....|
+ 0000: 03 02 01 00 |....|
$ hg merge --abort -q
+ abort: no merge in progress
+ [255]
(for ui.merge)
$ hg merge 9 --config merge.strict-capability-check=true > --config ui.merge=:other
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ abort: merging with a working directory ancestor has no effect
+ [255]
$ f --hexdump b
b:
- 0000: 00 01 02 03 |....|
+ 0000: 03 02 01 00 |....|
$ hg merge --abort -q
+ abort: no merge in progress
+ [255]
Check that the extra information is printed correctly
@@ -1969,16 +1962,9 @@
> --config ui.merge=testecho > --config ui.pre-merge-tool-output-template='
{label("extmerge.running_merge_tool", "Running merge tool for {path} ({toolpath}):")}
{separate("
", extmerge_section(local), extmerge_section(base), extmerge_section(other))}
' > --config 'templatealias.extmerge_section(sect)="- {pad("{sect.name} ({sect.label})", 20, left=True)}: {revset(sect.node)%"{rev}:{shortest(node,8)} {desc|firstline} {separate(" ", tags, bookmarks, branch)}"}"'
- merging b
-
- Running merge tool for b ("*/bin/echo.exe"): (glob) (windows !)
+ abort: merging with a working directory ancestor has no effect
Running merge tool for b (*/bin/echo): (glob) (no-windows !)
- - local (working copy): 10:2d1f533d add binary file (#2) tip default
- - base (base): -1:00000000 default
- - other (merge rev): 9:1e7ad7d7 add binary file (#1) default
- merge runs here ...
- 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ [255]
Check that debugpicktool examines which merge tool is chosen for
specified file as expected
@@ -2012,16 +1998,19 @@
(-r REV causes checking files in specified revision)
$ hg manifest -r 8
- f.txt
+ b
+ f
$ hg debugpickmergetool -r 8
- f.txt = true
+ b = :prompt
+ f = true
#if symlink
(symlink causes chosing :prompt)
$ hg debugpickmergetool -r 6d00b3726f6e
- f = :prompt
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
(by default, it is assumed that no internal merge tools has symlinks
capability)
@@ -2032,13 +2021,15 @@
> --config merge-patterns.f=:merge-other > --config merge-patterns.re:[f]=:merge-local > --config merge-patterns.re:[a-z]=:other
- f = :prompt
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
$ hg debugpickmergetool > -r 6d00b3726f6e > --config merge-tools.:other.symlink=true > --config ui.merge=:other
- f = :prompt
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
(with strict-capability-check=true, actual symlink capabilities are
checked striclty)
@@ -2049,18 +2040,21 @@
> --config merge-patterns.f=:merge-other > --config merge-patterns.re:[f]=:merge-local > --config merge-patterns.re:[a-z]=:other
- f = :other
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
$ hg debugpickmergetool --config merge.strict-capability-check=true > -r 6d00b3726f6e > --config ui.merge=:other
- f = :other
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
$ hg debugpickmergetool --config merge.strict-capability-check=true > -r 6d00b3726f6e > --config merge-tools.:merge-other.symlink=true > --config ui.merge=:merge-other
- f = :prompt
+ abort: unknown revision '6d00b3726f6e'!
+ [255]
#endif
test-merge1.t
--- c:/hgdev/src/tests/test-merge1.t
+++ c:/hgdev/src/tests/test-merge1.t.err
@@ -119,17 +119,17 @@
symlinks to directories should be treated as regular files (issue5027)
$ rm b
$ ln -s 'This is file b2' b
+ ln: creating symbolic link `b' to `This is file b2': $ENOENT$
+ [1]
$ hg merge 1
- b: untracked file differs
- abort: untracked files in working directory differ from files in requested revision
- [255]
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
symlinks shouldn't be followed
$ rm b
$ echo This is file b1 > .hg/b
$ ln -s .hg/b b
$ hg merge 1
- b: untracked file differs
- abort: untracked files in working directory differ from files in requested revision
+ abort: outstanding uncommitted merge
[255]
$ rm b
@@ -138,28 +138,30 @@
bad config
$ hg merge 1 --config merge.checkunknown=x
- abort: merge.checkunknown not valid ('x' is none of 'abort', 'ignore', 'warn')
+ abort: outstanding uncommitted merge
[255]
this merge should fail
$ hg merge 1 --config merge.checkunknown=abort
- b: untracked file differs
- abort: untracked files in working directory differ from files in requested revision
+ abort: outstanding uncommitted merge
[255]
this merge should warn
$ hg merge 1 --config merge.checkunknown=warn
- b: replacing untracked file
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
+ abort: outstanding uncommitted merge
+ [255]
$ cat b.orig
- This is file b2
+ cat: b.orig: $ENOENT$
+ [1]
$ hg up --clean 2
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mv b.orig b
+ mv: cannot stat `b.orig': $ENOENT$
+ [1]
this merge should silently ignore
$ cat b
- This is file b2
+ cat: b: $ENOENT$
+ [1]
$ hg merge 1 --config merge.checkunknown=ignore
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
test-mq-symlinks.t
--- c:/hgdev/src/tests/test-mq-symlinks.t
+++ c:/hgdev/src/tests/test-mq-symlinks.t.err
@@ -22,16 +22,17 @@
$ ln -s b a
$ hg qrefresh --git
$ readlink.py a
- a -> b
+ a -> a not a symlink
(esc)
$ hg qpop
popping symlink.patch
now at: base.patch
$ hg qpush
applying symlink.patch
+ patch symlink.patch is empty
now at: symlink.patch
$ readlink.py a
- a -> b
+ a -> a not a symlink
(esc)
test updating a symlink
@@ -40,21 +41,19 @@
$ ln -s c a
$ hg qnew --git -f updatelink
$ readlink.py a
- a -> c
+ a -> a not a symlink
(esc)
$ hg qpop
popping updatelink
now at: symlink.patch
$ hg qpush --debug
applying updatelink
- patching file a
- committing files:
- a
- committing manifest
+ patch updatelink is empty
+ reusing manifest from p1 (no file change)
committing changelog
updating the branch cache
now at: updatelink
$ readlink.py a
- a -> c
+ a -> a not a symlink
(esc)
$ hg st
@@ -96,17 +95,33 @@
replace broken symlink with another broken symlink
$ ln -s linka linka
+ ln: creating symbolic link `linka' to `linka': $ENOENT$
+ [1]
$ hg add linka
+ linka: $ENOENT$
+ [1]
$ hg qnew link
$ hg mv linka linkb
+ linka: $ENOENT$
+ abort: no files to copy
+ [255]
$ rm linkb
+ rm: cannot lstat `linkb': $ENOENT$
+ [1]
$ ln -s linkb linkb
+ ln: creating symbolic link `linkb' to `linkb': $ENOENT$
+ [1]
$ hg qnew movelink
$ hg qpop
popping movelink
now at: link
$ hg qpush
applying movelink
+ patch movelink is empty
now at: movelink
$ readlink.py linkb
- linkb -> linkb
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'linkb'
(esc)
+ [1]
test-notify.t
UnicodeDecodeError('unicodeescape', b'--- c:/hgdev/src/tests/test-notify.t\n+++ c:/hgdev/src/tests/test-notify.t.err\n@@ -421,37 +421,29 @@\n > -m `"$PYTHON" -c \'print("\\xc3\\xa0\\xc3\\xa1\\xc3\\xa2\\xc3\\xa3\\xc3\\xa4")\'`\n $ hg --traceback --cwd b --encoding utf-8 pull ../a | \\\n > "$PYTHON" $TESTTMP/filter.py\n- pulling from ../a\n- searching for changes\n- adding changesets\n- adding manifests\n- adding file changes\n- added 1 changesets with 1 changes to 1 files\n- new changesets 0f25f9c22b4c\n- MIME-Version: 1.0\n- Content-Type: text/plain; charset="us-ascii"\n- Content-Transfer-Encoding: 8bit\n- X-Test: foo\n- Date: * (glob)\n- Subject: \\xc3\\xa0... (esc)\n- From: test@test.com\n- X-Hg-Notification: changeset 0f25f9c22b4c\n- Message-Id: <*> (glob)\n- To: baz@test.com, foo@bar\n- \n- changeset 0f25f9c22b4c in b\n- description: \\xc3\\xa0\\xc3\\xa1\\xc3\\xa2\\xc3\\xa3\\xc3\\xa4 (esc)\n- diffstat:\n- a | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)\n- \n- diffs (7 lines):\n- \n- diff -r fccf66cd0c35 -r 0f25f9c22b4c a\n- --- a/a\tThu Jan 01 00:00:03 1970 +0000\n- +++ b/a\tThu Jan 01 00:00:00 1970 +0000\n- @@ -1,2 +1,3 @@ a a\n- +a\n- (run \'hg update\' to get a working copy)\n+ error: incoming.notify hook raised an exception: \'ascii\' codec can\'t encode characters in position 42-51: ordinal not in range(128)\n+ Traceback (most recent call last):\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\hook.py", line 114, in pythonhook\n+ r = obj(ui=ui, repo=repo, hooktype=htype, **pycompat.strkwargs(args))\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\hgext\\notify.py", line 553, in hook\n+ n.send(ctx, count, data)\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\hgext\\notify.py", line 406, in send\n+ msg = mail.mimeencode(self.ui, payload, self.charsets, self.test)\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\mail.py", line 423, in mimeencode\n+ return mimetextqp(s, b\'plain\', cs)\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\mail.py", line 298, in mimetextqp\n+ msg.set_payload(body, cs)\n+ File "C:\\hgdev\\python37-x64\\Lib\\email\\message.py", line 315, in set_payload\n+ payload = payload.encode(charset.output_charset)\n+ UnicodeEncodeError: \'ascii\' codec can\'t encode characters in position 42-51: ordinal not in range(128)\n+ pulling from ../a\\r (esc)\n+ searching for changes\\r (esc)\n+ adding changesets\\r (esc)\n+ adding manifests\\r (esc)\n+ adding file changes\\r (esc)\n+ added 1 changesets with 1 changes to 1 files\\r (esc)\n+ new changesets 5e14b89ad3da\\r (esc)\n+ (run \'hg update\' to get a working copy)\\r (esc)\n \n long lines\n \n@@ -470,48 +462,31 @@\n adding manifests\n adding file changes\n added 1 changesets with 1 changes to 1 files\n- new changesets a846b5f6ebb7\n- notify: sending 2 subscribers 1 changes\n+ new changesets fecd12eab950\n+ error: incoming.notify hook failed: decoding near \'nonononono\\xd1\\x84\': \'ascii\' codec can\'t decode byte 0xd1 in position 1328: ordinal not in range(128)! (esc)\n+ Traceback (most recent call last):\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\encoding.py", line 205, in fromlocal\n+ u = s.decode(_sysstr(encoding), _sysstr(encodingmode))\n+ UnicodeDecodeError: \'ascii\' codec can\'t decode byte 0xd1 in position 1328: ordinal not in range(128)\n+ \n+ During handling of the above exception, another exception occurred:\n+ \n+ Traceback (most recent call last):\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\hook.py", line 114, in pythonhook\n+ r = obj(ui=ui, repo=repo, hooktype=htype, **pycompat.strkwargs(args))\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\hgext\\notify.py", line 553, in hook\n+ n.send(ctx, count, data)\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\hgext\\notify.py", line 387, in send\n+ msg = p.parsestr(encoding.strfromlocal(data))\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\encoding.py", line 223, in unifromlocal\n+ return fromlocal(s).decode(\'utf-8\')\n+ File "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hgtests.lh83tfgb\\install\\lib\\python\\mercurial\\encoding.py", line 210, in fromlocal\n+ b"decoding near \'%s\': %s!" % (sub, pycompat.bytestr(inst))\n+ mercurial.error.Abort: b"decoding near \'nonononono\\xd1\\x84\': \'ascii\' codec can\'t decode byte 0xd1 in position 1328: ordinal not in range(128)!"\n (run \'hg update\' to get a working copy)\n $ "$PYTHON" $TESTTMP/filter.py < b/mbox\n- From test@test.com ... ... .. ..:..:.. .... (re)\n- MIME-Version: 1.0\n- Content-Type: text/plain; charset="*" (glob)\n- Content-Transfer-Encoding: quoted-printable\n- X-Test: foo\n- Date: * (glob)\n- Subject: long line\n- From: test@test.com\n- X-Hg-Notification: changeset a846b5f6ebb7\n- Message-Id: <hg.a846b5f6ebb7.*.*@*> (glob)\n- To: baz@test.com, foo@bar\n- \n- changeset a846b5f6ebb7 in b\n- description: long line\n- diffstat:\n- a | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)\n- \n- diffs (8 lines):\n- \n- diff -r 0f25f9c22b4c -r a846b5f6ebb7 a\n- --- a/a\tThu Jan 01 00:00:00 1970 +0000\n- +++ b/a\tThu Jan 01 00:00:00 1970 +0000\n- @@ -1,3 +1,4 @@ a a a\n- +nonononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nononononononononononononononononononononononononononononononononononononon=\n- ononononononononononononononononononononononononononononononononononononono=\n- nonononononononononononono=D1=84\n- \n+ $TESTTMP.sh: line 130: b/mbox: $ENOENT$\n+ [1]\n revset selection: send to address that matches branch and repo\n \n $ cat << EOF >> $HGRCPATH\n@@ -540,7 +515,7 @@\n adding manifests\n adding file changes\n added 1 changesets with 1 changes to 1 files\n- new changesets f7e5aaed4080\n+ new changesets cfdce462aac0\\r (esc)\n MIME-Version: 1.0\n Content-Type: text/plain; charset="us-ascii"\n Content-Transfer-Encoding: 7bit\n@@ -548,13 +523,13 @@\n Date: * (glob)\n Subject: test\n From: test@test.com\n- X-Hg-Notification: changeset f7e5aaed4080\n- Message-Id: <hg.f7e5aaed4080.*.*@*> (glob)\n- To: baz@test.com, foo@bar, notify@example.com\n- \n- changeset f7e5aaed4080 in b\n- description: test\n- (run \'hg update\' to get a working copy)\n+ X-Hg-Notification: changeset cfdce462aac0\\r (esc)\n+ Message-Id: <hg.cfdce462aac0.1571288089.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\\r (esc)\n+ To: baz@test.com, foo@bar, notify@example.com\\r (esc)\n+ \\r (esc)\n+ changeset cfdce462aac0 in b\\r (esc)\n+ description: test\\r (esc)\n+ (run \'hg update\' to get a working copy)\\r (esc)\n \n revset selection: don\'t send to address that waits for mails\n from different branch\n@@ -570,7 +545,7 @@\n adding manifests\n adding file changes\n added 1 changesets with 0 changes to 0 files (+1 heads)\n- new changesets 645eb6690ecf\n+ new changesets 424ada2957e5\\r (esc)\n MIME-Version: 1.0\n Content-Type: text/plain; charset="us-ascii"\n Content-Transfer-Encoding: 7bit\n@@ -578,13 +553,13 @@\n Date: * (glob)\n Subject: test\n From: test@test.com\n- X-Hg-Notification: changeset 645eb6690ecf\n- Message-Id: <hg.645eb6690ecf.*.*@*> (glob)\n- To: baz@test.com, foo@bar\n- \n- changeset 645eb6690ecf in b\n- description: test\n- (run \'hg heads\' to see heads)\n+ X-Hg-Notification: changeset 424ada2957e5\\r (esc)\n+ Message-Id: <hg.424ada2957e5.1571288091.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\\r (esc)\n+ To: baz@test.com, foo@bar\\r (esc)\n+ \\r (esc)\n+ changeset 424ada2957e5 in b\\r (esc)\n+ description: test\\r (esc)\n+ (run \'hg heads\' to see heads)\\r (esc)\n \n default template:\n \n@@ -599,13 +574,13 @@\n Date: * (glob)\n Subject: changeset in b: default template\n From: test@test.com\n- X-Hg-Notification: changeset 5cd4346eed47\n- Message-Id: <hg.5cd4346eed47.*.*@*> (glob)\n- To: baz@test.com, foo@bar\n- \n- changeset 5cd4346eed47 in $TESTTMP/b\n- details: http://test/b?cmd=changeset;node=5cd4346eed47\n- description: default template\n+ X-Hg-Notification: changeset eec6221c8a43\\r (esc)\n+ Message-Id: <hg.eec6221c8a43.1571288092.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\\r (esc)\n+ To: baz@test.com, foo@bar\\r (esc)\n+ \\r (esc)\n+ changeset eec6221c8a43 in $TESTTMP\\\\b\\r (esc)\n+ details: http://test/b?cmd=changeset;node=eec6221c8a43\\r (esc)\n+ description: default template\\r (esc)\n \n with style:\n \n@@ -628,11 +603,11 @@\n Date: * (glob)\n Subject: with style\n From: test@test.com\n- X-Hg-Notification: changeset ec8d9d852f56\n- Message-Id: <hg.ec8d9d852f56.*.*@*> (glob)\n- To: baz@test.com, foo@bar\n- \n- changeset ec8d9d852f56\n+ X-Hg-Notification: changeset 7955a56097d3\\r (esc)\n+ Message-Id: <hg.7955a56097d3.1571288093.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\\r (esc)\n+ To: baz@test.com, foo@bar\\r (esc)\n+ \\r (esc)\n+ changeset 7955a56097d3\\r (esc)\n \n with template (overrides style):\n \n@@ -649,13 +624,13 @@\n Content-Type: text/plain; charset="us-ascii"\n Content-Transfer-Encoding: 7bit\n Date: * (glob)\n- Subject: 14721b538ae3: with template\n- From: test@test.com\n- X-Hg-Notification: changeset 14721b538ae3\n- Message-Id: <hg.14721b538ae3.*.*@*> (glob)\n- To: baz@test.com, foo@bar\n- \n- with template\n+ Subject: 82bb0b6eb499: with template\\r (esc)\n+ From: test@test.com\n+ X-Hg-Notification: changeset 82bb0b6eb499\\r (esc)\n+ Message-Id: <hg.82bb0b6eb499.1571288093.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\\r (esc)\n+ To: baz@test.com, foo@bar\\r (esc)\n+ \\r (esc)\n+ with template\\r (esc)\n \n showfunc diff\n $ cat <<EOF >> $HGRCPATH\n@@ -682,21 +657,21 @@\n adding manifests\n adding file changes\n added 1 changesets with 1 changes to 1 files\n- new changesets b86bc16ff894\n+ new changesets dfca204f4cee\n MIME-Version: 1.0\n Content-Type: text/plain; charset="us-ascii"\n Content-Transfer-Encoding: 7bit\n Date: * (glob)\n Subject: addfunction\n From: test@test.com\n- X-Hg-Notification: changeset b86bc16ff894\n- Message-Id: <hg.b86bc16ff894.*.*@*> (glob)\n+ X-Hg-Notification: changeset dfca204f4cee\n+ Message-Id: <hg.dfca204f4cee.1571288094.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\n To: baz@test.com, foo@bar\n \n- changeset b86bc16ff894\n+ changeset dfca204f4cee\n diffs (11 lines):\n \n- diff -r 14721b538ae3 -r b86bc16ff894 f1\n+ diff -r 82bb0b6eb499 -r dfca204f4cee f1\n --- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n +++ b/f1\tThu Jan 01 00:00:00 1970 +0000\n @@ -0,0 +1,7 @@\n@@ -725,21 +700,21 @@\n adding manifests\n adding file changes\n added 1 changesets with 1 changes to 1 files\n- new changesets e81040e9838c\n+ new changesets 23ea51ca9d20\n MIME-Version: 1.0\n Content-Type: text/plain; charset="us-ascii"\n Content-Transfer-Encoding: 7bit\n Date: * (glob)\n Subject: changefunction\n From: test@test.com\n- X-Hg-Notification: changeset e81040e9838c\n- Message-Id: <hg.e81040e9838c.*.*@*> (glob)\n+ X-Hg-Notification: changeset 23ea51ca9d20\n+ Message-Id: <hg.23ea51ca9d20.1571288095.-4128619785606323472@EC2AMAZ-CUILFNU.us-west-2.compute.internal>\n To: baz@test.com, foo@bar\n \n- changeset e81040e9838c\n+ changeset 23ea51ca9d20\n diffs (12 lines):\n \n- diff -r b86bc16ff894 -r e81040e9838c f1\n+ diff -r dfca204f4cee -r 23ea51ca9d20 f1\n --- a/f1\tThu Jan 01 00:00:00 1970 +0000\n +++ b/f1\tThu Jan 01 00:00:00 1970 +0000\n @@ -2,6 +2,6 @@ int main() {\n', 1336, 1338, 'truncated \\UXXXXXXXX escape') decoding diff, sorry
test-obsmarker-template.t
--- c:/hgdev/src/tests/test-obsmarker-template.t
+++ c:/hgdev/src/tests/test-obsmarker-template.t.err
@@ -2643,9 +2643,9 @@
local encoding since the command is supposed to show unmodified content:
$ HGENCODING=latin-1 hg debugobsolete
- 5f66a482f0bb2fcaccfc215554ad5eb9f40b50f5 718c0d00cee1429bdb73064e0d88908c601507a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 'tèst2', 'operation': 'amend', 'user': 'test'}
- 718c0d00cee1429bdb73064e0d88908c601507a8 1132562159b35bb27e1d6b80c80ee94a1659a4da 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'tèst2'}
- 8f82db6f991db367fdbb3b6dba5e187ecc3ebd96 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'tèst2'}
+ 5f66a482f0bb2fcaccfc215554ad5eb9f40b50f5 718c0d00cee1429bdb73064e0d88908c601507a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 'tèst2', 'operation': 'amend', 'user': 'test'}
+ 718c0d00cee1429bdb73064e0d88908c601507a8 1132562159b35bb27e1d6b80c80ee94a1659a4da 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'tèst2'}
+ 8f82db6f991db367fdbb3b6dba5e187ecc3ebd96 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'tèst2'}
metadata should be converted back to local encoding when displaying:
test-origbackup-conflict.t
--- c:/hgdev/src/tests/test-origbackup-conflict.t
+++ c:/hgdev/src/tests/test-origbackup-conflict.t.err
@@ -82,18 +82,20 @@
$ mkdir ../sym-link-target
#if symlink
$ ln -s ../../../sym-link-target b
+ ln: creating symbolic link `b' to `../../../sym-link-target': $ENOENT$
+ [1]
$ ln -s ../../../sym-link-target d
+ ln: creating symbolic link `d' to `../../../sym-link-target': $ENOENT$
+ [1]
#else
$ touch b d
#endif
$ hg up b1
- b: replacing untracked file
- d: replacing untracked file
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark b1)
#if symlink
$ readlink.py .hg/origbackups/b
- .hg/origbackups/b -> ../../../sym-link-target
+ .hg/origbackups/b -> .hg/origbackups/b not a symlink
(esc)
#endif
Perform an update that causes b/c and d to be backed up again - b/c should not go into the target dir
@@ -107,8 +109,6 @@
b/c: replacing untracked file
d: replacing untracked file
getting b/c
- creating directory: $TESTTMP/repo/.hg/origbackups/b
- removing conflicting file: $TESTTMP/repo/.hg/origbackups/b
getting d
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark c1)
test-patchbomb.t
--- c:/hgdev/src/tests/test-patchbomb.t
+++ c:/hgdev/src/tests/test-patchbomb.t.err
@@ -2565,7 +2565,7 @@
User-Agent: Mercurial-patchbomb/* (glob)
Date: Tue, 01 Jan 1980 00:01:00 +0000
From: quux
- To: bar@xn--nicode-2ya.com
+ To: bar@xn--14nicode-qza5441f.com
# HG changeset patch
# User test
test-pathconflicts-merge.t
--- c:/hgdev/src/tests/test-pathconflicts-merge.t
+++ c:/hgdev/src/tests/test-pathconflicts-merge.t.err
@@ -26,9 +26,14 @@
#if symlink
$ mkdir a
$ ln -s c a/b
+ ln: creating symbolic link `a/b' to `c': $ENOENT$
+ [1]
$ hg add a/b
+ a/b: $ENOENT$
+ [1]
$ hg commit -m "link"
- created new head
+ nothing changed
+ [1]
#else
$ hg import -q --bypass - <<EOF
> # HG changeset patch
@@ -47,7 +52,7 @@
$ hg bookmark -i link
$ hg up 0
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ mkdir -p a/b/c
$ echo 2 > a/b/c/d
$ hg add a/b/c/d
@@ -85,35 +90,34 @@
Merge - local symlink conflicts with remote directory
$ hg up link
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(activating bookmark link)
$ hg bookmark -i
$ hg merge dir
- a/b: path conflict - a file or link has the same name as a directory
- the local file has been renamed to a/b~2ea68033e3be
- resolve manually then use 'hg resolve --mark a/b'
- 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
+ abort: nothing to merge
+ (use 'hg update' or check 'hg heads')
+ [255]
+ $ hg status
+ $ hg resolve --list
+ $ hg resolve --all
+ abort: resolve command not applicable when not merging
+ [255]
+ $ hg mv a/b~2ea68033e3be a/b.old
+ a/b~2ea68033e3be: $ENOTDIR$
+ abort: no files to copy
+ [255]
+ $ hg resolve --mark a/b
+ abort: resolve command not applicable when not merging
+ [255]
+ $ hg resolve --list
+ $ hg commit -m "merge link and dir (renamed link)"
+ nothing changed
[1]
- $ hg status
- M a/b/c/d
- A a/b~2ea68033e3be
- R a/b
- $ hg resolve --list
- P a/b
- $ hg resolve --all
- a/b: path conflict must be resolved manually
- $ hg mv a/b~2ea68033e3be a/b.old
- $ hg resolve --mark a/b
- (no more unresolved files)
- $ hg resolve --list
- R a/b
- $ hg commit -m "merge link and dir (renamed link)"
Merge - local directory conflicts with remote file or link
$ hg up dir
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark dir)
$ hg bookmark -i
$ hg merge file
@@ -140,22 +144,28 @@
2
$ hg commit -m "merge file2 (copytrace tracked rename)"
$ hg merge link
- a/b: path conflict - a file or link has the same name as a directory
- the remote file has been renamed to a/b~2ea68033e3be
- resolve manually then use 'hg resolve --mark a/b'
- 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
- [1]
+ abort: merging with a working directory ancestor has no effect
+ [255]
$ hg mv a/b~2ea68033e3be a/b.old
+ a/b~2ea68033e3be: $ENOENT$
+ abort: no files to copy
+ [255]
#if symlink
$ readlink.py a/b.old
- a/b.old -> c
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'a/b.old'
(esc)
+ [1]
#else
$ cat a/b.old
c (no-eol)
#endif
$ hg resolve --mark a/b
- (no more unresolved files)
+ abort: resolve command not applicable when not merging
+ [255]
$ hg commit -m "merge link (rename link)"
+ nothing changed
+ [1]
test-pathconflicts-update.t
--- c:/hgdev/src/tests/test-pathconflicts-update.t
+++ c:/hgdev/src/tests/test-pathconflicts-update.t.err
@@ -25,15 +25,20 @@
$ mkdir a
#if symlink
$ ln -s c a/b
+ ln: creating symbolic link `a/b' to `c': $ENOENT$
+ [1]
#else
$ touch a/b
#endif
$ hg add a/b
+ a/b: $ENOENT$
+ [1]
$ hg commit -m "link"
- created new head
+ nothing changed
+ [1]
$ hg bookmark -i link
$ hg up 0
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ mkdir -p a/b/c
$ echo 2 > a/b/c/d
$ hg add a/b/c/d
@@ -64,22 +69,27 @@
$ mkdir a
#if symlink
$ ln -s x a/b
+ ln: creating symbolic link `a/b' to `x': $ENOENT$
+ [1]
#else
$ touch a/b
#endif
$ hg up dir
- a/b: untracked file conflicts with directory
- abort: untracked files in working directory differ from files in requested revision
- [255]
- $ hg up dir --config merge.checkunknown=warn
- a/b: replacing untracked file
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark dir)
+ $ hg up dir --config merge.checkunknown=warn
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
#if symlink
$ readlink.py a/b.orig
- a/b.orig -> x
+ Traceback (most recent call last):
(esc)
+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>
(esc)
+ print(f, '->', os.readlink(f))
(esc)
+ FileNotFoundError: [WinError 2] $ENOENT$: 'a/b.orig'
(esc)
+ [1]
#endif
$ rm a/b.orig
+ rm: cannot lstat `a/b.orig': $ENOENT$
+ [1]
Update - local directory conflicts with remote file
@@ -105,18 +115,16 @@
$ mkdir -p a/b/c
$ echo 9 > a/b/c/d
$ hg up link
- a/b: untracked directory conflicts with file
- abort: untracked files in working directory differ from files in requested revision
- [255]
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (activating bookmark link)
$ hg up link --config merge.checkunknown=warn
- a/b: replacing untracked files in directory
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (activating bookmark link)
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
#if symlink
$ readlink.py a/b
- a/b -> c
+ a/b -> a/b not a symlink
(esc)
#endif
$ test -d a/b.orig
+ [1]
$ rm -rf a/b.orig
Update - local renamed file conflicts with remote directory
@@ -124,37 +132,43 @@
$ hg up -q 0
$ hg mv base a
$ hg status -C
- A a
+ A a/base
base
R base
+ ? a/b/c/d
$ hg up --check dir
abort: uncommitted changes
[255]
$ hg up dir
- a: path conflict - a file or link has the same name as a directory
- the local file has been renamed to a~d20a80d4def3
- resolve manually then use 'hg resolve --mark a'
- 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges
- (activating bookmark dir)
- [1]
+ a/b/c/d: untracked file differs
+ abort: untracked files in working directory differ from files in requested revision
+ [255]
$ hg status -C
- A a~d20a80d4def3
+ A a/base
base
R base
+ ? a/b/c/d
$ hg resolve --list
- P a
$ hg up --clean -q 0
Update clean - local directory conflicts with changed remote file
$ hg up -q file
+ a/b: untracked directory conflicts with file
+ abort: untracked files in working directory differ from files in requested revision
+ [255]
$ rm a/b
+ rm: cannot remove directory `a/b': Is a directory
+ [1]
$ mkdir a/b
+ mkdir: cannot create directory `a/b': File exists
+ [1]
$ echo 9 > a/b/c
+ $TESTTMP.sh: line 143: a/b/c: File exists
+ [1]
$ hg up file2 --check --config merge.checkunknown=warn
- abort: uncommitted changes
- [255]
- $ hg up file2 --clean
+ a/b: replacing untracked files in directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(activating bookmark file2)
+ $ hg up file2 --clean
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
test-push-race.t#strict
--- c:/hgdev/src/tests/test-push-race.t
+++ c:/hgdev/src/tests/test-push-race.t#strict.err
@@ -205,6 +205,7 @@
remote: added 1 changesets with 1 changes to 1 files
$ release $TESTTMP/watchfile
+ touch: setting times of `C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\child8\test-push-race.t-strict/watchfile': Permission denied
Check the result of the push
@@ -293,6 +294,7 @@
remote: added 1 changesets with 1 changes to 1 files
$ release $TESTTMP/watchfile
+ touch: setting times of `C:\Users\ADMINI~1\AppData\Local\Temp\hgtests.lh83tfgb\child8\test-push-race.t-strict/watchfile': Permission denied
Check the result of the push
--- c:/hgdev/src/tests/test-symlink-placeholder.t
+++ c:/hgdev/src/tests/test-symlink-placeholder.t.err
@@ -29,7 +29,6 @@
$ rm b
$ echo foo > b
$ hg --config extensions.n=$TESTTMP/nolink.py status --debug
- ignoring suspect symlink placeholder "b"
Make a clone using placeholders:
@@ -38,7 +37,7 @@
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../win-repo
$ cat b
- a (no-eol)
+ foo
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
Empty placeholder:
@@ -46,25 +45,23 @@
$ rm b
$ touch b
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
- ignoring suspect symlink placeholder "b"
+ M b
Write binary data to the placeholder:
>>> open('b', 'w').write('this is a binary ') and None
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
- ignoring suspect symlink placeholder "b"
+ M b
Write a long string to the placeholder:
>>> open('b', 'w').write('this' * 1000) and None
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
- ignoring suspect symlink placeholder "b"
+ M b
Commit shouldn't succeed:
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
- nothing changed
- [1]
Write a valid string to the placeholder:
@@ -74,6 +71,6 @@
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
$ hg manifest tip --verbose
644 a
- 644 @ b
+ 644 b
$ cd ..
test-symlinks.t
UnicodeDecodeError('unicodeescape', b'--- c:/hgdev/src/tests/test-symlinks.t\n+++ c:/hgdev/src/tests/test-symlinks.t.err\n@@ -4,17 +4,19 @@\n \n $ hg init test-symlinks-0.7; cd test-symlinks-0.7;\n $ touch foo; ln -s foo bar; ln -s nonexistent baz\n+ ln: creating symbolic link `baz\' to `nonexistent\': $ENOENT$\n+ [1]\n \n import with add and addremove -- symlink walking should _not_ screwup.\n \n $ hg add\n adding bar\n- adding baz\n adding foo\n $ hg forget bar baz foo\n+ baz: $ENOENT$\n+ [1]\n $ hg addremove\n adding bar\n- adding baz\n adding foo\n \n commit -- the symlink should _not_ appear added to dir state\n@@ -53,17 +55,20 @@\n $ rm dir/b.o\n $ mkdir dir/a.o\n $ ln -s nonexistent dir/b.o\n+ ln: creating symbolic link `dir/b.o\' to `nonexistent\': $ENOENT$\n+ [1]\n $ mkfifo a.c\n+ mkfifo: cannot create fifo `a.c\': Function not implemented\n+ [1]\n \n it should show a.c, dir/a.o and dir/b.o deleted\n \n $ hg status\n- M dir/b.o\n ! a.c\n ! dir/a.o\n+ ! dir/b.o\n ? .hgignore\n $ hg status a.c\n- a.c: unsupported file type (type is fifo)\n ! a.c\n $ cd ..\n \n@@ -79,7 +84,8 @@\n $ touch f\n $ hg add f\n $ hg status "$p"/y/f\n- A f\n+ abort: $TESTTMP/y/f not under root \'$TESTTMP\\x\'\n+ [255]\n \n try symlink outside repo to file inside\n \n@@ -101,18 +107,20 @@\n $ mkdir -p a/b/c\n $ cd a/b/c\n $ ln -s /path/to/symlink/source demo\n+ ln: creating symbolic link `demo\' to `/path/to/symlink/source\': $ENOENT$\n+ [1]\n $ cd ../../..\n $ hg stat\n- ? a/b/c/demo\n $ hg commit -A -m \'add symlink in a/b/c subdir\'\n- adding a/b/c/demo\n+ nothing changed\n+ [1]\n \n 2. clone it\n \n $ cd ..\n $ hg clone clone clonedest\n updating to branch default\n- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved\n+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved\n \n \n == symlink and git diffs ==\n@@ -121,29 +129,23 @@\n \n $ cd clonedest\n $ hg diff --git -r null:tip\n- diff --git a/a/b/c/demo b/a/b/c/demo\n- new file mode 120000\n- --- /dev/null\n- +++ b/a/b/c/demo\n- @@ -0,0 +1,1 @@\n- +/path/to/symlink/source\n- \\ No newline at end of file\n $ hg export --git tip > ../sl.diff\n \n import git symlink diff\n \n $ hg rm a/b/c/demo\n+ a/b/c/demo: $ENOTDIR$\n+ [1]\n $ hg commit -m\'remove link\'\n+ nothing changed\n+ [1]\n $ hg import ../sl.diff\n applying ../sl.diff\n+ abort: ../sl.diff: no diffs found\n+ [255]\n $ hg diff --git -r 1:tip\n- diff --git a/a/b/c/demo b/a/b/c/demo\n- new file mode 120000\n- --- /dev/null\n- +++ b/a/b/c/demo\n- @@ -0,0 +1,1 @@\n- +/path/to/symlink/source\n- \\ No newline at end of file\n+ abort: unknown revision \'1\'!\n+ [255]\n \n == symlinks and addremove ==\n \n@@ -156,24 +158,20 @@\n $ mv foo bar\n $ ln -s bar foo\n $ hg status\n- ! foo/a\n ? bar/a\n- ? foo\n \n now addremove should remove old files\n \n $ hg addremove\n adding bar/a\n- adding foo\n- removing foo/a\n \n commit and update back\n \n $ hg ci -mb\n $ hg up \'.^\'\n- 1 files updated, 0 files merged, 2 files removed, 0 files unresolved\n+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved\n $ hg up tip\n- 2 files updated, 0 files merged, 1 files removed, 0 files unresolved\n+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved\n \n $ cd ..\n \n@@ -186,78 +184,111 @@\n $ hg status\n ? foo\n $ hg status ../link\n- ? foo\n+ abort: ../link not under root \'$TESTTMP\\root\'\n+ [255]\n $ hg add foo\n $ hg cp foo "$TESTTMP/link/bar"\n- foo has not been committed yet, so no copy data will be stored for bar.\n+ abort: $TESTTMP/link/bar not under root \'$TESTTMP\\root\'\n+ [255]\n $ cd ..\n \n \n $ hg init b\n $ cd b\n $ ln -s nothing dangling\n+ ln: creating symbolic link `dangling\' to `nothing\': $ENOENT$\n+ [1]\n $ hg commit -m \'commit symlink without adding\' dangling\n- abort: dangling: file not tracked!\n+ abort: dangling: $ENOENT$\n [255]\n $ hg add dangling\n+ dangling: $ENOENT$\n+ [1]\n $ hg commit -m \'add symlink\'\n+ nothing changed\n+ [1]\n \n $ hg tip -v\n- changeset: 0:cabd88b706fc\n+ changeset: -1:000000000000\n tag: tip\n- user: test\n+ user: \n date: Thu Jan 01 00:00:00 1970 +0000\n- files: dangling\n- description:\n- add symlink\n- \n \n $ hg manifest --debug\n- 2564acbe54bbbedfbf608479340b359f04597f80 644 @ dangling\n $ readlink.py dangling\n- dangling -> nothing\n+ Traceback (most recent call last):\\r (esc)\n+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>\\r (esc)\n+ print(f, \'->\', os.readlink(f))\\r (esc)\n+ FileNotFoundError: [WinError 2] $ENOENT$: \'dangling\'\\r (esc)\n+ [1]\n \n $ rm dangling\n+ rm: cannot lstat `dangling\': $ENOENT$\n+ [1]\n $ ln -s void dangling\n+ ln: creating symbolic link `dangling\' to `void\': $ENOENT$\n+ [1]\n $ hg commit -m \'change symlink\'\n+ nothing changed\n+ [1]\n $ readlink.py dangling\n- dangling -> void\n+ Traceback (most recent call last):\\r (esc)\n+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>\\r (esc)\n+ print(f, \'->\', os.readlink(f))\\r (esc)\n+ FileNotFoundError: [WinError 2] $ENOENT$: \'dangling\'\\r (esc)\n+ [1]\n \n \n modifying link\n \n $ rm dangling\n+ rm: cannot lstat `dangling\': $ENOENT$\n+ [1]\n $ ln -s empty dangling\n+ ln: creating symbolic link `dangling\' to `empty\': $ENOENT$\n+ [1]\n $ readlink.py dangling\n- dangling -> empty\n+ Traceback (most recent call last):\\r (esc)\n+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>\\r (esc)\n+ print(f, \'->\', os.readlink(f))\\r (esc)\n+ FileNotFoundError: [WinError 2] $ENOENT$: \'dangling\'\\r (esc)\n+ [1]\n \n \n reverting to rev 0:\n \n $ hg revert -r 0 -a\n- reverting dangling\n $ readlink.py dangling\n- dangling -> nothing\n+ Traceback (most recent call last):\\r (esc)\n+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>\\r (esc)\n+ print(f, \'->\', os.readlink(f))\\r (esc)\n+ FileNotFoundError: [WinError 2] $ENOENT$: \'dangling\'\\r (esc)\n+ [1]\n \n \n backups:\n \n $ readlink.py *.orig\n- dangling.orig -> empty\n+ *.orig -> *.orig not a symlink\\r (esc)\n $ rm *.orig\n+ rm: cannot lstat `*.orig\': $ENOENT$\n+ [1]\n $ hg up -C\n- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved\n+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved\n \n copies\n \n $ hg cp -v dangling dangling2\n- copying dangling to dangling2\n+ dangling: $ENOENT$\n+ abort: no files to copy\n+ [255]\n $ hg st -Cmard\n- A dangling2\n- dangling\n $ readlink.py dangling dangling2\n- dangling -> void\n- dangling2 -> void\n+ Traceback (most recent call last):\\r (esc)\n+ File "c:/hgdev/src/tests/readlink.py", line 11, in <module>\\r (esc)\n+ print(f, \'->\', os.readlink(f))\\r (esc)\n+ FileNotFoundError: [WinError 2] $ENOENT$: \'dangling\'\\r (esc)\n+ [1]\n \n \n Issue995: hg copy -A incorrectly handles symbolic links\n@@ -267,9 +298,13 @@\n $ mkdir dir\n $ ln -s dir dirlink\n $ hg ci -qAm \'add dirlink\'\n+ [1]\n $ mkdir newdir\n $ mv dir newdir/dir\n $ mv dirlink newdir/dirlink\n $ hg mv -A dirlink newdir/dirlink\n-\n- $ cd ..\n+ dirlink: $ENOENT$\n+ abort: no files to copy\n+ [255]\n+\n+ $ cd ..\n', 1169, 1171, 'truncated \\xXX escape') decoding diff, sorry