Mercurial > hg
changeset 41670:db69a763bc89
diff: make --stat respect ui.relative-paths
It would have been easy to make all diffs respect ui.relative-paths,
but we don't want that since it makes the diff invalid. Perhaps it
makes sense to do that with --noprefix since the point of that is to
make paths that are easy to copy&paste, and the diff is already
invalid anyway. But this patch just makes the --stat version respect
the config option. The --stat view is not even close to a valid diff,
so I think it makes sense to show the paths in more human-friendly
form.
Differential Revision: https://phab.mercurial-scm.org/D5896
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 31 Jan 2019 15:35:51 -0800 |
parents | a13268524c25 |
children | 34ae00a14783 |
files | mercurial/logcmdutil.py tests/test-diffstat.t |
diffstat | 2 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/logcmdutil.py Sat Feb 09 23:48:19 2019 -0800 +++ b/mercurial/logcmdutil.py Thu Jan 31 15:35:51 2019 -0800 @@ -99,6 +99,9 @@ width = 80 if not ui.plain(): width = ui.termwidth() - graphwidth + # If an explicit --root was given, don't respect ui.relative-paths + if not relroot: + pathfn = compose(scmutil.getuipathfn(repo), pathfn) chunks = ctx2.diff(ctx1, match, changes, opts=diffopts, pathfn=pathfn, copysourcematch=copysourcematch,
--- a/tests/test-diffstat.t Sat Feb 09 23:48:19 2019 -0800 +++ b/tests/test-diffstat.t Thu Jan 31 15:35:51 2019 -0800 @@ -146,10 +146,21 @@ $ hg diff --stat . dir1/new | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) + $ hg diff --stat . --config ui.relative-paths=yes + new | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) $ hg diff --stat --root . new | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) + $ hg diff --stat --root . --config ui.relative-paths=yes + new | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) +--root trumps ui.relative-paths + $ hg diff --stat --root .. --config ui.relative-paths=yes + new | 1 + + ../dir2/new | 1 + + 2 files changed, 2 insertions(+), 0 deletions(-) $ hg diff --stat --root ../dir1 ../dir2 warning: ../dir2 not inside relative root .