From: Martin Koegler Date: Sat, 21 Apr 2007 12:23:48 GMT Subject: [PATCH 0/4] git-diff: use mode for tree:name syntax (was: Re: [PATCH 2/7] gitweb: Support comparing blobs with different names) Message-ID: <20070421122348.GA29174@auto.tuwien.ac.at> In-Reply-To: <200704202249.08464.jnareb@gmail.com> On Fri, Apr 20, 2007 at 10:49:08PM +0200, Jakub Narebski wrote: > So from me it is slight Nak to this patch, at least unless "git diff > : :" will take the information about file > name and mode (permissions) from and , and included such > information in extended git diff header. I created a prototyp implemention: * Patch 1: add a parameter to get_sha1 to store the mode, if it is known. If it is not possible to dermine the mode, it stores S_IFINVALID. * Patch 2: add space for the mode in object_array (unknown mode is S_IFINVALID). * Patch 3: stores the mode for : syntax * Patch 4: use mode information for comparing two blobs The patches are large, as some heavy used functions get a new parameter. The changes should not increase the CPU time. Patch 2 increases the storage size for each object of object_array by an unsigned for the mode. My blobdiff patch will need some small adaptations: * we need to add --raw -p --full-index as diff arguments * we must pass $hash_parent_base.':'.$file_parent and $hash_base.':'.$file_name to git-diff instead of $hash and $hash_parent, if possible. mfg Martin Kögler