138 raise error.Abort(_("shelved change '%s' not found") % self.name) |
138 raise error.Abort(_("shelved change '%s' not found") % self.name) |
139 |
139 |
140 def applybundle(self): |
140 def applybundle(self): |
141 fp = self.opener() |
141 fp = self.opener() |
142 try: |
142 try: |
|
143 targetphase = phases.internal |
|
144 if not phases.supportinternal(self.repo): |
|
145 targetphase = phases.secret |
143 gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs) |
146 gen = exchange.readbundle(self.repo.ui, fp, self.fname, self.vfs) |
144 bundle2.applybundle(self.repo, gen, self.repo.currenttransaction(), |
147 bundle2.applybundle(self.repo, gen, self.repo.currenttransaction(), |
145 source='unshelve', |
148 source='unshelve', |
146 url='bundle:' + self.vfs.join(self.fname), |
149 url='bundle:' + self.vfs.join(self.fname), |
147 targetphase=phases.secret) |
150 targetphase=targetphase) |
148 finally: |
151 finally: |
149 fp.close() |
152 fp.close() |
150 |
153 |
151 def bundlerepo(self): |
154 def bundlerepo(self): |
152 return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root, |
155 return bundlerepo.bundlerepository(self.repo.baseui, self.repo.root, |
378 def getcommitfunc(extra, interactive, editor=False): |
381 def getcommitfunc(extra, interactive, editor=False): |
379 def commitfunc(ui, repo, message, match, opts): |
382 def commitfunc(ui, repo, message, match, opts): |
380 hasmq = util.safehasattr(repo, 'mq') |
383 hasmq = util.safehasattr(repo, 'mq') |
381 if hasmq: |
384 if hasmq: |
382 saved, repo.mq.checkapplied = repo.mq.checkapplied, False |
385 saved, repo.mq.checkapplied = repo.mq.checkapplied, False |
383 overrides = {('phases', 'new-commit'): phases.secret} |
386 |
|
387 targetphase = phases.internal |
|
388 if not phases.supportinternal(repo): |
|
389 targetphase = phases.secret |
|
390 overrides = {('phases', 'new-commit'): targetphase} |
384 try: |
391 try: |
385 editor_ = False |
392 editor_ = False |
386 if editor: |
393 if editor: |
387 editor_ = cmdutil.getcommiteditor(editform='shelve.shelve', |
394 editor_ = cmdutil.getcommiteditor(editform='shelve.shelve', |
388 **pycompat.strkwargs(opts)) |
395 **pycompat.strkwargs(opts)) |
700 |
707 |
701 with repo.dirstate.parentchange(): |
708 with repo.dirstate.parentchange(): |
702 repo.setparents(state.pendingctx.node(), nodemod.nullid) |
709 repo.setparents(state.pendingctx.node(), nodemod.nullid) |
703 repo.dirstate.write(repo.currenttransaction()) |
710 repo.dirstate.write(repo.currenttransaction()) |
704 |
711 |
705 overrides = {('phases', 'new-commit'): phases.secret} |
712 targetphase = phases.internal |
|
713 if not phases.supportinternal(repo): |
|
714 targetphase = phases.secret |
|
715 overrides = {('phases', 'new-commit'): targetphase} |
706 with repo.ui.configoverride(overrides, 'unshelve'): |
716 with repo.ui.configoverride(overrides, 'unshelve'): |
707 with repo.dirstate.parentchange(): |
717 with repo.dirstate.parentchange(): |
708 repo.setparents(state.parents[0], nodemod.nullid) |
718 repo.setparents(state.parents[0], nodemod.nullid) |
709 newnode = repo.commit(text=shelvectx.description(), |
719 newnode = repo.commit(text=shelvectx.description(), |
710 extra=shelvectx.extra(), |
720 extra=shelvectx.extra(), |