Kiln » Dependencies » Dulwich Read More
Clone URL:  
Pushed to one repository · View In Graph Contained in master-1, master-0, and 0.9.4

Add relative path git alternates support

Original patch provided by walken@google.com

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>

Changeset 467ff35d4109

Parent 774d63091783

committed by Jelmer Vernooij

authored by milki

Changes to 2 files · Browse files at 467ff35d4109 Showing diff from parent 774d63091783 Diff from another changeset...

 
421
422
423
424
425
426
 
 
 
 
427
428
429
 
452
453
454
 
 
 
455
456
457
 
421
422
423
 
 
 
424
425
426
427
428
429
430
 
453
454
455
456
457
458
459
460
461
@@ -421,9 +421,10 @@
  l = l.rstrip("\n")   if l[0] == "#":   continue - if not os.path.isabs(l): - continue - ret.append(l) + if os.path.isabs(l): + ret.append(l) + else: + ret.append(os.path.join(self.path, l))   return ret   finally:   f.close() @@ -452,6 +453,9 @@
  f.write("%s\n" % path)   finally:   f.close() + + if not os.path.isabs(path): + path = os.path.join(self.path, path)   self.alternates.append(DiskObjectStore(path))     def _load_packs(self):
 
249
250
251
 
 
 
 
 
 
 
 
 
 
 
 
 
252
253
254
 
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
@@ -249,6 +249,19 @@
  self.assertEqual(   ["/foo/path", "/bar/path"],   store._read_alternate_paths()) + + def test_rel_alternative_path(self): + alternate_dir = tempfile.mkdtemp() + self.addCleanup(shutil.rmtree, alternate_dir) + alternate_store = DiskObjectStore(alternate_dir) + b2 = make_object(Blob, data="yummy data") + alternate_store.add_object(b2) + store = DiskObjectStore(self.store_dir) + self.assertRaises(KeyError, store.__getitem__, b2.id) + store.add_alternate_path(os.path.relpath(alternate_dir, self.store_dir)) + self.assertEqual(list(alternate_store), list(store.alternates[0])) + self.assertIn(b2.id, store) + self.assertEqual(b2, store[b2.id])     def test_pack_dir(self):   o = DiskObjectStore(self.store_dir)