comparison tests/test-pathconflicts-merge.t @ 35704:41ef02ba329b

merge: add `--abort` flag which can abort the merge Currently we don't have a good functionality to abort the merge and tell user to do `hg update -C .` which can leads to different results if user missed the '.' and moreover does not align with other abort functionalities like rebase, shelve etc. This patch adds `hg merge --abort` which will abort the ongoing merge and take us back to the chagneset where we started from. Works in both cases when merge resulted in conflicts and when there were no conflicts. .. feature:: A `--abort` flag to merge command to abort the ongoing merge. Differential Revision: https://phab.mercurial-scm.org/D1829
author Pulkit Goyal <7895pulkit@gmail.com>
date Mon, 08 Jan 2018 19:41:47 +0530
parents cf532a62e337
children a8a0cafcef79
comparison
equal deleted inserted replaced
35703:9a50ffd15b25 35704:41ef02ba329b
51 the local file has been renamed to a/b~0ed027b96f31 51 the local file has been renamed to a/b~0ed027b96f31
52 resolve manually then use 'hg resolve --mark a/b' 52 resolve manually then use 'hg resolve --mark a/b'
53 moving a/b to a/b~0ed027b96f31 53 moving a/b to a/b~0ed027b96f31
54 getting a/b/c/d 54 getting a/b/c/d
55 1 files updated, 0 files merged, 0 files removed, 1 files unresolved 55 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
56 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon 56 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
57 [1] 57 [1]
58 $ hg status 58 $ hg status
59 M a/b/c/d 59 M a/b/c/d
60 A a/b~0ed027b96f31 60 A a/b~0ed027b96f31
61 R a/b 61 R a/b
75 $ hg merge dir 75 $ hg merge dir
76 a/b: path conflict - a file or link has the same name as a directory 76 a/b: path conflict - a file or link has the same name as a directory
77 the local file has been renamed to a/b~2ea68033e3be 77 the local file has been renamed to a/b~2ea68033e3be
78 resolve manually then use 'hg resolve --mark a/b' 78 resolve manually then use 'hg resolve --mark a/b'
79 1 files updated, 0 files merged, 0 files removed, 1 files unresolved 79 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
80 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon 80 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
81 [1] 81 [1]
82 $ hg status 82 $ hg status
83 M a/b/c/d 83 M a/b/c/d
84 A a/b~2ea68033e3be 84 A a/b~2ea68033e3be
85 R a/b 85 R a/b
103 $ hg merge file 103 $ hg merge file
104 a/b: path conflict - a file or link has the same name as a directory 104 a/b: path conflict - a file or link has the same name as a directory
105 the remote file has been renamed to a/b~0ed027b96f31 105 the remote file has been renamed to a/b~0ed027b96f31
106 resolve manually then use 'hg resolve --mark a/b' 106 resolve manually then use 'hg resolve --mark a/b'
107 1 files updated, 0 files merged, 0 files removed, 1 files unresolved 107 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
108 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon 108 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
109 [1] 109 [1]
110 $ hg status 110 $ hg status
111 A a/b~0ed027b96f31 111 A a/b~0ed027b96f31
112 $ hg resolve --all 112 $ hg resolve --all
113 a/b: path conflict must be resolved manually 113 a/b: path conflict must be resolved manually
126 $ hg merge link 126 $ hg merge link
127 a/b: path conflict - a file or link has the same name as a directory 127 a/b: path conflict - a file or link has the same name as a directory
128 the remote file has been renamed to a/b~2ea68033e3be 128 the remote file has been renamed to a/b~2ea68033e3be
129 resolve manually then use 'hg resolve --mark a/b' 129 resolve manually then use 'hg resolve --mark a/b'
130 1 files updated, 0 files merged, 0 files removed, 1 files unresolved 130 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
131 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon 131 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
132 [1] 132 [1]
133 $ hg mv a/b~2ea68033e3be a/b.old 133 $ hg mv a/b~2ea68033e3be a/b.old
134 $ readlink.py a/b.old 134 $ readlink.py a/b.old
135 a/b.old -> c 135 a/b.old -> c
136 $ hg resolve --mark a/b 136 $ hg resolve --mark a/b