On Fri, Mar 19, 2010 at 10:30 AM, Max Battcher <[email protected]> wrote:

> Reinier Lamers wrote:
>
>> I am still opposed to Ignore-This hacks.
>>>
>>
>> Is there an alternative? And in what way is it a hack? The "Ignore-this:"
>> mechanism is intended to give information about a patch to the processing
>> darcs, isn't it?
>>
>
> It's been discussed before that patches should have a real, reliably
> extensible metadata format, rather than the quick hacks that are the
> Ignore-This lines, which look stupid when you look at the real patch comment
> and are very obviously a hack anytime you see a patch in the wild.
>
> Of course, that discussion gets derailed in the debate between coming up
> with a new, better patch format in general or using the existing long
> comments ala Ignore-This, but perhaps with a more, strictly standardized
> MIME-like or email header-like approach. Of course any such approach will
> break compatibility with one or more tools...
>

[Moving this discussion out of the ticket because it's no longer converging
on a resolution of the ticket at hand.]

I think an important consideration is the type of the data.

Data about the patches (metadata), for example how to interpret their
encoding, makes sense to be in a header context.  For that, MIME seems very
reasonable to me.  It seems like MIME would work best for optional
attributes that can be expressed in just a few lines.

Then there are things like the current random bits that get attached to
patches to make them more distinct.  That was added as an optional way to
ensure that patches are distinct when they should be.  Optional in the sense
that darcs needs to display them, but we didn't want to break compatibility
with patches written by older darcsen.

It fixes an important bug with repository handling.  It's my belief that
making that optional was the hack, not the Ignore-this.  It was the sort of
hack that allowed us to respond to an important patch format change without
creating too much headache.  So, I don't think the current use of
Ignore-This is a good one, but we did fix our immediate need.

Thinking about things for the long term, I believe that we should have a
patch and patch bundle format identifiers when transmitting them.  I know
there has been resistance to this in the past, but I think once we put that
infrastructure in place it would pay for itself in time.  Once we had the
patch version information you could even imagine having an external tool
that upgrades (or possibly downgrades) the data to a different version.  It
still doesn't eradicate the headache of deploying the change, but I think it
would give us a new ways to reduce much of it.

We could use Ignore-This, or more generally a header format, to insert
version information.  I think it's worth consideration.

 Thanks,
Jason
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to