equal
deleted
inserted
replaced
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 |