hgext/mq.py
changeset 17922 7f5dab94e48c
parent 17893 4d1da97aa7e7
child 17954 4dc438ddd246
equal deleted inserted replaced
17921:4ac9cf3d810c 17922:7f5dab94e48c
    61 
    61 
    62 from mercurial.i18n import _
    62 from mercurial.i18n import _
    63 from mercurial.node import bin, hex, short, nullid, nullrev
    63 from mercurial.node import bin, hex, short, nullid, nullrev
    64 from mercurial.lock import release
    64 from mercurial.lock import release
    65 from mercurial import commands, cmdutil, hg, scmutil, util, revset
    65 from mercurial import commands, cmdutil, hg, scmutil, util, revset
    66 from mercurial import repair, extensions, error, phases, bookmarks
    66 from mercurial import repair, extensions, error, phases
    67 from mercurial import patch as patchmod
    67 from mercurial import patch as patchmod
    68 import os, re, errno, shutil
    68 import os, re, errno, shutil
    69 
    69 
    70 commands.norepo += " qclone"
    70 commands.norepo += " qclone"
    71 
    71 
  1673                                        changes=c, opts=diffopts)
  1673                                        changes=c, opts=diffopts)
  1674                 for chunk in chunks:
  1674                 for chunk in chunks:
  1675                     patchf.write(chunk)
  1675                     patchf.write(chunk)
  1676                 patchf.close()
  1676                 patchf.close()
  1677 
  1677 
       
  1678                 marks = repo._bookmarks
  1678                 for bm in bmlist:
  1679                 for bm in bmlist:
  1679                     repo._bookmarks[bm] = n
  1680                     marks[bm] = n
  1680                 bookmarks.write(repo)
  1681                 marks.write()
  1681 
  1682 
  1682                 self.applied.append(statusentry(n, patchfn))
  1683                 self.applied.append(statusentry(n, patchfn))
  1683             except: # re-raises
  1684             except: # re-raises
  1684                 ctx = repo[cparents[0]]
  1685                 ctx = repo[cparents[0]]
  1685                 repo.dirstate.rebuild(ctx.node(), ctx.manifest())
  1686                 repo.dirstate.rebuild(ctx.node(), ctx.manifest())
  2997                                "ancestors(bookmark() and not bookmark(%s))",
  2998                                "ancestors(bookmark() and not bookmark(%s))",
  2998                                mark, mark, mark)
  2999                                mark, mark, mark)
  2999             revs.update(set(rsrevs))
  3000             revs.update(set(rsrevs))
  3000         if not revs:
  3001         if not revs:
  3001             del marks[mark]
  3002             del marks[mark]
  3002             repo._writebookmarks(mark)
  3003             marks.write()
  3003             ui.write(_("bookmark '%s' deleted\n") % mark)
  3004             ui.write(_("bookmark '%s' deleted\n") % mark)
  3004 
  3005 
  3005     if not revs:
  3006     if not revs:
  3006         raise util.Abort(_('empty revision set'))
  3007         raise util.Abort(_('empty revision set'))
  3007 
  3008 
  3047         finally:
  3048         finally:
  3048             wlock.release()
  3049             wlock.release()
  3049 
  3050 
  3050     if opts.get('bookmark'):
  3051     if opts.get('bookmark'):
  3051         del marks[mark]
  3052         del marks[mark]
  3052         repo._writebookmarks(marks)
  3053         marks.write()
  3053         ui.write(_("bookmark '%s' deleted\n") % mark)
  3054         ui.write(_("bookmark '%s' deleted\n") % mark)
  3054 
  3055 
  3055     repo.mq.strip(repo, revs, backup=backup, update=update,
  3056     repo.mq.strip(repo, revs, backup=backup, update=update,
  3056                   force=opts.get('force'))
  3057                   force=opts.get('force'))
  3057 
  3058