hgext/shelve.py
changeset 30385 b573d7ca31c4
parent 30384 21a75b63c10e
child 30407 e1677cc29da6
equal deleted inserted replaced
30384:21a75b63c10e 30385:b573d7ca31c4
   340                     unknown=True)
   340                     unknown=True)
   341     if s.unknown:
   341     if s.unknown:
   342         extra['shelve_unknown'] = '\0'.join(s.unknown)
   342         extra['shelve_unknown'] = '\0'.join(s.unknown)
   343         repo[None].add(s.unknown)
   343         repo[None].add(s.unknown)
   344 
   344 
       
   345 def _finishshelve(repo):
       
   346     _aborttransaction(repo)
       
   347 
   345 def _docreatecmd(ui, repo, pats, opts):
   348 def _docreatecmd(ui, repo, pats, opts):
   346     wctx = repo[None]
   349     wctx = repo[None]
   347     parents = wctx.parents()
   350     parents = wctx.parents()
   348     if len(parents) > 1:
   351     if len(parents) > 1:
   349         raise error.Abort(_('cannot shelve while merging'))
   352         raise error.Abort(_('cannot shelve while merging'))
   397         ui.status(_('shelved as %s\n') % name)
   400         ui.status(_('shelved as %s\n') % name)
   398         hg.update(repo, parent.node())
   401         hg.update(repo, parent.node())
   399         if origbranch != repo['.'].branch() and not _isbareshelve(pats, opts):
   402         if origbranch != repo['.'].branch() and not _isbareshelve(pats, opts):
   400             repo.dirstate.setbranch(origbranch)
   403             repo.dirstate.setbranch(origbranch)
   401 
   404 
   402         _aborttransaction(repo)
   405         _finishshelve(repo)
   403     finally:
   406     finally:
   404         lockmod.release(tr, lock)
   407         lockmod.release(tr, lock)
   405 
   408 
   406 def _isbareshelve(pats, opts):
   409 def _isbareshelve(pats, opts):
   407     return (not pats
   410     return (not pats