Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

cache: state for files unresolved in merge

Changeset 19249bb71b03

Parent 1d9f03cd929a

by Simon Heimberg

Changes to one file · Browse files at 19249bb71b03 Showing diff from parent 1d9f03cd929a Diff from another changeset...

 
1
2
 
3
4
5
 
18
19
20
21
 
22
23
24
 
145
146
147
 
 
 
 
148
149
150
151
152
 
 
 
 
 
 
 
 
 
 
153
154
155
 
157
158
159
160
 
161
162
163
 
1
 
2
3
4
5
 
18
19
20
 
21
22
23
24
 
145
146
147
148
149
150
151
152
153
154
155
 
156
157
158
159
160
161
162
163
164
165
166
167
168
 
170
171
172
 
173
174
175
176
@@ -1,5 +1,5 @@
 import os -from mercurial import hg, cmdutil, util, ui +from mercurial import hg, cmdutil, util, ui, node, merge  import thgutil  import sys  try: @@ -18,7 +18,7 @@
 MODIFIED, ADDED, REMOVED, DELETED, UNKNOWN, IGNORED, UNCHANGED = STATUS_STATES  NOT_IN_REPO = ' '  ROOT = "r" - +UNRESOLVED = 'U'    # file status cache  overlay_cache = {} @@ -145,11 +145,24 @@
  return UNKNOWN     print "status() took %g ticks" % (GetTickCount() - tc1) + + mergestate = repo.dirstate.parents()[1] != node.nullid and \ + hasattr(merge, 'mergestate') +   # cached file info   tc = GetTickCount()   overlay_cache = {}   add(root, ROOT) - states = zip(repostate, STATUS_STATES) + states = STATUS_STATES + if mergestate: + mstate = merge.mergestate(repo) + unresolved = [f for f in mstate if mstate[f] == 'u'] + if unresolved: + modified = repostate[0] + modified[:] = set(modified) - set(unresolved) + repostate.insert(0, unresolved) + states = [UNRESOLVED] + states + states = zip(repostate, states)   states[-1], states[-2] = states[-2], states[-1] #clean before ignored   for grp, st in states:   add_dirs(grp) @@ -157,7 +170,7 @@
  fpath = os.path.join(root, os.path.normpath(f))   add(fpath, st)   status = overlay_cache.get(path, UNKNOWN) - print "\n%s: %s" % (path, status) + print "%s: %s" % (path, status)   cache_tick_count = GetTickCount()   return status