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``, |
|
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