Fix parsing og `hg merge` output for Mercurial 4.6 and newer
In Mercurial 4.6 the wording of last line of the output has changed.
This commit updates the parser so it can handle both wordings.
--- a/mercurial/HGCommandParser.st Thu Aug 23 10:37:24 2018 +0100
+++ b/mercurial/HGCommandParser.st Thu Aug 23 10:44:42 2018 +0100
@@ -876,14 +876,24 @@
^info
].
c == $u ifTrue:[
- self expect: 'se ''hg resolve'' to retry unresolved file merges or ''hg update -C .'' to abandon'.
- self expectLineEnd.
+ "/ Mercurial 4.6 and newer prints
+ "/
+ "/ use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
+ "/
+ "/ while older versions print
+ "/
+ "/ use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+ "/
+ "/ We have to support both...
+
+ self expect: 'se ''hg resolve'' to retry unresolved file merges or ''hg '.
+ self nextLine. "/ eat the rest of the line
^info
].
self error:('Unexpected character ''%1'' expecting ''('' or ''u''' bindWith: c)
"Created: / 14-01-2013 / 15:57:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 22-03-2013 / 09:00:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 23-08-2018 / 10:28:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
parseCommandPull
--- a/mercurial/HGCommandParserTests.st Thu Aug 23 10:37:24 2018 +0100
+++ b/mercurial/HGCommandParserTests.st Thu Aug 23 10:44:42 2018 +0100
@@ -348,6 +348,31 @@
"Created: / 22-03-2013 / 08:55:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_cmd_merge_04
+
+ | nergeinfo |
+
+ nergeinfo := (HGCommandParser on:'merging Make.proto
+merging Make.spec
+merging MockHGP3Foo.st
+merging abbrev.stc
+merging bc.mak
+merging libInit.cc
+merging mocks_hg_p3.st
+merging p3.rc
+2 files updated, 3 files merged, 0 files removed, 5 files unresolved
+use ''hg resolve'' to retry unresolved file merges or ''hg merge --abort'' to abandon
+'
+) parseCommandMerge.
+
+ self assert: nergeinfo numUpdated = 2.
+ self assert: nergeinfo numMerged = 3.
+ self assert: nergeinfo numRemoved = 0.
+ self assert: nergeinfo numUnresolved = 5.
+
+ "Created: / 23-08-2018 / 10:40:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_cmd_pull_01
| info |