There was an error while loading. Please reload this page.
1 parent 5682386 commit 152bab7Copy full SHA for 152bab7
3 files changed
lib/git/index.py
@@ -62,15 +62,15 @@ def gid(self):
62
return self[7]
63
64
@property
65
- def data_size(self):
+ def size(self):
66
return self[8]
67
68
69
def sha(self):
70
return self[9]
71
72
73
- def path_size(self):
+ def stage(self):
74
return self[10]
75
76
@@ -108,7 +108,7 @@ def _read_entry(self, stream):
108
real_size = ((stream.tell() - beginoffset + 8) & ~7)
109
data = stream.read((beginoffset + real_size) - stream.tell())
110
return IndexEntry((path, ctime, mtime, dev, ino, mode, uid, gid, size,
111
- binascii.hexlify(sha), path_size))
+ binascii.hexlify(sha), flags >> 12))
112
113
114
def _read_header(self, stream):
@@ -129,7 +129,7 @@ def _read_from_stream(self, stream):
129
count = 0
130
while count < num_entries:
131
entry = self._read_entry(stream)
132
- self.entries[entry[0]] = entry[1:]
+ self.entries[(entry.path,entry.stage)] = entry
133
count += 1
134
# END for each entry
135
test/fixtures/index_merge
8.98 KB
test/git/test_index.py
@@ -23,11 +23,15 @@ def test_base(self):
23
# test entry
24
last_val = None
25
entry = index.entries.itervalues().next()
26
- for name, method in inspect.getmembers(entry,inspect.ismethod):
27
- val = method(entry)
28
- assert val != last_val
29
- last_val = val
+ for attr in ("path","ctime","mtime","dev","inode","mode","uid",
+ "gid","size","sha","stage"):
+ val = getattr(entry, attr)
30
# END for each method
31
+ # test stage
32
+ index_merge = Index.from_file(fixture_path("index_merge"))
33
+ assert len(list(e for e in index_merge.entries.itervalues() if e.stage != 0 ))
34
+
35
# write
- self.fail("writing, object type and stage")
36
+ self.fail("writing, what is 'size' attribute for ?")
37
0 commit comments