Mercurial > hgsubversion
comparison push_cmd.py @ 86:6ecdbd22eb1d
push_cmd: add option to push in stupid mode
This is mostly useful for test coverage, to roundtrip in stupid mode.
| author | Patrick Mezard <pmezard@gmail.com> |
|---|---|
| date | Fri, 14 Nov 2008 16:18:24 -0600 |
| parents | 05a0c4f6060f |
| children | 1da7aafdd323 |
comparison
equal
deleted
inserted
replaced
| 85:05a0c4f6060f | 86:6ecdbd22eb1d |
|---|---|
| 9 import utility_commands | 9 import utility_commands |
| 10 | 10 |
| 11 | 11 |
| 12 @util.register_subcommand('push') | 12 @util.register_subcommand('push') |
| 13 @util.register_subcommand('dcommit') # for git expats | 13 @util.register_subcommand('dcommit') # for git expats |
| 14 def push_revisions_to_subversion(ui, repo, hg_repo_path, svn_url, **opts): | 14 def push_revisions_to_subversion(ui, repo, hg_repo_path, svn_url, |
| 15 stupid=False, **opts): | |
| 15 """Push revisions starting at a specified head back to Subversion. | 16 """Push revisions starting at a specified head back to Subversion. |
| 16 """ | 17 """ |
| 17 oldencoding = merc_util._encoding | 18 oldencoding = merc_util._encoding |
| 18 merc_util._encoding = 'UTF-8' | 19 merc_util._encoding = 'UTF-8' |
| 19 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, | 20 hge = hg_delta_editor.HgChangeReceiver(hg_repo_path, |
| 41 old_children = repo[base_n].children() | 42 old_children = repo[base_n].children() |
| 42 # 2. Commit oldest revision that needs to be pushed | 43 # 2. Commit oldest revision that needs to be pushed |
| 43 base_revision = svn_commit_hashes[old_ctx.parents()[0].node()][0] | 44 base_revision = svn_commit_hashes[old_ctx.parents()[0].node()][0] |
| 44 commit_from_rev(ui, repo, old_ctx, hge, svn_url, base_revision) | 45 commit_from_rev(ui, repo, old_ctx, hge, svn_url, base_revision) |
| 45 # 3. Fetch revisions from svn | 46 # 3. Fetch revisions from svn |
| 46 r = fetch_command.fetch_revisions(ui, svn_url, hg_repo_path) | 47 r = fetch_command.fetch_revisions(ui, svn_url, hg_repo_path, |
| 48 stupid=stupid) | |
| 47 assert not r or r == 0 | 49 assert not r or r == 0 |
| 48 # 4. Find the new head of the target branch | 50 # 4. Find the new head of the target branch |
| 49 repo = hg.repository(ui, hge.path) | 51 repo = hg.repository(ui, hge.path) |
| 50 base_c = repo[base_n] | 52 base_c = repo[base_n] |
| 51 replacement = [c for c in base_c.children() if c not in old_children | 53 replacement = [c for c in base_c.children() if c not in old_children |
