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 |