Skip to content
Snippets Groups Projects
Commit 274c99fc authored by Matt Mackall's avatar Matt Mackall
Browse files

dirstate: simplify state()

parent b43f1769
No related branches found
No related tags found
No related merge requests found
......@@ -12,4 +12,7 @@
import struct, os, time, bisect, stat, strutil, util, re, errno, ignore
import cStringIO
_unknown = ('?', 0, 0, 0)
_format = ">cllll"
class dirstate(object):
......@@ -15,5 +18,4 @@
class dirstate(object):
format = ">cllll"
def __init__(self, opener, ui, root):
self.opener = opener
......@@ -90,14 +92,6 @@
def __getitem__(self, key):
return self.map[key]
_unknown = ('?', 0, 0, 0)
def get(self, key):
try:
return self[key]
except KeyError:
return self._unknown
def __contains__(self, key):
return key in self.map
......@@ -120,10 +114,7 @@
self.opener("branch", "w").write(branch + '\n')
def state(self, key):
try:
return self[key][0]
except KeyError:
return "?"
return self.map.get(key, ("?",))[0]
def read(self):
self.map = {}
......@@ -142,7 +133,6 @@
# deref fields so they will be local in loop
dmap = self.map
copymap = self.copymap
format = self.format
unpack = struct.unpack
pos = 40
......@@ -146,7 +136,7 @@
unpack = struct.unpack
pos = 40
e_size = struct.calcsize(format)
e_size = struct.calcsize(_format)
while pos < len(st):
newpos = pos + e_size
......@@ -150,7 +140,7 @@
while pos < len(st):
newpos = pos + e_size
e = unpack(format, st[pos:newpos])
e = unpack(_format, st[pos:newpos])
l = e[4]
pos = newpos
newpos = pos + l
......@@ -258,7 +248,7 @@
c = self.copied(f)
if c:
f = f + "\0" + c
e = struct.pack(self.format, e[0], e[1], e[2], e[3], len(f))
e = struct.pack(_format, e[0], e[1], e[2], e[3], len(f))
cs.write(e)
cs.write(f)
st = self.opener("dirstate", "w", atomictemp=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment