Show More
@@ -67,7 +67,7 b' class Imerge(object):' | |||||
67 | def load(self): |
|
67 | def load(self): | |
68 | # status format. \0-delimited file, fields are |
|
68 | # status format. \0-delimited file, fields are | |
69 | # p1, p2, conflict count, conflict filenames, resolved filenames |
|
69 | # p1, p2, conflict count, conflict filenames, resolved filenames | |
70 |
# conflict filenames are |
|
70 | # conflict filenames are tuples of localname, remoteorig, remotenew | |
71 |
|
71 | |||
72 | statusfile = self.opener('status') |
|
72 | statusfile = self.opener('status') | |
73 |
|
73 | |||
@@ -81,10 +81,10 b' class Imerge(object):' | |||||
81 | raise util.Abort('merge parent %s not in repository' % short(p)) |
|
81 | raise util.Abort('merge parent %s not in repository' % short(p)) | |
82 |
|
82 | |||
83 | status = status[2:] |
|
83 | status = status[2:] | |
84 |
conflicts = int(status.pop(0)) * |
|
84 | conflicts = int(status.pop(0)) * 3 | |
85 | self.resolved = status[conflicts:] |
|
85 | self.resolved = status[conflicts:] | |
86 |
for i in xrange(0, conflicts, |
|
86 | for i in xrange(0, conflicts, 3): | |
87 | self.conflicts[status[i]] = status[i+1] |
|
87 | self.conflicts[status[i]] = (status[i+1], status[i+2]) | |
88 |
|
88 | |||
89 | def save(self): |
|
89 | def save(self): | |
90 | lock = self.repo.lock() |
|
90 | lock = self.repo.lock() | |
@@ -97,7 +97,7 b' class Imerge(object):' | |||||
97 | out.append(str(len(self.conflicts))) |
|
97 | out.append(str(len(self.conflicts))) | |
98 | for f in sorted(self.conflicts): |
|
98 | for f in sorted(self.conflicts): | |
99 | out.append(f) |
|
99 | out.append(f) | |
100 |
out. |
|
100 | out.extend(self.conflicts[f]) | |
101 | out.extend(self.resolved) |
|
101 | out.extend(self.resolved) | |
102 |
|
102 | |||
103 | fd.write('\0'.join(out)) |
|
103 | fd.write('\0'.join(out)) | |
@@ -108,14 +108,14 b' class Imerge(object):' | |||||
108 | def filemerge(self, fn): |
|
108 | def filemerge(self, fn): | |
109 | wlock = self.repo.wlock() |
|
109 | wlock = self.repo.wlock() | |
110 |
|
110 | |||
111 | fo = self.conflicts[fn] |
|
111 | (fd, fo) = self.conflicts[fn] | |
112 | return merge.filemerge(self.repo, fn, fo, self.parents[0], |
|
112 | return merge.filemerge(self.repo, fn, fd, fo, self.parents[0], | |
113 | self.parents[1]) |
|
113 | self.parents[1]) | |
114 |
|
114 | |||
115 | def start(self, rev=None): |
|
115 | def start(self, rev=None): | |
116 | _filemerge = merge.filemerge |
|
116 | _filemerge = merge.filemerge | |
117 | def filemerge(repo, fw, fo, wctx, mctx): |
|
117 | def filemerge(repo, fw, fd, fo, wctx, mctx): | |
118 | self.conflicts[fw] = fo |
|
118 | self.conflicts[fw] = (fd, fo) | |
119 |
|
119 | |||
120 | merge.filemerge = filemerge |
|
120 | merge.filemerge = filemerge | |
121 | commands.merge(self.ui, self.repo, rev=rev) |
|
121 | commands.merge(self.ui, self.repo, rev=rev) | |
@@ -145,11 +145,11 b' class Imerge(object):' | |||||
145 | if remaining: |
|
145 | if remaining: | |
146 | self.ui.write('remaining:\n') |
|
146 | self.ui.write('remaining:\n') | |
147 | for fn in remaining: |
|
147 | for fn in remaining: | |
148 | fo = self.conflicts[fn] |
|
148 | (fd, fo) = self.conflicts[fn] | |
149 | if fn == fo: |
|
149 | if fn == fo: | |
150 | self.ui.write(' %s\n' % (fn,)) |
|
150 | self.ui.write(' %s\n' % (fn,)) | |
151 | else: |
|
151 | else: | |
152 |
self.ui.write(' %s (%s)\n' % (fn, f |
|
152 | self.ui.write(' %s (%s)\n' % (fn, fd)) | |
153 | else: |
|
153 | else: | |
154 | self.ui.write('all conflicts resolved\n') |
|
154 | self.ui.write('all conflicts resolved\n') | |
155 |
|
155 |
General Comments 0
You need to be logged in to leave comments.
Login now