[darcs-devel] [issue1096] patch format should have a version id
Jason Dagit
bugs at darcs.net
Tue Sep 23 18:19:48 UTC 2008
New submission from Jason Dagit <dagit at codersbase.com>:
Patches now generated by will have ignorable ids embedded in the patch descriptions.
They look like this:
The following patch updated the status of issue27 to be resolved:
* resolve issue27: add junk to patch identifiers.
Ignore-this: b91ab6f6e05e0fda25488fa51653b741
It seems that we're going to be sorry about this change. From now on darcs
patches will start placing this string "Ignore-this: ..." in every patch
description. I thought the plan was to improve patch infos but this seems like
we're now abusing patch descriptions. It may be the case that internally they
are stored in the same data structure, but I don't think that's a good argument
for considering them to be conceptually the same.
This makes me think about the bigger issue of changing patch formats. If we
want to add new patch types how will we do this in a backwards compatible way?
If we want to change hunk format or add more features to patch formats how will
we do this in a backwards compatible way? Suppose we want to add user definable
attributes to patches, how will we do this in a backwards compatible way?
We have infrastructure for describing the repository format and features, but
patch transfer is not encompassed in this scheme.
I propose that we change the format of patchinfos to contain version information
now and then at a later date begin using that info. The later date being some
point when we feel there are enough versions of darcs in the wild that it's
relatively safe to start using the functionality. That is, I think we should
start now making darcs accept patchinfos but don't actually start using it until
later when we can be confident that it won't break older darcs.
The idea is that we give the older versions of darcs a chance to complain and
exit. So this isn't true backwards compatibility, but it is a way to fail
gracefully on won't be understood. I don't think true backwards compatibility
is attainable, but I'll entertain ideas for it. Preferably simple ideas that
don't confuse users or make darcs overly complex internally.
I'm marking this as urgent because I believe the sooner we get the code in
place, the sooner we can flip the switch.
----------
messages: 6100
nosy: dagit, kowey, simon
priority: urgent
status: unread
title: patch format should have a version id
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1096>
__________________________________
More information about the darcs-devel
mailing list