Matt Harbison <matt_harbison@yahoo.com> [Fri, 03 Nov 2017 22:22:50 -0400] rev 34958
pathutil: add doctests for canonpath()
This is a followup to f445b10dc7fb. Since there's no way to ensure that more
drive letters than C: exist, this seems like the only way to test it. This is
enough to catch the f445b10dc7fb scenario, as well as CWD outside of the repo
when the path isn't prefixed with path/to/repo.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Nov 2017 23:55:09 -0400] rev 34957
share: handle --relative shares to a different drive letter gracefully
This had the same problem as f445b10dc7fb. Banning os.path.relpath() is
tempting, but the hint it provides is useful here.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Nov 2017 20:35:31 -0400] rev 34956
pathutil: use util.pathto() to calculate relative cwd in canonpath()
os.path.relpath() exploded if the 'root' and 'cwd' directories had different
drive letters. I noticed this in TortoiseHg when typing a fileset into the
filter, and it kept complaining until the closing '()' was typed. This was
reproducible on the command line with:
$ cd /d
$ hg -R /c/Users/Matt/Projects/hg files 'set:e'
Traceback (most recent call last):
...
File "mercurial\pathutil.pyc", line 182, in canonpath
File "ntpath.pyc", line 529, in relpath
ValueError: path is on drive c:, start on drive d:
Kevin Bullock <kbullock@ringworld.org> [Wed, 01 Nov 2017 16:54:39 -0500] rev 34955
Added signature for changeset 0ccb43d4cf01
Kevin Bullock <kbullock@ringworld.org> [Wed, 01 Nov 2017 16:54:38 -0500] rev 34954
Added tag 4.4 for changeset 0ccb43d4cf01
Jun Wu <quark@fb.com> [Wed, 01 Nov 2017 14:22:26 -0700] rev 34953
test-dispatch: stabilize the test
When cwd is removed and `hg` is executed, some shells may run `getcwd`
before forking and executing, some may not do it, some may print a
different error message.
The test should be shell-independent so let's just avoid checking the error
message.
Differential Revision: https://phab.mercurial-scm.org/D1282
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 01 Nov 2017 15:34:22 -0500] rev 34952
internals: update test-help.t for config registrar copy-edit
Kevin Bullock <kbullock+mercurial@ringworld.org> [Wed, 01 Nov 2017 13:24:08 -0500] rev 34951
internals: copy-edit "register" -> "registrar" in configitem docs
Augie Fackler <augie@google.com> [Wed, 01 Nov 2017 16:07:33 -0400] rev 34950
merge with i18n
Wagner Bruna <wbruna@yahoo.com> [Wed, 01 Nov 2017 08:31:16 -0200] rev 34949
i18n-pt_BR: synchronized with cab34bda259e
Matt Harbison <matt_harbison@yahoo.com> [Tue, 31 Oct 2017 23:09:29 -0400] rev 34948
help: minor copy editing for grammar
Yuya Nishihara <yuya@tcha.org> [Tue, 31 Oct 2017 22:37:30 +0900] rev 34947
configitems: relax warning about unwanted default value
The original condition was a bit harsh for extension authors since third-party
extensions need to preserve compatibility with older Mercurial versions, where
no defaults would be loaded from the configtable. So let's silence the warning
if the given default value matches, which should be harmless.
Kostia Balytskyi <ikostia@fb.com> [Thu, 26 Oct 2017 11:07:06 -0700] rev 34946
filemerge: pass a default value to _toolstr (issue5718)
After a refactoring, _toolstr stopped having default="" as one of it's args,
therefore when called without a default it returns None and not "". This causes
concatenation to fail.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 31 Oct 2017 06:39:38 +0530] rev 34945
children: fix the log expansion of `hg children` in doc
`hg log -r children()` returns `hg: parse error: missing argument`.
Differential Revision: https://phab.mercurial-scm.org/D1269
Yuya Nishihara <yuya@tcha.org> [Sun, 29 Oct 2017 17:53:52 +0900] rev 34944
test-static-http: flush access log per request
It appears that stderr is fully buffered on Windows.
# no-check-commit because of log_message() function
Yuya Nishihara <yuya@tcha.org> [Sat, 28 Oct 2017 17:23:52 +0900] rev 34943
statichttprepo: do not use platform path separator to build a URL
It wouldn't work between Windows client and Unix server.
Siddharth Agarwal <sid0@fb.com> [Tue, 24 Oct 2017 11:15:30 -0700] rev 34942
merge: disable path conflict checking by default (issue5716)
We shouldn't ship a severe perf regression in hg update for 4.4.
Differential Revision: https://phab.mercurial-scm.org/D1223
Siddharth Agarwal <sid0@fb.com> [Tue, 24 Oct 2017 11:14:38 -0700] rev 34941
merge: add a config option to disable path conflict checking
We've found a severe perf regression in `hg update` caused by the path conflict
checking code. The next patch will disable this by default.
Differential Revision: https://phab.mercurial-scm.org/D1222
Mark Thomas <mbthomas@fb.com> [Fri, 20 Oct 2017 05:53:35 -0700] rev 34940
dirstate: clean up when restoring identical backups
When a dirstate backup is restored, it is possible that no actual changes to
the dirstate have been made. In this case, the backup is still a hardlink
to the original dirstate.
Unfortunately, `os.rename` silently fails (nothing happens, and no error
occurs) when `src` and `dst` are hardlinks to the same file. As a result,
the backup is left lying around. Over time, these files accumulate.
When restoring dirstate backups, check if the backup and the dirstate are
the same file, and if so, just delete the backup.
Differential Revision: https://phab.mercurial-scm.org/D1201
Mark Thomas <mbthomas@fb.com> [Fri, 20 Oct 2017 05:53:33 -0700] rev 34939
tests: add a test demonstrating failure to clean up dirstate backups
Differential Revision: https://phab.mercurial-scm.org/D1200
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Oct 2017 23:01:56 -0400] rev 34938
tests: adjust hooks for Windows
I'm not sure why these weren't working on Windows. The failures were generally
in the style of:
- remote: phase-move: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b: 1 -> 0
+ remote: "phase-move: $HG_NODE: $HG_OLDPHASE -> $HG_PHASE"
and
- abort: pretxnclose-bookmark.force-forward hook exited with status 1
- [255]
+ abort: pretxnclose-bookmark.force-public hook exited with status 255
+ [255]
These failures originated in ee5f0d047b41::f6d17075608f.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 20 Oct 2017 21:29:15 -0400] rev 34937
test-log-linerange: open binary file in binary mode
The '\n' characters were being translated on Windows, throwing off hg and git
hashes, as well as the file content in the diff.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Oct 2017 23:16:48 -0400] rev 34936
test-arbitraryfilectx: stabilize for Windows
Previously, the second last test (context.arbitraryfilectx(..)) returned True on
Windows. I changed the repo setup sequence to import a patch, so that way the
repo would have a proper symlink. That made the last test fail, since it is
comparing files in wdir(), one of which is not the expected symlink.
Apparently the (feature !) line matching doesn't work well with (no-eol), so I
had to conditionalize the test instead of the output.
Durham Goode <durham@fb.com> [Sat, 28 Oct 2017 12:35:54 -0700] rev 34935
dirstate: remove excess attribute lookups for dirstate.status (issue5714)
A recent refactor added a layer of abstraction to the dirstate which makes doing
things like 'foo in dirstate' now require some extra Python attribute lookups.
This is causing a 100ms slow down in hg status for mozilla-central.
The fix is to hoist the inner dict's functions onto the main class once the lazy
loading it complete, as well as store the actual functions before doing the
status loop (as is done for other such functions).
In my testing, it seems to address the performance regression, but we'll
need to see the perf run results to know for sure.
Differential Revision: https://phab.mercurial-scm.org/D1257