Show More
@@ -990,14 +990,20 b' proxy.' | |||
|
990 | 990 | |
|
991 | 991 | This section specifies behavior during merges and updates. |
|
992 | 992 | |
|
993 |
``check |
|
|
994 |
Controls behavior when an |
|
|
993 | ``checkignored`` | |
|
994 | Controls behavior when an ignored file on disk has the same name as a tracked | |
|
995 | 995 | file in the changeset being merged or updated to, and has different |
|
996 | 996 | contents. Options are ``abort``, ``warn`` and ``ignore``. With ``abort``, |
|
997 | 997 | abort on such files. With ``warn``, warn on such files and back them up as |
|
998 | 998 | .orig. With ``ignore``, don't print a warning and back them up as |
|
999 | 999 | .orig. (default: ``abort``) |
|
1000 | 1000 | |
|
1001 | ``checkunknown`` | |
|
1002 | Controls behavior when an unknown file that isn't ignored has the same name | |
|
1003 | as a tracked file in the changeset being merged or updated to, and has | |
|
1004 | different contents. Similar to ``merge.checkignored``, except for files that | |
|
1005 | are not ignored. (default: ``abort``) | |
|
1006 | ||
|
1001 | 1007 | ``merge-patterns`` |
|
1002 | 1008 | ------------------ |
|
1003 | 1009 |
@@ -591,7 +591,8 b' def _checkunknownfiles(repo, wctx, mctx,' | |||
|
591 | 591 | elif config == 'warn': |
|
592 | 592 | warnconflicts.update(conflicts) |
|
593 | 593 | |
|
594 | config = _getcheckunknownconfig(repo, 'merge', 'checkunknown') | |
|
594 | unknownconfig = _getcheckunknownconfig(repo, 'merge', 'checkunknown') | |
|
595 | ignoredconfig = _getcheckunknownconfig(repo, 'merge', 'checkignored') | |
|
595 | 596 | for f, (m, args, msg) in actions.iteritems(): |
|
596 | 597 | if m in ('c', 'dc'): |
|
597 | 598 | if _checkunknownfile(repo, wctx, mctx, f): |
@@ -600,7 +601,11 b' def _checkunknownfiles(repo, wctx, mctx,' | |||
|
600 | 601 | if _checkunknownfile(repo, wctx, mctx, f, args[0]): |
|
601 | 602 | conflicts.add(f) |
|
602 | 603 | |
|
603 |
|
|
|
604 | ignoredconflicts = set([c for c in conflicts | |
|
605 | if repo.dirstate._ignore(c)]) | |
|
606 | unknownconflicts = conflicts - ignoredconflicts | |
|
607 | collectconflicts(ignoredconflicts, ignoredconfig) | |
|
608 | collectconflicts(unknownconflicts, unknownconfig) | |
|
604 | 609 | for f in sorted(abortconflicts): |
|
605 | 610 | repo.ui.warn(_("%s: untracked file differs\n") % f) |
|
606 | 611 | if abortconflicts: |
@@ -152,10 +152,78 b' this merge should silently ignore' | |||
|
152 | 152 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
153 | 153 | (branch merge, don't forget to commit) |
|
154 | 154 | |
|
155 | merge.checkignored | |
|
156 | $ hg up --clean 1 | |
|
157 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
|
158 | $ cat >> .hgignore << EOF | |
|
159 | > remoteignored | |
|
160 | > EOF | |
|
161 | $ echo This is file localignored3 > localignored | |
|
162 | $ echo This is file remoteignored3 > remoteignored | |
|
163 | $ hg add .hgignore localignored remoteignored | |
|
164 | $ hg commit -m "commit #3" | |
|
165 | ||
|
166 | $ hg up 2 | |
|
167 | 1 files updated, 0 files merged, 4 files removed, 0 files unresolved | |
|
168 | $ cat >> .hgignore << EOF | |
|
169 | > localignored | |
|
170 | > EOF | |
|
171 | $ hg add .hgignore | |
|
172 | $ hg commit -m "commit #4" | |
|
173 | ||
|
174 | remote .hgignore shouldn't be used for determining whether a file is ignored | |
|
175 | $ echo This is file remoteignored4 > remoteignored | |
|
176 | $ hg merge 3 --config merge.checkignored=ignore --config merge.checkunknown=abort | |
|
177 | remoteignored: untracked file differs | |
|
178 | abort: untracked files in working directory differ from files in requested revision | |
|
179 | [255] | |
|
180 | $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=ignore | |
|
181 | merging .hgignore | |
|
182 | merging for .hgignore | |
|
183 | 3 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
|
184 | (branch merge, don't forget to commit) | |
|
185 | $ cat remoteignored | |
|
186 | This is file remoteignored3 | |
|
187 | $ cat remoteignored.orig | |
|
188 | This is file remoteignored4 | |
|
189 | $ rm remoteignored.orig | |
|
190 | ||
|
191 | local .hgignore should be used for that | |
|
192 | $ hg up --clean 4 | |
|
193 | 1 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
|
194 | $ echo This is file localignored4 > localignored | |
|
195 | also test other conflicting files to see we output the full set of warnings | |
|
196 | $ echo This is file b2 > b | |
|
197 | $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=abort | |
|
198 | b: untracked file differs | |
|
199 | localignored: untracked file differs | |
|
200 | abort: untracked files in working directory differ from files in requested revision | |
|
201 | [255] | |
|
202 | $ hg merge 3 --config merge.checkignored=abort --config merge.checkunknown=ignore | |
|
203 | localignored: untracked file differs | |
|
204 | abort: untracked files in working directory differ from files in requested revision | |
|
205 | [255] | |
|
206 | $ hg merge 3 --config merge.checkignored=warn --config merge.checkunknown=abort | |
|
207 | b: untracked file differs | |
|
208 | abort: untracked files in working directory differ from files in requested revision | |
|
209 | [255] | |
|
210 | $ hg merge 3 --config merge.checkignored=warn --config merge.checkunknown=warn | |
|
211 | b: replacing untracked file | |
|
212 | localignored: replacing untracked file | |
|
213 | merging .hgignore | |
|
214 | merging for .hgignore | |
|
215 | 3 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
|
216 | (branch merge, don't forget to commit) | |
|
217 | $ cat localignored | |
|
218 | This is file localignored3 | |
|
219 | $ cat localignored.orig | |
|
220 | This is file localignored4 | |
|
221 | $ rm localignored.orig | |
|
222 | ||
|
155 | 223 | $ cat b.orig |
|
156 | 224 | This is file b2 |
|
157 | 225 | $ hg up --clean 2 |
|
158 |
0 files updated, 0 files merged, |
|
|
226 | 0 files updated, 0 files merged, 4 files removed, 0 files unresolved | |
|
159 | 227 | $ mv b.orig b |
|
160 | 228 | |
|
161 | 229 | this merge of b should work |
General Comments 0
You need to be logged in to leave comments.
Login now