Show More
@@ -69,6 +69,12 b' class convert_git:' | |||
|
69 | 69 | date = " ".join(p[-2:]) |
|
70 | 70 | author = " ".join(p[:-2]) |
|
71 | 71 | if author[0] == "<": author = author[1:-1] |
|
72 | if n == "committer": | |
|
73 | p = v.split() | |
|
74 | date = " ".join(p[-2:]) | |
|
75 | committer = " ".join(p[:-2]) | |
|
76 | if committer[0] == "<": committer = committer[1:-1] | |
|
77 | message += "\ncommitter: %s %s\n" % (committer, date) | |
|
72 | 78 | if n == "parent": parents.append(v) |
|
73 | 79 | return (parents, author, date, message) |
|
74 | 80 | |
@@ -95,14 +101,27 b' class convert_mercurial:' | |||
|
95 | 101 | pass |
|
96 | 102 | |
|
97 | 103 | def putcommit(self, files, parents, author, dest, text): |
|
98 | p1, p2 = "0"*40, "0"*40 | |
|
99 |
if len(parents) |
|
|
100 | if len(parents) > 1: p2 = parents[1] | |
|
101 | if len(parents) > 2: raise "the dreaded octopus merge!" | |
|
104 | if not parents: parents = ["0" * 40] | |
|
105 | if len(parents) < 2: parents.append("0" * 40) | |
|
106 | ||
|
107 | seen = {} | |
|
108 | pl = [] | |
|
109 | for p in parents: | |
|
110 | if p not in seen: | |
|
111 | pl.append(p) | |
|
112 | seen[p] = 1 | |
|
113 | parents = pl | |
|
114 | ||
|
115 | p2 = parents.pop(0) | |
|
116 | c = self.repo.changelog.count() | |
|
117 | while parents: | |
|
118 | p1 = p2 | |
|
119 | p2 = parents.pop(0) | |
|
102 | 120 | self.repo.rawcommit(files, text, author, dest, |
|
103 | 121 | hg.bin(p1), hg.bin(p2)) |
|
122 | text = "(octopus merge fixup)\n" | |
|
104 | 123 | |
|
105 |
return hg.hex(self.repo.changelog. |
|
|
124 | return hg.hex(self.repo.changelog.node(c)) | |
|
106 | 125 | |
|
107 | 126 | class convert: |
|
108 | 127 | def __init__(self, source, dest, mapfile): |
General Comments 0
You need to be logged in to leave comments.
Login now