comparison git_handler.py @ 229:f2c2061aacd1

work around a bug in dulwich 0.3.3
author Abderrahim Kitouni <a.kitouni@gmail.com>
date Tue, 28 Jul 2009 23:12:38 +0100
parents e720950443d8
children 51e4d6ebbc40
comparison
equal deleted inserted replaced
228:e720950443d8 229:f2c2061aacd1
694 def filenames(basetree, comptree, prefix): 694 def filenames(basetree, comptree, prefix):
695 basefiles = set() 695 basefiles = set()
696 changes = list() 696 changes = list()
697 csha = None 697 csha = None
698 cmode = None 698 cmode = None
699 if basetree: 699 if basetree is not None:
700 for (bmode, bname, bsha) in basetree.entries(): 700 for (bmode, bname, bsha) in basetree.entries():
701 if bmode == 0160000: # TODO: properly handle submodules 701 if bmode == 0160000: # TODO: properly handle submodules
702 continue 702 continue
703 basefiles.add(bname) 703 basefiles.add(bname)
704 bobj = self.git.get_object(bsha) 704 bobj = self.git.get_object(bsha)
705 if comptree: 705 if comptree is not None:
706 if bname in comptree: 706 if bname in comptree:
707 (cmode, csha) = comptree[bname] 707 (cmode, csha) = comptree[bname]
708 else: 708 else:
709 (cmode, csha) = (None, None) 709 (cmode, csha) = (None, None)
710 if not ((csha == bsha) and (cmode == bmode)): 710 if not ((csha == bsha) and (cmode == bmode)):
717 changes.extend(filenames(bobj, 717 changes.extend(filenames(bobj,
718 ctree, 718 ctree,
719 prefix + bname + '/')) 719 prefix + bname + '/'))
720 720
721 # handle removals 721 # handle removals
722 if comptree: 722 if comptree is not None:
723 for (bmode, bname, bsha) in comptree.entries(): 723 for (bmode, bname, bsha) in comptree.entries():
724 if bmode == 0160000: # TODO: handle submodles 724 if bmode == 0160000: # TODO: handle submodles
725 continue 725 continue
726 if bname not in basefiles: 726 if bname not in basefiles:
727 bobj = self.git.get_object(bsha) 727 bobj = self.git.get_object(bsha)