Pull request: Use userdiff configuration

Jonathon Mah me at jonathonmah.com
Tue Apr 5 13:38:31 CEST 2011


(I don't mean to spam, but I can't see this initial message on the list, so I'm re-sending. Apologies if it's extraneous.)

Hi Lars and friends,

Yesterday I set up cgit for my company's private repositories, and have it working great. We mainly have Objective-C projects, and I found that cgit wasn't using the same userdiff driver as git does. This affects the display of the funcname in diff contexts. git-diff gives this:

diff --git a/Library/LISortManagedObject.m b/Library/LISortManagedObject.m
index d78d17d..8a8255e 100644
--- a/Library/LISortManagedObject.m
+++ b/Library/LISortManagedObject.m
@@ -36,6 +36,7 @@ + (NSArray *)defaultSortDescriptorsArray;
[ changes inside the +defaultSortDescriptorsArray method ]

I have to explicitly tell git to use the objc diff header, through gitattributes:
*.m diff=objc
(the patterns for which are built in to git, in userdiff.c).

For non-built-in diff types, you can also specify a "textconv" filter, through which both versions are piped before diffing. I spent some time today making one that has nice output for Cocoa's serialized interface files (.xib).

So I have some patches to cgit to respect both the userdiff xfuncname and textconv. I made them relative to v0.9, and have rebased it onto master. The branch is here: <https://github.com/jmah/cgit/commits/userdiff>


And in case anyone uses them, my xib textconv filter is here: <https://github.com/jmah/xibition>



Jonathon Mah
me at JonathonMah.com






More information about the CGit mailing list