[Seaside] monticello patch question
Colin Putney
cputney at wiresong.ca
Mon Oct 18 03:08:42 CEST 2004
On Oct 17, 2004, at 8:51 PM, James Megquier wrote:
>>> p.s.: Once I've checked in these changes to my local Monticello
>>> repository, (as, say, Seaside-2.5b5-jm.1), is there an easy way to
>>> fileout a patch from a previous version?
>>
>> What do you mean by "patch"?
>
> Ah, I should have been more clear. I meant, "some kind of diff that's
> easy to post to an email discussion." In unix-land, I'd check in the
> new changes (or not) and run a diff using CVS or Subversion, resulting
> in a text-friendly patch. Is there a similar beast for Monticello, or
> is there some other central concept around the idea of differential
> patches? Or is that what a changeset is for?
>
> (btw, the .mcd for the two-line change I posted is like 27k, which
> seems excessive [or is that because of the binary stuff related to
> UnstableSqueak?])
A ChangeSet is very similar to a unix patch. However, the usual way of
sharing changes among Monticello users is to send a complete version,
either in either mcz or mcd form. If you've got the infrastructure for
it, I find the best way is to just make my repository publicly readable
via HTTP, and just post a link to the file.
The reason an mcd takes up 27K for a two-line change is that it's got
much more information that an equivalent unix-style patch. First,
Monticello doesn't to textual operations when diffing and merging, so
at a minimum you've got to include the complete source to the affected
method. Second, a version also contains all the metadata about it's
creation - date, time, author, log message etc. Finally, it also
includes a complete description of its ancestry - a record of all the
previous versions it is derived from, going back to the first commit of
the package.
This means that "applying a patch" in Monticello is a much more robust
operation in than in unix - it's actually a full merge. The price we
pay for that, of course, is the extra verbosity of patches.
Colin
More information about the Seaside
mailing list