Mercurial > hgsubversion
comparison fetch_command.py @ 186:6266ba36ee15
Create patch to make normal output much less verboseā¦
author | Dan Villiom Podlaski Christiansen <danchr@cs.au.dk> |
---|---|
date | Sat, 17 Jan 2009 15:30:38 -0600 |
parents | 57355b0e7bd1 |
children | 68e506bc3a43 |
comparison
equal
deleted
inserted
replaced
185:57355b0e7bd1 | 186:6266ba36ee15 |
---|---|
77 # got a 502? Try more than once! | 77 # got a 502? Try more than once! |
78 tries = 0 | 78 tries = 0 |
79 converted = False | 79 converted = False |
80 while not converted and tries < 3: | 80 while not converted and tries < 3: |
81 try: | 81 try: |
82 ui.status('converting %s\n' % r) | 82 ui.status(util.describe_revision(r)) |
83 if have_replay: | 83 if have_replay: |
84 try: | 84 try: |
85 replay_convert_rev(hg_editor, svn, r) | 85 replay_convert_rev(hg_editor, svn, r) |
86 except svnwrap.SubversionRepoCanNotReplay, e: #pragma: no cover | 86 except svnwrap.SubversionRepoCanNotReplay, e: #pragma: no cover |
87 ui.status('%s\n' % e.message) | 87 ui.status('%s\n' % e.message) |
121 hg_editor.ui.status('Fetching %s files that could not use replay.\n' % | 121 hg_editor.ui.status('Fetching %s files that could not use replay.\n' % |
122 len(hg_editor.missing_plaintexts)) | 122 len(hg_editor.missing_plaintexts)) |
123 files_to_grab = set() | 123 files_to_grab = set() |
124 rootpath = svn.subdir and svn.subdir[1:] or '' | 124 rootpath = svn.subdir and svn.subdir[1:] or '' |
125 for p in hg_editor.missing_plaintexts: | 125 for p in hg_editor.missing_plaintexts: |
126 hg_editor.ui.status('.') | 126 hg_editor.ui.note('.') |
127 hg_editor.ui.flush() | 127 hg_editor.ui.flush() |
128 if p[-1] == '/': | 128 if p[-1] == '/': |
129 dirpath = p[len(rootpath):] | 129 dirpath = p[len(rootpath):] |
130 files_to_grab.update([dirpath + f for f,k in | 130 files_to_grab.update([dirpath + f for f,k in |
131 svn.list_files(dirpath, r.revnum) | 131 svn.list_files(dirpath, r.revnum) |
132 if k == 'f']) | 132 if k == 'f']) |
133 else: | 133 else: |
134 files_to_grab.add(p[len(rootpath):]) | 134 files_to_grab.add(p[len(rootpath):]) |
135 hg_editor.ui.status('\nFetching files...\n') | 135 hg_editor.ui.note('\nFetching files...\n') |
136 for p in files_to_grab: | 136 for p in files_to_grab: |
137 hg_editor.ui.status('.') | 137 hg_editor.ui.note('.') |
138 hg_editor.ui.flush() | 138 hg_editor.ui.flush() |
139 cleanup_file_handles(svn, i) | 139 cleanup_file_handles(svn, i) |
140 i += 1 | 140 i += 1 |
141 data, mode = svn.get_file(p, r.revnum) | 141 data, mode = svn.get_file(p, r.revnum) |
142 hg_editor.set_file(p, data, 'x' in mode, 'l' in mode) | 142 hg_editor.set_file(p, data, 'x' in mode, 'l' in mode) |
143 hg_editor.missing_plaintexts = set() | 143 hg_editor.missing_plaintexts = set() |
144 hg_editor.ui.status('\n') | 144 hg_editor.ui.note('\n') |
145 hg_editor.commit_current_delta() | 145 hg_editor.commit_current_delta() |
146 | 146 |
147 | 147 |
148 binary_file_re = re.compile(r'''Index: ([^\n]*) | 148 binary_file_re = re.compile(r'''Index: ([^\n]*) |
149 =* | 149 =* |
266 # type stored and doesn't know a file is binary. It would | 266 # type stored and doesn't know a file is binary. It would |
267 # be better to do one file at a time and only do a | 267 # be better to do one file at a time and only do a |
268 # full fetch on files that had problems. | 268 # full fetch on files that had problems. |
269 raise BadPatchApply('patching failed') | 269 raise BadPatchApply('patching failed') |
270 for x in files_data.iterkeys(): | 270 for x in files_data.iterkeys(): |
271 ui.status('M %s\n' % x) | 271 ui.note('M %s\n' % x) |
272 # if this patch didn't apply right, fall back to exporting the | 272 # if this patch didn't apply right, fall back to exporting the |
273 # entire rev. | 273 # entire rev. |
274 if patch_st == -1: | 274 if patch_st == -1: |
275 assert False, ('This should only happen on case-insensitive' | 275 assert False, ('This should only happen on case-insensitive' |
276 ' volumes.') | 276 ' volumes.') |
584 for f in files_touched: | 584 for f in files_touched: |
585 if f: | 585 if f: |
586 assert f[0] != '/' | 586 assert f[0] != '/' |
587 current_ctx = context.memctx(hg_editor.repo, | 587 current_ctx = context.memctx(hg_editor.repo, |
588 [parentctx.node(), revlog.nullid], | 588 [parentctx.node(), revlog.nullid], |
589 r.message or '...', | 589 r.message or util.default_commit_msg, |
590 files_touched, | 590 files_touched, |
591 filectxfn, | 591 filectxfn, |
592 hg_editor.authorforsvnauthor(r.author), | 592 hg_editor.authorforsvnauthor(r.author), |
593 date, | 593 date, |
594 extra) | 594 extra) |
595 ha = hg_editor.repo.commitctx(current_ctx) | 595 ha = hg_editor.repo.commitctx(current_ctx) |
596 hg_editor.add_to_revmap(r.revnum, b, ha) | 596 hg_editor.add_to_revmap(r.revnum, b, ha) |
597 hg_editor._save_metadata() | 597 hg_editor._save_metadata() |
598 ui.status('committed as %s on branch %s\n' % | 598 ui.status(util.describe_commit(ha, b)) |
599 (node.hex(ha), b or 'default')) | |
600 # These are branches which would have an 'R' status in svn log. This means they were | 599 # These are branches which would have an 'R' status in svn log. This means they were |
601 # replaced by some other branch, so we need to verify they get marked as closed. | 600 # replaced by some other branch, so we need to verify they get marked as closed. |
602 for branch in check_deleted_branches: | 601 for branch in check_deleted_branches: |
603 branchedits = sorted(filter(lambda x: x[0][1] == branch and x[0][0] < r.revnum, | 602 branchedits = sorted(filter(lambda x: x[0][1] == branch and x[0][0] < r.revnum, |
604 hg_editor.revmap.iteritems()), reverse=True) | 603 hg_editor.revmap.iteritems()), reverse=True) |
622 if 'closed-branches' in hg_editor.repo.branchtags(): | 621 if 'closed-branches' in hg_editor.repo.branchtags(): |
623 closed = hg_editor.repo['closed-branches'].node() | 622 closed = hg_editor.repo['closed-branches'].node() |
624 parents = (parent, closed) | 623 parents = (parent, closed) |
625 current_ctx = context.memctx(hg_editor.repo, | 624 current_ctx = context.memctx(hg_editor.repo, |
626 parents, | 625 parents, |
627 r.message or '...', | 626 r.message or util.default_commit_msg, |
628 files_touched, | 627 files_touched, |
629 filectxfn, | 628 filectxfn, |
630 hg_editor.authorforsvnauthor(r.author), | 629 hg_editor.authorforsvnauthor(r.author), |
631 date, | 630 date, |
632 {'branch': 'closed-branches'}) | 631 {'branch': 'closed-branches'}) |