[SVN] Re: Making the commit window work with external diff'ers.

Luke Daley ld at ldaley.com
Sun Apr 5 23:48:53 UTC 2009


On 06/04/2009, at 2:16 AM, Allan Odgaard wrote:

> On 3 Apr 2009, at 05:46, Luke Daley wrote:
>
>> The commit window app assumes that your diff invocation will return
>> the diff. This is not always the case. If you are using Changes.app
>> your invocation of svn diff doesn't actually return the diff.
>>
>> The commit window app needs to be smarter in that it should try to
>> send anything to mate if the diff command didn't return any output.
>
> I assume you mean “…to *not* send anything…”.

Indeed.

>> Ideally, it would be nice to have TM pop up a dialog. Which probably
>> means we need to invoke tm_dialog here.
>
> Looking at the function you quoted, seems that if the diff returns a
> non-zero result code, another code path will be taken, but presumably
> not exactly what you want.

If the result code is non-zero then an error dialog is displayed and  
the commit ultimately fails, which is not what I want.

> I don’t personally like it popping up
> dialogs to tell that an action was performed (I have a similar
> “complaint” about your svn bundle fork ;) ).

Are you talking about the commit command? or another?

Regarding the commit window…

It's actually probably a bit trickier than this. If svn is configured  
to use an external diff program then svn diff will return 2 lines of  
text…

e.g.

Index: «file»
===================================================================

But in my svn bundle fork, svn diff is wrapped by a command that will  
swallow those two lines if that is all that svn diff returns.

What I propose is to patch the commit window to do *nothing* if the  
diff command returns < 2 lines of text. Why I thought it would be a  
good idea to pop up a dialog here I don't know. I think I was thinking  
about the case when there was actually no difference, but then the  
file wouldn't be in the commit window now would it.

Can I go ahead and make this change?

>> I'll try and add this in, but can someone tell me how I would go  
>> about
>> building this damn thing? There is no xcode project or build script  
>> of
>> any kind to my eyes.
>
> http://svn.textmate.org/trunk/Tools/CommitWindowProject/CommitWindow.xcodeproj/

LOL, I was looking at this directory in TextMate.


More information about the textmate-dev mailing list