delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/10/03/09:03:17

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Message-ID: <010a01c14c0b$fc489150$01000001@lifelesswks>
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: "CD List" <Cygwin-Developers AT Cygwin DOT Com>
References: <0db601c144fe$3ec53ca0$0200a8c0 AT lifelesswks> <20010924170130 DOT B31556 AT redhat DOT com> <0f5701c14546$0bd99280$0200a8c0 AT lifelesswks> <20010924183659 DOT B32477 AT redhat DOT com> <0fc101c1454a$aa8b8010$0200a8c0 AT lifelesswks> <20010924185131 DOT A32613 AT redhat DOT com> <100d01c14550$bd31eaf0$0200a8c0 AT lifelesswks> <3BBAFF92 DOT 75E33516 AT yahoo DOT com> <3BBB08C6 DOT B388D1A5 AT yahoo DOT com>
Subject: Re: CVS branches RFC
Date: Wed, 3 Oct 2001 23:04:44 +1000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

----- Original Message -----
From: "Earnie Boyd" <earnie_boyd AT yahoo DOT com>
To: "CD List" <Cygwin-Developers AT Cygwin DOT Com>
Sent: Wednesday, October 03, 2001 10:47 PM
Subject: Re: CVS branches RFC


> Earnie Boyd wrote:
> >
> > Robert Collins wrote:
> >
> > > * cvsmkbranch creates a new branch, from the current sandbox. So
if you
> > > have local changes that are heading from "trivial" to "hmm..." you
can
> > > run cvsmkbranch foo from within winsup to create a new branch.
> >
> > Ok, CWD = winsup/cygwin, I cvsmkbranch Earnie, this copies the CWD
to
> > ../Earnie and creates the branch.  Do I continue to work in
> > winsup/cygwin or do I work in winsup/Earnie?
> >
>
> Also, shouldn't cvsmkbranch ask to add new files not yet added to CVS
> with `cvs add'?

Ok. I'll put this in a file somewhere
(how-branch-development-works.txt?)

For now, in reverse order.
cvsmkbranch should not ask to add new files - it cannot discriminate
between foo.cc which you want and foobar.cc which was an experiment and
is not needed.
cvsmkbranch does a full copy of the folder that you are in, so those
files are copied to the new directory. Then in that dir you run cvs add.

After the cvsmkbranch any work you do in winsup/cygwin will get
committed to the tag that was present before you ran cvsmkbranch - ie
the CWD is unaltered.

So you start working in winsup/Earnie.

Now the problem is that cygwin/winsup have a very integrated source
tree - there are makefile fragments with 'cygwin' hardcoded in em and so
forth. This isn't a bad thing per se, but it requires special handling.

Key points:
1) your current built src is in winsup/cygwin.
2) you may want to work on n different branches at a time.

There are two easy solutions.
Option A: the following commands should be self-evident.

1) mv cygwin cygwin_head
2) ln -s cygwin_head cygwin
3) cd cygwin
4) cvsmkbranch Earnie
5) cd ..
6) rm cygwin
7) ln -s Earnie cygwin

and so on. Now the Makefile dependencies should work fine with this
(they do for me) although a full build is likely when you switch
branches. New files can cause confusion of the 'cannot find foo.h needed
to build dcrt0.cc'. Solution:
$rm dcrt0.d

Option B:
cd cygwin
cvsmkbranch Earnie
cd ../Earnie
cvs add .. && cvs ci ; <get the sandbox and CVS fully synced>
cd ..
rm -rf Earnie
cd cygwin
---remember this---
cvs -z3 up -Pdkk -r Earnie
-------------------
hack. build. test.
ok time to work on head a bit.
1) make sure that all changes in Earnie are committed to cvs, or are
disposable.
use cvs -z3 diff -up to ensure that there are 0 changes in your sandbox.
Remember that on a branch stability is no longer as concerning - partial
code is usually ok. (I try to keep everything compiling and running, but
I'm not worried about committing a function stub to be fleshed out
later, on HEAD I wouldn't do that (ignoring whether Chris would let it
in :] ). )
2) ----remember this ----
cvs -z3 up -PdA -kk
------------------
hack. build. test. Submit to cygwin-patches.
and so on.

Rob

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019