Jeroen Demeyer <jdeme...@cage.ugent.be> writes:
> On 2012-03-06 05:49, Keshav Kini wrote:
>> Hi Jeroen,
>> 
>> If I understand correctly, your reasoning for basing new development
>> releases on the previous stable release rather than the previous
>> development release is that sometimes a ticket may be merged into a
>> development release but then need to be removed from a subsequent
>> development release due to problems that were found later, or an SPKG
>> that was upgraded needs to be downgraded again.
>
> Another important reason is that I sometimes work on more than one Sage
> version at the same time.  While putting together sage-5.0.beta7, I was
> already merging stuff in sage-5.0.beta8.  This gets harder with what you
> propose.

I don't understand why you need to do this. The merge process should be
a one-time thing, right? Isn't that what the merger script is for?
Doesn't "preparing a release" basically mean finalizing the list of
patches that will go into the release, not actually making any commits
or putting together any tarballs? If so, I don't see how my proposal
would make that any harder.

But maybe I'm totally wrong about that. What is involved?

> It's also harder to deal with "exceptional" cases.  Like the problem we
> had with sage-5.0.beta6 where two files were missing from the
> distribution.  It's easier to go back and do it the right way, as
> opposed to fixing it afterwards.
>
> Another example: #11235.  While checking all spkgs for uncommitted
> changes, I discovered the spkg there contained some garbage.  I simply
> removed the garbage and put up a new spkg with the same version number.
>  With your proposal, this would probably have involved creating a new
> ticket instead of making the trivial adjustment in a subsequent Sage
> version.

Huh? If you think a new ticket would be required for adding a commit to
the SPKG to back out the committed garbage, why do you think a new
ticket is *not* required for putting up a new spkg with the same version
number? Personally I don't think a ticket is required for either one.

> Obviously, reverting a patch would become more difficult, I don't even
> know the "right" way to do it with Mercurial.

Would become, in what situation? I'm not sure what you mean. The right
way to back out a previous commit without just deleting it is to use `hg
backout`, as I said.

> Why doesn't git/hg consider the version sage-5.0.beta0 inside
> sage-5.0.beta6 the same as version sage-5.0.beta0 inside sage-5.0.beta7?
>  They should be identical (apart from timestamps).

It does, actually - my mistake. It does not consider the version
sage-5.0.beta1 inside sage-5.0.beta6 the same as version sage-5.0.beta1
inside sage-5.0.beta7, though. Timestamps are factored into the
calculation of commit IDs.

The timestamps of patches are written into the patch files themselves,
so they do not differ (unless you edit patches between development
releases, which I assume you don't). The problem is your commits which
are called e.g. "Added tag 5.0.beta0 for changeset 63e6cb54ca9f", in
which you commit the new tags to the .hgtags file. Those have different
timestamps each time you build a dev release, which causes the
branching, even if the patches you apply remain the same.

Another problem is your commits called e.g. "5.0.beta0", in which you
put the correct version number in version.py. The commit in which you
put the version number "5.0.beta0" in version.py is omitted from the
history you create when you make Sage 5.0.beta1. These disappearing
version number commits and changing-timestamp .hgtags commits together
cause the branching effect. (That's why beta0 is still cohesive among
the various branches - your problematic commits start happening after
the patches in beta0.)

-Keshav

----
Join us in #sagemath on irc.freenode.net !

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to