Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:19:31 +0900] rev 37086
stringutil: move generic string helpers to new module
Per https://phab.mercurial-scm.org/D2903#46738
URL and file paths functions are left since they are big enough to make
separate modules.
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:32:19 +0900] rev 37085
util: remove unused private constant '_hextochr'
The only user, _urlunquote(), was removed by 81d38478fced.
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:20:47 +0900] rev 37084
util: mark internal constants of escapedata() as private
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:14:12 +0900] rev 37083
util: adjust indent level in wrap()
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:13:31 +0900] rev 37082
util: mark MBTextWrapper as private
Makes porting slightly easier.
Yuya Nishihara <yuya@tcha.org> [Thu, 22 Mar 2018 21:10:42 +0900] rev 37081
util: add helper to define proxy functions to utils.*
Kyle Lippincott <spectral@google.com> [Wed, 21 Mar 2018 12:36:29 -0700] rev 37080
filemerge: make the 'local' path match the format that 'base' and 'other' use
If we pass a separate '$output' arg to the merge tool, we produce four files:
local, base, other, and output. In this situation, 'output' will be the
original filename, 'base' and 'other' are temporary files, and previously
'local' would be the backup file (so if 'output' was foo.txt, 'local' would be
foo.txt.orig).
This change makes it so that 'local' follows the same pattern as 'base' and
'other' - it will be a temporary file either in the
`experimental.mergetempdirprefix`-controlled directory with a name like
foo~local.txt, or in the normal system-wide temp dir with a name like
foo~local.RaNd0m.txt.
For the cases where the merge tool does not use an '$output' arg, 'local' is
still the destination filename, and 'base' and 'other' are unchanged.
The hope is that this is much easier for people to reason about; rather than
having a tool like Meld pop up with three panes, one of them with the filename
"foo.txt.orig", one with the filename "foo.txt", and one with
"foo~other.StuFf2.txt", we can (when the merge temp dir stuff is enabled) make
it show up as "foo~local.txt", "foo.txt" and "foo~other.txt", respectively.
This also opens the door to future customization, such as getting the
operation-provided labels and a hash prefix into the filenames (so we see
something like "foo~dest.abc123", "foo.txt", and "foo~src.d4e5f6").
Differential Revision: https://phab.mercurial-scm.org/D2889