# HG changeset patch # User Patrick Mezard # Date 1231871286 -7200 # Node ID 3cc74ee75b0d109d63df4d09d2eb2aa08ee36204 # Parent b0a0eb28a93367d3118dcf001ec948934049ceec diffstat: don't fail on merges First version by Alexander Solovyov diff -r b0a0eb28a933 -r 3cc74ee75b0d mercurial/patch.py --- a/mercurial/patch.py Sat Jan 17 15:25:20 2009 +0100 +++ b/mercurial/patch.py Tue Jan 13 20:28:06 2009 +0200 @@ -1343,14 +1343,13 @@ single(rev, seqno+1, fp) def diffstatdata(lines): - filename = None + filename, adds, removes = None, 0, 0 for line in lines: if line.startswith('diff'): if filename: yield (filename, adds, removes) # set numbers to 0 anyway when starting new file - adds = 0 - removes = 0 + adds, removes = 0, 0 if line.startswith('diff --git'): filename = gitre.search(line).group(1) else: @@ -1360,7 +1359,8 @@ adds += 1 elif line.startswith('-') and not line.startswith('---'): removes += 1 - yield (filename, adds, removes) + if filename: + yield (filename, adds, removes) def diffstat(lines): output = [] diff -r b0a0eb28a933 -r 3cc74ee75b0d tests/test-notify --- a/tests/test-notify Sat Jan 17 15:25:20 2009 +0100 +++ b/tests/test-notify Tue Jan 13 20:28:06 2009 +0200 @@ -84,3 +84,17 @@ hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \ -e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \ -e 's/^Date:.*/Date:/' + +echo % test merge +cd a +hg up -C 0 +echo a >> a +hg ci -Am adda2 -d '2 0' +hg merge +hg ci -m merge -d '3 0' +cd .. + +hg --traceback --cwd b pull ../a 2>&1 | sed -e 's/\(Message-Id:\).*/\1/' \ + -e 's/changeset \([0-9a-f]*\) in .*/changeset \1/' \ + -e 's/^Date:.*/Date:/' + diff -r b0a0eb28a933 -r 3cc74ee75b0d tests/test-notify.out --- a/tests/test-notify.out Sat Jan 17 15:25:20 2009 +0100 +++ b/tests/test-notify.out Tue Jan 13 20:28:06 2009 +0200 @@ -164,3 +164,56 @@ a +a (run 'hg update' to get a working copy) +% test merge +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +created new head +0 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) +pulling from ../a +searching for changes +adding changesets +adding manifests +adding file changes +added 2 changesets with 0 changes to 1 files +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Test: foo +Date: +Subject: adda2 +From: test@test.com +X-Hg-Notification: changeset 0a184ce6067f +Message-Id: +To: baz@test.com, foo@bar + +changeset 0a184ce6067f +description: + adda2 +diffstat: + + a | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diffs (6 lines): + +diff -r cb9a9f314b8b -r 0a184ce6067f a +--- a/a Thu Jan 01 00:00:00 1970 +0000 ++++ b/a Thu Jan 01 00:00:02 1970 +0000 +@@ -1,1 +1,2 @@ + a ++a +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Test: foo +Date: +Subject: merge +From: test@test.com +X-Hg-Notification: changeset 22c88b85aa27 +Message-Id: +To: baz@test.com, foo@bar + +changeset 22c88b85aa27 +description: + merge +(run 'hg update' to get a working copy)