On Sun, Jun 28, 2009 at 05:32:33PM -0500, Augie Fackler wrote:
> On Jun 26, 2009, at 5:24 AM, Stefan Sperling wrote:
>
> > Combined with advanced svnpatch functionality (serialised svn://
> > protocol commands encoded in the patch file), we could even encode
> > tree changes in a less lossy way than is possible with plain unidiff.
>
> If you're going to use something beyond pure unidiff, I'd encourage
> you to look at git-diffs, which are used by at least Mercurial and Git
> (no idea about Bazaar), and maybe even add some simple extensions to
> that format for directory entries and properties if needed. It's been
> very nice to have a format that has the extra metadata, but still
> works with patch(1) most of the time.
Too late :)
We already have a Subversion-specific patch format with extra metadata
in trunk. See http://svn.collab.net/repos/svn/trunk/notes/svnpatch
Also works with patch(1), which just ignores the extra info as noise,
which I suppose is the case for Git unidiff extensions also.
The implementation is a bit unwieldy (it implements the whole delta
editor API yet again...), but apparently it works.
In my opinion, it's "just" a matter of refactoring the code a bit
for maintainability before we can release it.
But I could imagine adding support for Git's extensions to unidiff, too.
Stefan
Received on 2009-06-29 01:05:45 CEST