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

who should submit updates to cvs



Colleagues,

The following question from Ed Brash is probably of general interest,
so I post my reply here.

 > [Ed Brash wrote]

> My first question is regarding CVS.  I have not used this very much
> in the past, and am unsure as to matters of protocol.
> In particular, how do I commit changes to the code that I have made?


Make the changes in the area where you originally did the cvs checkout
command to get the code.  Then cd to your cvs root area (eg. the folder
where the HDGeant folder is found) and do cvs commit, as in
$ cvs commit HDGeant
To make sure I am not undoing some changes from someone else, I always
to a cvs update command right before my cvs commit, and make sure that the
update didn't collide with my changes.  Then I do my own commit.


> Do my changes become permanent fixtures that everyone must live with?


They are permanent till either you or someone else changes them again.
However everyone does not have to live with them.  Changes are only
propagated to me when I execute a "cvs update" on my local machine.
Even then I can specify a version previous to the latest one if I find
the latest one has problems.

> Is there a librarian that manages these changes?


No.  Each one working on the code gets to take the full credit.


> If I commit a change that is truly
> stupid (which is likely), is it simple to remove this change and go back to
> a previous version. 


Yes, this has happened to me in the past.  Every time you make a commit
you are popped into an editor to enter a few words of wisdom to explain
what you did.  If a few minutes later you are even wiser and decide
against your changes, simply edit them back away and commit it again.
In your comment you might include a few words describing the taste of crow.
I know you might prefer to be able to back off a change rather than edit
it away again, but cvs does things that way to make sure that different
people are not backing off each others' changes.

> If I make some changes to the Makefile to get things to
> compile on Tru64, is it then incumbent upon me to make sure that this does not
> break things on other platforms?  In any case, I have made some changes to
> the Makefile for HDGeant that I would like to commit, and some instructions
> would be helpful.


Yes, this is where it gets interesting.  There are a few places, like
Makefiles, where it is easy to break it for someone else when fixing it
for yourself.  I suggest that if you do not feel sufficiently confident
that you know what you are doing in making a mod, simply email the fixed
file to the person who has responsibility for the package and let them
do it.  For HDGeant that would be me.  Please keep in mind that simply
installing the fix in your local code does NOT do it -- you risk a
collision with someone else's mod the next time you do an update.

Richard Jones