##// END OF EJS Templates
convert-repo fixups...
mpm@selenic.com -
r431:dfc44f3f default
parent child Browse files
Show More
@@ -69,6 +69,12 b' class convert_git:'
69 date = " ".join(p[-2:])
69 date = " ".join(p[-2:])
70 author = " ".join(p[:-2])
70 author = " ".join(p[:-2])
71 if author[0] == "<": author = author[1:-1]
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 if n == "parent": parents.append(v)
78 if n == "parent": parents.append(v)
73 return (parents, author, date, message)
79 return (parents, author, date, message)
74
80
@@ -95,14 +101,27 b' class convert_mercurial:'
95 pass
101 pass
96
102
97 def putcommit(self, files, parents, author, dest, text):
103 def putcommit(self, files, parents, author, dest, text):
98 p1, p2 = "0"*40, "0"*40
104 if not parents: parents = ["0" * 40]
99 if len(parents) > 0: p1 = parents[0]
105 if len(parents) < 2: parents.append("0" * 40)
100 if len(parents) > 1: p2 = parents[1]
106
101 if len(parents) > 2: raise "the dreaded octopus merge!"
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 self.repo.rawcommit(files, text, author, dest,
120 self.repo.rawcommit(files, text, author, dest,
103 hg.bin(p1), hg.bin(p2))
121 hg.bin(p1), hg.bin(p2))
122 text = "(octopus merge fixup)\n"
104
123
105 return hg.hex(self.repo.changelog.tip())
124 return hg.hex(self.repo.changelog.node(c))
106
125
107 class convert:
126 class convert:
108 def __init__(self, source, dest, mapfile):
127 def __init__(self, source, dest, mapfile):
General Comments 0
You need to be logged in to leave comments. Login now