Mercurial > hg
changeset 38160:c974320d20b9
terse: pconvert() entries added to the temporary terse dict for Windows
Recent additional testing revealed this problem on Windows:
--- tests/test-status.t.err
+++ tests/test-status.t.err
@@ -109,7 +109,7 @@
tweaking defaults works
$ hg status --cwd a --config ui.tweakdefaults=yes
- ? .
+ ? ../a/
? ../b/
? ../in_root
$ HGPLAIN=1 hg status --cwd a --config ui.tweakdefaults=yes
@@ -120,7 +120,7 @@
? b/in_b (glob)
? in_root
$ HGPLAINEXCEPT=tweakdefaults hg status --cwd a --config ui.tweakdefaults=yes
- ? .
+ ? ..\a\
? ../b/
? ../in_root (glob)
AFAICT, the status list (input and output here) is always in '/' format. The
'\' printed output on Windows is because each file is run through repo.pathto()
-> dirstate.pathto() -> util.pathto(). (And that function states that the
argument uses '/' separators.)
I fixed a similar issue in 362096cfdb1f, and given the apparent need for these
strings to be in '/' format, I wonder if cmdutil.dirnode() should be rewritten
to avoid os.path.join(). But it looks like all entries added to the temporary
terse dict should use '/' now, and cmdutil.tersedir() looks like the only user.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 22 May 2018 23:22:15 -0400 |
parents | dea3903175ee |
children | aa10675c5dd6 |
files | mercurial/cmdutil.py |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Thu May 24 15:56:47 2018 -0600 +++ b/mercurial/cmdutil.py Tue May 22 23:22:15 2018 -0400 @@ -552,7 +552,7 @@ # process each sub-directory and build tersedict for subdir in rootobj.subdirs.values(): for st, f in subdir.tersewalk(terseargs): - tersedict[st].append(f) + tersedict[st].append(util.pconvert(f)) tersedlist = [] for st in allst: