guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Guile 1.6 branch created (please read).


From: Rob Browning
Subject: Guile 1.6 branch created (please read).
Date: 08 Jul 2001 15:09:12 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

I've finally created the 1.6 branch, and I've included instructions at
the end of this message, for those unfamiliar with branches,
describing how to create a working dir on the stable branch, etc.

Note that the version numbers in the 1.6 branch are still 1.5.X, and I
tend to think they should stay that way until we're ready to release
the first 1.6.0 tarball.

Also, I haven't switched the unstable branch versions over to 1.7.X
yet, but unless someone else gets to it first, I'll do that soon.

Just to be clear, the 1.6.0 and 1.7.0 trees are now distinct, and no
changes will automatically propagate between them.  If you make
changes that need to show up both places, you'll need to apply the
changes both places.  You *might* be able to do this with a cvs
command, but in this situation, I suspect that most of the time,
you'll need to apply the changes by hand or risk migrating superfluous
changes between the two versions.  This is particularly important when
moving a change from the unstable branch to the stable branch.

In general, please don't be adventurous with the stable branch.  We
mostly want bugfixes, documentation improvements, build improvements,
etc., though exceptions will doubtless exist.

Also, now that we're going to be pursuing a stable/unstable release
branching strategy, I would also like to propose some tagging
conventions.  If these aren't suitable, then let's hash out some that
are.

In the suggestions below, I follow the Scheme convention that dashes
are used to separate words within a single symbol, and so I've taken
dashes to bind more tightly than underscores, so foo-bar_baz-bax would
indicate that foo-bar is somehow separate from baz-bax.

Branch root tags:
-----------------
anytime just before you create a branch it's a good
idea to create a normal tag so that you can refer to the branch point
on the main trunk as well as on the branch.  So for that I propose
(and have used) a tag of the form

  branch_root-release-1-X

or more generally, for other non-release branches:

  branch_FOO

Branch tags:
------------
for the branch tag itself, I used (and propose)

 branch_release-1-6

or more generally, for other non-release branches:

  branch_FOO

Merge tags:
-----------
Whenever you're merging a branch back into the trunk (or into another
branch repeatedly) you need to tag the branch each time you merge.  If
you don't do that, you won't be able to merge repeatedly without
possibly tedious conflicts.  For those tags I propose:

  branch_merge_SOME-FOO_to_SOME-BAR_1
  branch_merge_SOME-FOO_to_SOME-BAR_2
  ...

As an example, SOME-BAR might be trunk, or even perhaps another branch
like branch-mvo-super-fixes :>

More mundanely, you might have

  branch_merge_release-1-6_to_trunk

and I suspect that merging the stable branch to the trunk like this
will be much more common, if it happens, than the reverse for the
reasons mentioned above.

================================
Working with the stable branch:
--------------------------------
I'll presume you already have a tree checked out.  If so, from within
the working directory you should run the command

  cvs -z3 update -r branch_release-1-6 -Pd

This will yank the working directory over on to the stable release
branch.  Note that this directory will track that branch from then on
unless you do something to yank it back to the main (unstable) trunk.

To switch back to to the unstable trunk, I believe you can just run

  cvs -z3 update -A -Pd

Note that in any case, you should probably make sure you've commited
all changes before running these commands or you're likely to have
some unexpected results.

Finally note that I decided to keep two trees checked out, one stable,
the other unstable, and to save some bandwidth, I just did this to get
my "stable" working directory:

  cp -a core-unstable core-1.5
  cd core-1.5
  cvs -z3 update -r branch_release-1-6 -Pd

Hope this helps.

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG=1C58 8B2C FB5E 3F64 EA5C  64AE 78FE E5FE F0CB A0AD



reply via email to

[Prev in Thread] Current Thread [Next in Thread]