Show More
@@ -89,10 +89,6 b' class convert_git(converter_source):' | |||
|
89 | 89 | def __init__(self, ui, path, revs=None): |
|
90 | 90 | super(convert_git, self).__init__(ui, path, revs=revs) |
|
91 | 91 | |
|
92 | if revs and len(revs) > 1: | |
|
93 | raise util.Abort(_("git source does not support specifying " | |
|
94 | "multiple revs")) | |
|
95 | ||
|
96 | 92 | if os.path.isdir(path + "/.git"): |
|
97 | 93 | path += "/.git" |
|
98 | 94 | if not os.path.exists(path + "/objects"): |
@@ -126,12 +122,15 b' class convert_git(converter_source):' | |||
|
126 | 122 | if not self.revs: |
|
127 | 123 | heads, ret = self.gitread('git rev-parse --branches --remotes') |
|
128 | 124 | heads = heads.splitlines() |
|
125 | if ret: | |
|
126 | raise util.Abort(_('cannot retrieve git heads')) | |
|
129 | 127 | else: |
|
130 | heads, ret = self.gitread("git rev-parse --verify %s" % | |
|
131 | self.revs[0]) | |
|
132 | heads = [heads[:-1]] | |
|
133 | if ret: | |
|
134 | raise util.Abort(_('cannot retrieve git heads')) | |
|
128 | heads = [] | |
|
129 | for rev in self.revs: | |
|
130 | rawhead, ret = self.gitread("git rev-parse --verify %s" % rev) | |
|
131 | heads.append(rawhead[:-1]) | |
|
132 | if ret: | |
|
133 | raise util.Abort(_('cannot retrieve git head "%s"') % rev) | |
|
135 | 134 | return heads |
|
136 | 135 | |
|
137 | 136 | def catfile(self, rev, type): |
@@ -442,6 +442,40 b' convert author committer' | |||
|
442 | 442 | abort: --sourcesort is not supported by this data source |
|
443 | 443 | [255] |
|
444 | 444 | |
|
445 | test converting certain branches | |
|
446 | ||
|
447 | $ mkdir git-testrevs | |
|
448 | $ cd git-testrevs | |
|
449 | $ git init | |
|
450 | Initialized empty Git repository in $TESTTMP/git-testrevs/.git/ | |
|
451 | $ echo a >> a ; git add a > /dev/null; git commit -m 'first' > /dev/null | |
|
452 | $ echo a >> a ; git add a > /dev/null; git commit -m 'master commit' > /dev/null | |
|
453 | $ git checkout -b goodbranch 'HEAD^' | |
|
454 | Switched to a new branch 'goodbranch' | |
|
455 | $ echo a >> b ; git add b > /dev/null; git commit -m 'good branch commit' > /dev/null | |
|
456 | $ git checkout -b badbranch 'HEAD^' | |
|
457 | Switched to a new branch 'badbranch' | |
|
458 | $ echo a >> c ; git add c > /dev/null; git commit -m 'bad branch commit' > /dev/null | |
|
459 | $ cd .. | |
|
460 | $ hg convert git-testrevs hg-testrevs --rev master --rev goodbranch | |
|
461 | initializing destination hg-testrevs repository | |
|
462 | scanning source... | |
|
463 | sorting... | |
|
464 | converting... | |
|
465 | 2 first | |
|
466 | 1 good branch commit | |
|
467 | 0 master commit | |
|
468 | updating bookmarks | |
|
469 | $ cd hg-testrevs | |
|
470 | $ hg log -G -T '{rev} {bookmarks}' | |
|
471 | o 2 master | |
|
472 | | | |
|
473 | | o 1 goodbranch | |
|
474 | |/ | |
|
475 | o 0 | |
|
476 | ||
|
477 | $ cd .. | |
|
478 | ||
|
445 | 479 | test sub modules |
|
446 | 480 | |
|
447 | 481 | $ mkdir git-repo5 |
General Comments 0
You need to be logged in to leave comments.
Login now