I'm sorry for not chiming in earlier (was a bit busy), but could anyone
explain to me the public nature of this particular structure? I am not sure I
see where this structure is being passed between the client and the server.
Because if it is not, then there should hardly be any problem (except for the
case where headers are inconsistent with the libraries, which is a major
screw-up anyway).
My intention for this patch was to make it as backward compatible as possible.
Please let me know if I am missing something here...
On Monday 26 July 2004 18:36, Garrett Rooney wrote:
> kfogel@collab.net wrote:
> > Tobias Ringström <tobias@ringstrom.mine.nu> writes:
> >>>Index: subversion/include/svn_subst.h
> >>>===================================================================
> >>>- --- subversion/include/svn_subst.h (revision 10373)
> >>>+++ subversion/include/svn_subst.h (working copy)
> >>>@@ -83,6 +83,7 @@
> >>> const svn_string_t *author;
> >>> const svn_string_t *url;
> >>> const svn_string_t *id;
> >>>+ const svn_string_t *header;
> >>>} svn_subst_keywords_t;
> >>
> >>Incompatible changes to the API such as this one cannot be applied
> >>before the next major version (2.x). If you want this change to be
> >>acceptable for 1.x, you must create a new type, svn_subst_keywords2_t
> >>and also make new versions of the public functions using the type,
> >>e.g. you need to create svn_subst_build_keywords2 that takes
> >>svn_subst_keywords2_t arguments, etc. The old functions should then be
> >>marked as deprecated. I'm afraid that this will complicate the patch a
> >>lot. :-(
> >
> > Why is adding a member to the end of a structure incompatible? Maybe
> > there are other incompatible things about the patch, but this
> > particular change seems compatible to me.
>
> It's a public structure definition, you can't change the size by adding
> a new field because people might be depending on the size, declaring
> them on the stack, etc.
>
> -garrett
--
Alexander L. Belikoff
PGP/GPG fingerprint: 0D58 A804 1AB1 4CD8 8DA9 424B A86E CD0D 8424 2701
(http://pgp5.ai.mit.edu for the key)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 15 16:02:41 2004