Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 254
  • Last Modified:

CVS question

if two people are using a block within a module but in different projects, how should that
be handled in cvs?

would it be correct to commit that one block as a project, and then the two people can check it in and out as necessary?
0
danlarkin
Asked:
danlarkin
  • 3
  • 3
1 Solution
 
MogalManicCommented:
They should commit and syncronize daily.  This minimizes the chances that any changes they make would distrupt the other programmer.  These should be the rules:
  1) Only commit code that compiles. If the code doesn't comple yet, either comment it out or commit tomorrow morning
  2) Enter cvs checkin comments whenever possible (I try to enter comments always)
  3) Unit Test the code.  Look in to JUNIT(http://www.junit.org) for Java projects (There are unit test frameworks with simalar API's for other languages as well.  Google C++ Junit.)
  4) COMMUNICATE.  Each programmer should know what the other is doing.  (CVS stands for CONCURRENT Versioning System)  If it is a big project, have daily 5-minute status meetings where each programmer JUST describes how his sub-project is going.
  5) Syncronize BEFORE commiting.  It is the programmer that checks in LAST who is responsible for resolving conficts if two people edit the same line.
0
 
danlarkinAuthor Commented:
ok that sounds ok... but as regards the "mechanics" of the cvs...should the common block (which i presume will be a separate project from the two developers perspective) be checked in under each developers project?? Is this "double" version control the best way forward or is there a neater solution
0
 
MogalManicCommented:
Yes, I would set up 3 projects:

     Common Libraries:
          /            \
   Project A       Project B


The common library builds a JAR (or LIB if C/C++) as its results.
Project A and Probject B include the common library.

I would also recommend using a build tool such as ANT.
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
danlarkinAuthor Commented:
ok this makes alot more sense.

I had initally thought i should have the following type structure....

Project A                Project B                    Common Library
         |                        |                                  
common library       common library              


thus my concern about a cvs project inside a cvs project......

So my only concern then is if someone checks out a projectA or projectB they also must *somehow* know to checkout the common library - is this situation  alright?


(I'm using c++, makefiles, and cvs)
0
 
MogalManicCommented:
You could also just create a LIB project.

The common library project will build its results to the LIB project.

That way, if a user checks out Project A (he would also need to include the LIB project as well), he would NOT need to check out the source for common libraries unless he wants to.
0
 
danlarkinAuthor Commented:
aha of course - ok thanks very much for the help
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now