Re: cvs layout for new development?

Morten Andersen <[email protected]> Wed, 22 Jun 2005 22:11:35 +0200
Newsgroups gmane.comp.windows.devel.jawin
Message-ID <[email protected]>
Hi Roger,

1) First the minor changes. I just think you should commit these in
HEAD. Then there are a little less to worry about :-). You should
probably also add a new section in the top of the docs/jawinrevisions
for "Version 2.0, alpha 2", and add a description of these changes (it
is at least my experience, that if I do not add them immediately after
commit'ing the changes, I forgot to list them in the revision history).

2) A scratch pad. I haven't seen that before, but I assume you e.g. mean
  a brand new folder here:
        http://cvs.sourceforge.net/viewcvs.py/jawinproject/
Is the intention of a scratch pad, then to delete it after the ideas in
it are added to the HEAD, or being tested and found not suitable? Or is
the scratch pad a separate kind of development branch?

2a) Another option is to create a separate branch for it, and then we
can either later merge with the HEAD or just let the branch "die" if we
decide to. If you use WinCVS, I think the steps for this are as follows
(I assume your checked out HEAD is heavely modified, so I will try to
describe it the "safe" way with a new parallel checkout -  there may be
easier ways to perform some of the steps? - before you do anything, you
should of course take a backup of your local changes just in case
somethings goes wrong):
        a) Check out the clean HEAD into a new directory.
        b) Create a branch on the clean HEAD, name it e.g. "nio_refactor", or
whatever you find appropriate.
        c) Your working copy of HEAD (from step a) will NOT be on the branch,
so I suggest you delete it again, and do a new check out, where you
select to check out the branch "nio_refactor" (I think that if you are
in doubt what you are working on, wincvs shows the branch-name in the
tag-column in the file-explorer).
        d) Now to the "hard" part (actually it shouldn't be that hard): Copy
your locally modified files and new files from your locally modified
HEAD-folder into the branch-checkout-folder. Note: I think you can NOT
copy entire folders, as this will overwrite the CVS-control files too,
so you will have to copy files individually.
        e) Finally (after everything compiles and works as expected again), you
can commit the changes in the branch-checkout folder. After this you
should delete your modified HEAD checkout folder (but of course keep
your backup :-)).

I hope my "reciept" is possible to understand? If you are working with
e.g. Eclipse instead of WinCVS, you can consult a page like this:
        http://www.eclipse.org/articles/Article-CVS-branching/eclipse_branch.html

I am looking forward to seing your proposal for a new marshalling
mechanism (I can not promise it, but if time and weather (the sun is
shining way more than usual in Denmark pt. so I find it a little hard to
spend entire weekends inside with the PC :-)) allows it, I will
hopefully look on it in the weekend, if it is possible for you to check
in before that - but don't stress for my sake).

Best Regards and good luck, with whatever decision you take
Morten


Roger I Martin PhD wrote:
> Hi Morten,
>
> I was out for a week for a customer.  You're probably busy too.  Any
> thoughts on layout of cvs?  some people make a scratch pad.  I am
> working with new cpp source files like OleControlStub.cpp instead of
> changing the current GenericStub.  All different stylesheets too.  Some
> of the minor changes in the TypeLib Browser are good for current and new
> development.
>
> -Roger
>