Show More
@@ -66,6 +66,7 from mercurial import commands, cmdutil, | |||||
66 | from mercurial import repair, extensions, error, phases |
|
66 | from mercurial import repair, extensions, error, phases | |
67 | from mercurial import patch as patchmod |
|
67 | from mercurial import patch as patchmod | |
68 | from mercurial import localrepo |
|
68 | from mercurial import localrepo | |
|
69 | from mercurial import subrepo | |||
69 | import os, re, errno, shutil |
|
70 | import os, re, errno, shutil | |
70 |
|
71 | |||
71 | commands.norepo += " qclone" |
|
72 | commands.norepo += " qclone" | |
@@ -800,6 +801,14 class queue(object): | |||||
800 | p1, p2 = repo.dirstate.parents() |
|
801 | p1, p2 = repo.dirstate.parents() | |
801 | repo.setparents(p1, merge) |
|
802 | repo.setparents(p1, merge) | |
802 |
|
803 | |||
|
804 | if all_files and '.hgsubstate' in all_files: | |||
|
805 | wctx = repo['.'] | |||
|
806 | mctx = actx = repo[None] | |||
|
807 | overwrite = False | |||
|
808 | mergedsubstate = subrepo.submerge(repo, wctx, mctx, actx, | |||
|
809 | overwrite) | |||
|
810 | files += mergedsubstate.keys() | |||
|
811 | ||||
803 | match = scmutil.matchfiles(repo, files or []) |
|
812 | match = scmutil.matchfiles(repo, files or []) | |
804 | oldtip = repo['tip'] |
|
813 | oldtip = repo['tip'] | |
805 | n = newcommit(repo, None, message, ph.user, ph.date, match=match, |
|
814 | n = newcommit(repo, None, message, ph.user, ph.date, match=match, | |
@@ -1459,6 +1468,8 class queue(object): | |||||
1459 | self.ui.status(_("popping %s\n") % patch.name) |
|
1468 | self.ui.status(_("popping %s\n") % patch.name) | |
1460 | del self.applied[start:end] |
|
1469 | del self.applied[start:end] | |
1461 | self.strip(repo, [rev], update=False, backup='strip') |
|
1470 | self.strip(repo, [rev], update=False, backup='strip') | |
|
1471 | for s, state in repo['.'].substate.items(): | |||
|
1472 | repo['.'].sub(s).get(state) | |||
1462 | if self.applied: |
|
1473 | if self.applied: | |
1463 | self.ui.write(_("now at: %s\n") % self.applied[-1].name) |
|
1474 | self.ui.write(_("now at: %s\n") % self.applied[-1].name) | |
1464 | else: |
|
1475 | else: |
@@ -230,6 +230,8 handle subrepos safely on qpush/qpop | |||||
230 | $ hg -R sub commit -m foo |
|
230 | $ hg -R sub commit -m foo | |
231 | $ hg commit -m1 |
|
231 | $ hg commit -m1 | |
232 | $ hg qimport -r "0:tip" |
|
232 | $ hg qimport -r "0:tip" | |
|
233 | $ hg -R sub id --id | |||
|
234 | aa037b301eba | |||
233 |
|
235 | |||
234 | qpop |
|
236 | qpop | |
235 | $ hg -R sub update 0000 |
|
237 | $ hg -R sub update 0000 | |
@@ -244,13 +246,11 qpop | |||||
244 | popping 1.diff |
|
246 | popping 1.diff | |
245 | now at: 0.diff |
|
247 | now at: 0.diff | |
246 | $ hg status -AS |
|
248 | $ hg status -AS | |
247 | M sub/a |
|
|||
248 | C .hgsub |
|
249 | C .hgsub | |
249 | C .hgsubstate |
|
250 | C .hgsubstate | |
250 | $ hg debugsub |
|
251 | C sub/a | |
251 | path sub |
|
252 | $ hg -R sub id --id | |
252 | source sub |
|
253 | b2fdb12cd82b | |
253 | revision b2fdb12cd82b021c3b7053d67802e77b6eeaee31 |
|
|||
254 |
|
254 | |||
255 | qpush |
|
255 | qpush | |
256 | $ hg -R sub update 0000 |
|
256 | $ hg -R sub update 0000 | |
@@ -263,15 +263,14 qpush | |||||
263 | adding sub/a |
|
263 | adding sub/a | |
264 | $ hg qpush |
|
264 | $ hg qpush | |
265 | applying 1.diff |
|
265 | applying 1.diff | |
|
266 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |||
266 | now at: 1.diff |
|
267 | now at: 1.diff | |
267 | $ hg status -AS |
|
268 | $ hg status -AS | |
268 | M .hgsubstate |
|
|||
269 | C .hgsub |
|
269 | C .hgsub | |
|
270 | C .hgsubstate | |||
270 | C sub/a |
|
271 | C sub/a | |
271 | $ hg debugsub |
|
272 | $ hg -R sub id --id | |
272 | path sub |
|
273 | aa037b301eba | |
273 | source sub |
|
|||
274 | revision aa037b301eba54f350c75951b5486727fb98cbb5 |
|
|||
275 |
|
274 | |||
276 | $ cd .. |
|
275 | $ cd .. | |
277 |
|
276 |
General Comments 0
You need to be logged in to leave comments.
Login now