Show More
@@ -2990,6 +2990,8 b' def resolve(ui, repo, *pats, **opts):' | |||
|
2990 | 2990 | |
|
2991 | 2991 | # replace filemerge's .orig file with our resolve file |
|
2992 | 2992 | util.rename(a + ".resolve", a + ".orig") |
|
2993 | ||
|
2994 | ms.commit() | |
|
2993 | 2995 | return ret |
|
2994 | 2996 | |
|
2995 | 2997 | def revert(ui, repo, *pats, **opts): |
@@ -14,12 +14,14 b' class mergestate(object):' | |||
|
14 | 14 | '''track 3-way merge state of individual files''' |
|
15 | 15 | def __init__(self, repo): |
|
16 | 16 | self._repo = repo |
|
17 | self._dirty = False | |
|
17 | 18 | self._read() |
|
18 | 19 | def reset(self, node=None): |
|
19 | 20 | self._state = {} |
|
20 | 21 | if node: |
|
21 | 22 | self._local = node |
|
22 | 23 | shutil.rmtree(self._repo.join("merge"), True) |
|
24 | self._dirty = False | |
|
23 | 25 | def _read(self): |
|
24 | 26 | self._state = {} |
|
25 | 27 | try: |
@@ -33,17 +35,20 b' class mergestate(object):' | |||
|
33 | 35 | except IOError, err: |
|
34 | 36 | if err.errno != errno.ENOENT: |
|
35 | 37 | raise |
|
36 | def _write(self): | |
|
37 | f = self._repo.opener("merge/state", "w") | |
|
38 | f.write(hex(self._local) + "\n") | |
|
39 | for d, v in self._state.iteritems(): | |
|
40 |
f.write( |
|
|
38 | self._dirty = False | |
|
39 | def commit(self): | |
|
40 | if self._dirty: | |
|
41 | f = self._repo.opener("merge/state", "w") | |
|
42 | f.write(hex(self._local) + "\n") | |
|
43 | for d, v in self._state.iteritems(): | |
|
44 | f.write("\0".join([d] + v) + "\n") | |
|
45 | self._dirty = False | |
|
41 | 46 | def add(self, fcl, fco, fca, fd, flags): |
|
42 | 47 | hash = util.sha1(fcl.path()).hexdigest() |
|
43 | 48 | self._repo.opener("merge/" + hash, "w").write(fcl.data()) |
|
44 | 49 | self._state[fd] = ['u', hash, fcl.path(), fca.path(), |
|
45 | 50 | hex(fca.filenode()), fco.path(), flags] |
|
46 |
self._ |
|
|
51 | self._dirty = True | |
|
47 | 52 | def __contains__(self, dfile): |
|
48 | 53 | return dfile in self._state |
|
49 | 54 | def __getitem__(self, dfile): |
@@ -55,7 +60,7 b' class mergestate(object):' | |||
|
55 | 60 | yield f |
|
56 | 61 | def mark(self, dfile, state): |
|
57 | 62 | self._state[dfile][0] = state |
|
58 |
self._ |
|
|
63 | self._dirty = True | |
|
59 | 64 | def resolve(self, dfile, wctx, octx): |
|
60 | 65 | if self[dfile] == 'r': |
|
61 | 66 | return 0 |
@@ -352,6 +357,7 b' def applyupdates(repo, action, wctx, mct' | |||
|
352 | 357 | elif m == "e": # exec |
|
353 | 358 | flags = a[2] |
|
354 | 359 | util.set_flags(repo.wjoin(f), 'l' in flags, 'x' in flags) |
|
360 | ms.commit() | |
|
355 | 361 | u.progress(_('updating'), None, total=numupdates, unit='files') |
|
356 | 362 | |
|
357 | 363 | return updated, merged, removed, unresolved |
General Comments 0
You need to be logged in to leave comments.
Login now