Skip navigation.
 
mlRe: Why initialize the menubar without Interface Builder
FROM : John Labovitz
DATE : Mon Nov 05 20:11:54 2007

On Nov 5, 2007, at 10:55 AM, Jon Hess wrote:

> They are human readable, and while diff support works, it could be 
> much better. Merging is still not possible. XIB files are a step in 
> the right direction, but they aren't a solution.


My apologies for continuing this thread off into non-Cocoa-dev 
discussions, but I wanted to point out that most SCM systems do not 
*require* diffing & merging to be line-oriented.  That happens to be 
the default, as most data checked into those SCM systems are in a 
format that's amenable to line-oriented comparison.  But often the SCM 
system itself is ignorant to the format of the files, in terms of 
storage, access, and difference-detection.

For example, Subversion's "diff" command supports the "--diff-cmd" 
argument, which specifies an alternate tool to use for diffs; and the 
"merge" command similarly supports the "--diff3-cmd" for merging.  At 
the lowest level, Subversion uses *binary* diffs.  Those binary diffs 
aren't mergeable directly, which is the reason for using external 
tools like traditional diff/diff3.

There's no reason that someone couldn't create a super-diff/merge tool 
that handled not only line-oriented files, but XIB files, other XML 
files, and other diff-able data.  It would be really groovy to see a 
graphical nib-diff/merge tool!

If you're curious how this works, see a couple of examples at:

   http://www.wsanchez.net/blog/2005/08/filemerge_and_subversion.html
   http://ssel.vub.ac.be/ssel/internal:fmdiff

--John

Related mailsAuthorDate
mlWhy initialize the menubar without Interface Builder Erik Buck Nov 3, 20:39
mlRe: Why initialize the menubar without Interface Builder Uli Kusterer Nov 3, 22:06
mlRe: Why initialize the menubar without Interface Builder Fritz Anderson Nov 3, 22:44
mlRe: Why initialize the menubar without Interface Builder Uli Kusterer Nov 4, 00:15
mlRe: Why initialize the menubar without Interface Builder Robert Nikander Nov 4, 00:26
mlRe: Why initialize the menubar without Interface Builder Sherm Pendley Nov 4, 00:49
mlRe: Why initialize the menubar without Interface Builder Erik Buck Nov 4, 01:55
mlRe: Why initialize the menubar without Interface Builder Erik Buck Nov 4, 02:10
mlRe: Why initialize the menubar without Interface Builder Jon Hess Nov 4, 02:18
mlRe: Why initialize the menubar without Interface Builder Chris Hanson Nov 4, 02:38
mlRe: Why initialize the menubar without Interface Builder Chris Hanson Nov 4, 02:45
mlRe: Why initialize the menubar without Interface Builder Robert Nikander Nov 4, 03:06
mlRe: Why initialize the menubar without Interface Builder Erik Buck Nov 4, 03:15
mlRe: Why initialize the menubar without Interface Builder Rob Keniger Nov 4, 04:29
mlRe: Why initialize the menubar without Interface Builder Uli Kusterer Nov 4, 12:33
mlRe: Why initialize the menubar without Interface Builder Uli Kusterer Nov 4, 13:06
mlRe: Why initialize the menubar without Interface Builder Jon Hess Nov 5, 19:55
mlRe: Why initialize the menubar without Interface Builder John Labovitz Nov 5, 20:11
mlRe: Why initialize the menubar without Interface Builder Jon Hess Nov 5, 20:15