LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 01-14-2009, 12:40 PM   #1
TwoThird
LQ Newbie
 
Registered: Jan 2009
Posts: 5

Rep: Reputation: 0
sharing modules in CVS across multiple projects


newbie in CVS

situation:
I have a cvsd server running on Ubuntu, containing my VB code

Problem:
Most projects use the same very common classes (stored in directory "commonclass_directory").

I know I can use the ampersand(&) sign in the "modules" file for this, but how do I make sure that the "commonclass_directory" doesn't end up in top of the project directory? I need these common classes to appear in a sub directory, where VB needs them.

I tried out all combinations of -d, -a and what not options, and got very far.
Checking out two projects (both using this commonclass) appears to be fine, but committing a change in the second ends up with the message:

"cvs commit: Up-to-date check failed for `commonclass_directory/commonclass.vb'
cvs [commit aborted]: correct above errors first!"

(updating first says: cvs update: conflict: `commonclass_directory/commonclass.vb' is modified but no longer in the repository)

Please help me with my modules file (search everything and every help found states the -d and -a options as very obvious things to use).

Here's a clarification (used code to get uni spaced chars)
Code:
General_Project1
 |
 +-- Some_sub_dir1
      |
      +--commonclass_directory
      |
      +-some_subsubdir1

General_Project2
 |
 +-- Some_sub_dir2
      |
      +--commonclass_directory
      |
      +-some_subsubdir2
Obviously I want to be able to change, update, commit inside the commonclass_directory at will.
 
Old 01-15-2009, 02:10 AM   #2
Valery Reznic
ELF Statifier author
 
Registered: Oct 2007
Posts: 676

Rep: Reputation: 137Reputation: 137
Quote:
Originally Posted by TwoThird View Post
newbie in CVS

situation:
I have a cvsd server running on Ubuntu, containing my VB code

Problem:
Most projects use the same very common classes (stored in directory "commonclass_directory").

I know I can use the ampersand(&) sign in the "modules" file for this, but how do I make sure that the "commonclass_directory" doesn't end up in top of the project directory? I need these common classes to appear in a sub directory, where VB needs them.

I tried out all combinations of -d, -a and what not options, and got very far.
Checking out two projects (both using this commonclass) appears to be fine, but committing a change in the second ends up with the message:

"cvs commit: Up-to-date check failed for `commonclass_directory/commonclass.vb'
cvs [commit aborted]: correct above errors first!"

(updating first says: cvs update: conflict: `commonclass_directory/commonclass.vb' is modified but no longer in the repository)

Please help me with my modules file (search everything and every help found states the -d and -a options as very obvious things to use).

Here's a clarification (used code to get uni spaced chars)
Code:
General_Project1
 |
 +-- Some_sub_dir1
      |
      +--commonclass_directory
      |
      +-some_subsubdir1

General_Project2
 |
 +-- Some_sub_dir2
      |
      +--commonclass_directory
      |
      +-some_subsubdir2
Obviously I want to be able to change, update, commit inside the commonclass_directory at will.
I don't think it's a good idea.
When someone work on say, Project 1, one will think that commonclass_directory
is owned but Project 1, and may be changed as ones wishes.

But those changes can break Project 2 !

So I suggest to have commonclass as independent project and install specified version on it to be used with Project 1, Project2, etc.

This way there is at least a chance, that when changes made to commonclass one will think about not breaking other projects.
 
Old 01-15-2009, 05:09 AM   #3
TwoThird
LQ Newbie
 
Registered: Jan 2009
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by Valery Reznic View Post
So I suggest to have commonclass as independent project and install specified version on it to be used with Project 1, Project2, etc.
Didn't mention it, but commonclass IS a seperate project. I needed to split the project up in two parts: one part that contains the project files, one other part that contains the *.vb files. This latter project (directory) is the one which needs to be inserted into Project1 and Project2.
 
Old 01-15-2009, 05:30 AM   #4
Valery Reznic
ELF Statifier author
 
Registered: Oct 2007
Posts: 676

Rep: Reputation: 137Reputation: 137
Quote:
Originally Posted by TwoThird View Post
Didn't mention it, but commonclass IS a seperate project. I needed to split the project up in two parts: one part that contains the project files, one other part that contains the *.vb files. This latter project (directory) is the one which needs to be inserted into Project1 and Project2.
It may be separate project, but if when you check out Project 1 it's subdirectory will appear under Project 1 dir still (almost everyone will think that it's part of Project 1 and can be modified at will and this change can break another project(s)
 
Old 01-15-2009, 06:29 AM   #5
TwoThird
LQ Newbie
 
Registered: Jan 2009
Posts: 5

Original Poster
Rep: Reputation: 0
So ehm... how can I maintain these projects in the best way then?
Visual basic simply requires the code to be in that deep down directory, no way around that.
 
Old 01-15-2009, 08:34 AM   #6
Valery Reznic
ELF Statifier author
 
Registered: Oct 2007
Posts: 676

Rep: Reputation: 137Reputation: 137
Quote:
Originally Posted by TwoThird View Post
So ehm... how can I maintain these projects in the best way then?
Visual basic simply requires the code to be in that deep down directory, no way around that.
My suggestion:

In the repository you have:

Project1
Project2
...
CommonClasses

When you are working on say, Progect 1, you check out this project, EXPORT CommonClasses to any place you like/need and work.

Export will prevent you from occasionally check in changes in common classes.

If you need change CommonClasses you CHECKOUT them somewhere, work on them, make chek in. And then (if it needed) update CommonClasses used in the Project 1

By the way, are all your project is that independent ?
I.e if all of them are related to one product and all of them should be build/delivered together, than you have a much simpler solution:

Code:
CVS
  All-in-one-project
     Project1
     Project2
     CommonClasses
 
Old 01-15-2009, 08:44 AM   #7
TwoThird
LQ Newbie
 
Registered: Jan 2009
Posts: 5

Original Poster
Rep: Reputation: 0
Ok tnx, I think I can work with this suggestion.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
CVS Permission issues on creating new modules xaos5 Linux - Software 2 05-29-2008 08:05 PM
LXer: Hosting multiple projects with DrProject LXer Syndicated Linux News 0 09-13-2007 04:00 PM
CVS for small, single-developer projects jrdioko Programming 2 01-19-2006 01:25 PM
Deleting modules in SourceForge's CVS Hikaru79 Programming 0 05-18-2005 08:03 PM
CVS modules can be checked out locally, but not over pserver..what has to be changed? CaptainRandom Programming 2 06-23-2004 08:03 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 09:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration