[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: augmented diff, draft now mature

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2007-07-05 14:30:08 CEST

mark benedetto king wrote:
> On Tue, Jul 03, 2007 at 08:06:52PM +0200, Charles Acknin wrote:
>> I've wrote some more in the draft. I think it has come to a mature
>> state now (part I excluded), it should be a solid basis to go on, and
>> I want to make sure we reach consensus with this statement. (I tried
>> to aggregate as much as possible advises I collected from the previous
>> post.)
>>
>>
>> This file documents the 'svnpatch' format that's used with both diff and
>> patch
>> subcommands.
>>
>> I HISTORY
>> -------
>>
>> [remind the reasons behind the design of such a new format]
>>
>> (We want something that supports any change and suitable enough for code
>> review.)
>>
>>
>> II SVNPATCH FORMAT IN A NUTSHELL
>> -----------------------------
>>
>> First off, let's define it. svnpatch format is made of two ordered parts:
>> * (a) human-readable: made of unidiff bytes
>> * (b) computer-readable: made of svn protocol bytes (ra_svn), gzip'ed,
>> base64-encoded
>
> Rather than comment point-by-point:
>
> I don't think there are significant advantages to making the
> computer-readable portion gratuitously not human readable.

Has anyone considered using a painfully simple lossless diff format that
reads similarly to our already-existent formats for commit emails and
repository dumps and such:

   [Added|Deleted|Modified|Replaced]: /some/path[/] # trling slash = is_dir
   [Copyfrom-path: /some/other/path]
   Copyfrom-revision|Base-revision: 123
   Content-type: text/plain|application/vnd.svn-svndiff.base64
   --- some/path # here begins the optional diff portion
   +++ some/path
   @@ -70,4 +70,5 @@
    http-proxy-username = defaultusername
    http-proxy-password = defaultpassword
    http-compression = no
   +http-library = serf|neon
    ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem

The only thing I can't work out is how to display property diffs with such a
format.

-- 
C. Michael Pilato <cmpilato@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on Thu Jul 5 14:30:03 2007

This is an archived mail posted to the Subversion Dev mailing list.