Mercurial > hgsubversion
comparison utility_commands.py @ 254:9ba31af57e4b
Move utility_commands.find_wc_parent_rev() to cmdutil.parentrev().
| author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
|---|---|
| date | Fri, 10 Apr 2009 17:29:45 +0200 |
| parents | c3d5c4ae9c7c |
| children | 7932d098cb5f |
comparison
equal
deleted
inserted
replaced
| 253:c3d5c4ae9c7c | 254:9ba31af57e4b |
|---|---|
| 1 import os | 1 import os |
| 2 | 2 |
| 3 import mercurial | 3 import mercurial |
| 4 from mercurial import cmdutil | 4 from mercurial import cmdutil as hgcmdutil |
| 5 from mercurial import node | 5 from mercurial import node |
| 6 from mercurial import util as hgutil | 6 from mercurial import util as hgutil |
| 7 from hgext import rebase as hgrebase | 7 from hgext import rebase as hgrebase |
| 8 | 8 |
| 9 import svnwrap | 9 import svnwrap |
| 10 import cmdutil | |
| 10 import util | 11 import util |
| 11 import hg_delta_editor | 12 import hg_delta_editor |
| 12 | 13 |
| 13 def url(ui, repo, hg_repo_path, **opts): | 14 def url(ui, repo, hg_repo_path, **opts): |
| 14 """show the location (URL) of the Subversion repository | 15 """show the location (URL) of the Subversion repository |
| 15 """ | 16 """ |
| 16 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, | 17 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, |
| 17 ui_=ui) | 18 ui_=ui) |
| 18 ui.status(hge.url, '\n') | 19 ui.status(hge.url, '\n') |
| 19 | |
| 20 | |
| 21 def find_wc_parent_rev(ui, repo, hge, svn_commit_hashes): | |
| 22 """Find the svn parent revision of the repo's dirstate. | |
| 23 """ | |
| 24 workingctx = repo.parents()[0] | |
| 25 o_r = util.outgoing_revisions(ui, repo, hge, svn_commit_hashes, workingctx.node()) | |
| 26 if o_r: | |
| 27 workingctx = repo[o_r[-1]].parents()[0] | |
| 28 return workingctx | |
| 29 | 20 |
| 30 | 21 |
| 31 def genignore(ui, repo, hg_repo_path, force=False, **opts): | 22 def genignore(ui, repo, hg_repo_path, force=False, **opts): |
| 32 """generate .hgignore from svn:ignore properties. | 23 """generate .hgignore from svn:ignore properties. |
| 33 """ | 24 """ |
| 38 ignorefile.write('.hgignore\nsyntax:glob\n') | 29 ignorefile.write('.hgignore\nsyntax:glob\n') |
| 39 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, | 30 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, |
| 40 ui_=ui) | 31 ui_=ui) |
| 41 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), | 32 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), |
| 42 hge.revmap.iterkeys())) | 33 hge.revmap.iterkeys())) |
| 43 parent = find_wc_parent_rev(ui, repo, hge, svn_commit_hashes) | 34 parent = cmdutil.parentrev(ui, repo, hge, svn_commit_hashes) |
| 44 r, br = svn_commit_hashes[parent.node()] | 35 r, br = svn_commit_hashes[parent.node()] |
| 45 if br == None: | 36 if br == None: |
| 46 branchpath = 'trunk' | 37 branchpath = 'trunk' |
| 47 else: | 38 else: |
| 48 branchpath = 'branches/%s' % br | 39 branchpath = 'branches/%s' % br |
| 69 """ | 60 """ |
| 70 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, | 61 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, |
| 71 ui_=ui) | 62 ui_=ui) |
| 72 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), | 63 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), |
| 73 hge.revmap.iterkeys())) | 64 hge.revmap.iterkeys())) |
| 74 parent = find_wc_parent_rev(ui, repo, hge, svn_commit_hashes) | 65 parent = cmdutil.parentrev(ui, repo, hge, svn_commit_hashes) |
| 75 pn = parent.node() | 66 pn = parent.node() |
| 76 if pn not in svn_commit_hashes: | 67 if pn not in svn_commit_hashes: |
| 77 ui.status('Not a child of an svn revision.\n') | 68 ui.status('Not a child of an svn revision.\n') |
| 78 return 0 | 69 return 0 |
| 79 r, br = svn_commit_hashes[pn] | 70 r, br = svn_commit_hashes[pn] |
| 116 """ | 107 """ |
| 117 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, | 108 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, |
| 118 ui_=ui) | 109 ui_=ui) |
| 119 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), | 110 svn_commit_hashes = dict(zip(hge.revmap.itervalues(), |
| 120 hge.revmap.iterkeys())) | 111 hge.revmap.iterkeys())) |
| 121 ha = find_wc_parent_rev(ui, repo, hge, svn_commit_hashes) | 112 ha = cmdutil.parentrev(ui, repo, hge, svn_commit_hashes) |
| 122 if ha.node() != node.nullid: | 113 if ha.node() != node.nullid: |
| 123 r, br = svn_commit_hashes[ha.node()] | 114 r, br = svn_commit_hashes[ha.node()] |
| 124 ui.status('Working copy parent revision is %s: r%s on %s\n' % | 115 ui.status('Working copy parent revision is %s: r%s on %s\n' % |
| 125 (ha, r, br or 'trunk')) | 116 (ha, r, br or 'trunk')) |
| 126 else: | 117 else: |
| 185 hge.revmap.iterkeys())) | 176 hge.revmap.iterkeys())) |
| 186 o_r = util.outgoing_revisions(ui, repo, hge, svn_commit_hashes, repo.parents()[0].node()) | 177 o_r = util.outgoing_revisions(ui, repo, hge, svn_commit_hashes, repo.parents()[0].node()) |
| 187 if not (o_r and len(o_r)): | 178 if not (o_r and len(o_r)): |
| 188 ui.status('No outgoing changes found.\n') | 179 ui.status('No outgoing changes found.\n') |
| 189 return 0 | 180 return 0 |
| 190 displayer = cmdutil.show_changeset(ui, repo, opts, buffered=False) | 181 displayer = hgcmdutil.show_changeset(ui, repo, opts, buffered=False) |
| 191 for node in reversed(o_r): | 182 for node in reversed(o_r): |
| 192 displayer.show(repo[node]) | 183 displayer.show(repo[node]) |
| 193 | 184 |
| 194 | 185 |
| 195 def listauthors(ui, args, authors=None, **opts): | 186 def listauthors(ui, args, authors=None, **opts): |
