##// END OF EJS Templates
merge-tools: add a `premerge=keep-merge3` config option...
Pierre-Yves David -
r22032:d7f25834 default
parent child Browse files
Show More
@@ -178,7 +178,7 def _premerge(repo, toolconf, files, lab
178
178
179 ui = repo.ui
179 ui = repo.ui
180
180
181 validkeep = ['keep']
181 validkeep = ['keep', 'keep-merge3']
182
182
183 # do we attempt to simplemerge first?
183 # do we attempt to simplemerge first?
184 try:
184 try:
@@ -192,6 +192,11 def _premerge(repo, toolconf, files, lab
192 (tool, premerge, _valid))
192 (tool, premerge, _valid))
193
193
194 if premerge:
194 if premerge:
195 if premerge == 'keep-merge3':
196 if not labels:
197 labels = _defaultconflictlabels
198 if len(labels) < 3:
199 labels.append('base')
195 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels)
200 r = simplemerge.simplemerge(ui, a, b, c, quiet=True, label=labels)
196 if not r:
201 if not r:
197 ui.debug(" premerge successful\n")
202 ui.debug(" premerge successful\n")
@@ -954,8 +954,10 Supported arguments:
954
954
955 ``premerge``
955 ``premerge``
956 Attempt to run internal non-interactive 3-way merge tool before
956 Attempt to run internal non-interactive 3-way merge tool before
957 launching external tool. Options are ``true``, ``false``, or ``keep``
957 launching external tool. Options are ``true``, ``false``, ``keep`` or
958 to leave markers in the file if the premerge fails.
958 ``keep-merge3``. The ``keep`` option will leave markers in the file if the
959 premerge fails. The ``keep-merge3`` will do the same but include information
960 about the base of the merge in the marker (see internal:merge3).
959 Default: True
961 Default: True
960
962
961 ``binary``
963 ``binary``
@@ -741,6 +741,44 premerge=keep keeps conflict markers in:
741 # hg stat
741 # hg stat
742 M f
742 M f
743
743
744 premerge=keep-merge3 keeps conflict markers with base content:
745
746 $ beforemerge
747 [merge-tools]
748 false.whatever=
749 true.priority=1
750 true.executable=cat
751 # hg update -C 1
752 $ hg merge -r 4 --config merge-tools.true.premerge=keep-merge3
753 merging f
754 <<<<<<< local: ef83787e2614 - test: revision 1
755 revision 1
756 space
757 ||||||| base
758 revision 0
759 space
760 =======
761 revision 4
762 >>>>>>> other: 81448d39c9a0 - test: revision 4
763 revision 0
764 space
765 revision 4
766 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
767 (branch merge, don't forget to commit)
768 $ aftermerge
769 # cat f
770 <<<<<<< local: ef83787e2614 - test: revision 1
771 revision 1
772 space
773 ||||||| base
774 revision 0
775 space
776 =======
777 revision 4
778 >>>>>>> other: 81448d39c9a0 - test: revision 4
779 # hg stat
780 M f
781
744
782
745 Tool execution
783 Tool execution
746
784
General Comments 0
You need to be logged in to leave comments. Login now