Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/merge.py @ 20588:4c4cd64c754b stable
merge: move merge state file path into a constant
We are about to change the format. Having the file path in a single place make
it easier to update the filename for the new version.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 25 Feb 2014 17:14:49 -0800 |
parents | e4d7cbc94219 |
children | 31993cd23b11 |
comparison
equal
deleted
inserted
replaced
20577:de48422df393 | 20588:4c4cd64c754b |
---|---|
11 import error, util, filemerge, copies, subrepo, worker, dicthelpers | 11 import error, util, filemerge, copies, subrepo, worker, dicthelpers |
12 import errno, os, shutil | 12 import errno, os, shutil |
13 | 13 |
14 class mergestate(object): | 14 class mergestate(object): |
15 '''track 3-way merge state of individual files''' | 15 '''track 3-way merge state of individual files''' |
16 statepath = "merge/state" | |
16 def __init__(self, repo): | 17 def __init__(self, repo): |
17 self._repo = repo | 18 self._repo = repo |
18 self._dirty = False | 19 self._dirty = False |
19 self._read() | 20 self._read() |
20 def reset(self, node=None): | 21 def reset(self, node=None): |
24 shutil.rmtree(self._repo.join("merge"), True) | 25 shutil.rmtree(self._repo.join("merge"), True) |
25 self._dirty = False | 26 self._dirty = False |
26 def _read(self): | 27 def _read(self): |
27 self._state = {} | 28 self._state = {} |
28 try: | 29 try: |
29 f = self._repo.opener("merge/state") | 30 f = self._repo.opener(self.statepath) |
30 for i, l in enumerate(f): | 31 for i, l in enumerate(f): |
31 if i == 0: | 32 if i == 0: |
32 self._local = bin(l[:-1]) | 33 self._local = bin(l[:-1]) |
33 else: | 34 else: |
34 bits = l[:-1].split("\0") | 35 bits = l[:-1].split("\0") |
38 if err.errno != errno.ENOENT: | 39 if err.errno != errno.ENOENT: |
39 raise | 40 raise |
40 self._dirty = False | 41 self._dirty = False |
41 def commit(self): | 42 def commit(self): |
42 if self._dirty: | 43 if self._dirty: |
43 f = self._repo.opener("merge/state", "w") | 44 f = self._repo.opener(self.statepath, "w") |
44 f.write(hex(self._local) + "\n") | 45 f.write(hex(self._local) + "\n") |
45 for d, v in self._state.iteritems(): | 46 for d, v in self._state.iteritems(): |
46 f.write("\0".join([d] + v) + "\n") | 47 f.write("\0".join([d] + v) + "\n") |
47 f.close() | 48 f.close() |
48 self._dirty = False | 49 self._dirty = False |