Mercurial > hg
changeset 41401:4a33a6bf2b52
diffstat: support filenames with whitespaces on renames
This is a follow-up patch to D5628. `line.split()` cannot get filenames with
whitespaces as mentioned by @yuja. This patch replaces `split()` method with
`slice`. Corresponding tests were also added.
Differential Revision: https://phab.mercurial-scm.org/D5709
author | Navaneeth Suresh <navaneeths1998@gmail.com> |
---|---|
date | Sat, 26 Jan 2019 13:14:21 +0530 |
parents | 4a409c19831f |
children | 4f0aca2b8c21 |
files | mercurial/patch.py tests/test-diffstat.t |
diffstat | 2 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/patch.py Mon Jan 21 23:08:31 2019 -0800 +++ b/mercurial/patch.py Sat Jan 26 13:14:21 2019 +0530 @@ -2806,9 +2806,9 @@ line.startswith('Binary file')): isbinary = True elif line.startswith('rename from'): - filename = line.split()[-1] + filename = line[12:] elif line.startswith('rename to'): - filename += ' => %s' % line.split()[-1] + filename += ' => %s' % line[10:] addresult() return results
--- a/tests/test-diffstat.t Mon Jan 21 23:08:31 2019 -0800 +++ b/tests/test-diffstat.t Sat Jan 26 13:14:21 2019 +0530 @@ -255,3 +255,19 @@ $ hg diff --stat --git a => b | 0 1 files changed, 0 insertions(+), 0 deletions(-) +-- filename may contain whitespaces + $ echo > c + $ hg ci -Am 'add c' + adding c + $ hg mv c 'new c' + $ hg diff --git + diff --git a/c b/new c + rename from c + rename to new c + $ hg diff --stat + c | 1 - + new c | 1 + + 2 files changed, 1 insertions(+), 1 deletions(-) + $ hg diff --stat --git + c => new c | 0 + 1 files changed, 0 insertions(+), 0 deletions(-)