An automatically commit

2002-11-18 Thread Giohanna MEndez
Hi!,

I want to make an automatically commit inside a logical structure I made on 
my cvs repository,

I use programs in C, and each version has an structure of directories and 
subdirectories which contain the programs. I have a version base, from it I 
derive version 1, version 2 and version 3, from version 1 I derive version 
11 and version 12, the logical structure is:

  /---Version 11
   /---version 1-/
  /  \
 /\Version 12
version base /---version 2
\---version 3 - Version 31

Each version has:
version base
   |-include (inside some files .h)
   |-server (inside some files .c)
   +-client (inside some files .c)

version 1
   |-include (inside same files as include in version base
 and more files .h)
   |-server (inside same files as server in version base
  and more files .c)
   |-client (inside same files as client in version base
  and more files .c)
   +-communications (inside some files .c)

version 2
   |-include (inside same files as include in version base
  and more files .h -different from version 1)
   |-server (inside same files as server in version base
  and more files .c -different from version 1)
   +-client (inside same files as client in version base
  and more files .c -different from version 1)

version 3
   |-include (inside same files as include in version base
  and more files .h -different from version 1 and version 2)
   |-server (inside same files as server in version base
  and more files .c -different from version 1 and version 2)
   |-client (inside same files as client in version base
  and more files .c -different from version 1 and version 2)
   +-graphics (inside some files .c)

version 31
   |-include (inside same files as include in version 3
  and more files .h)
   |-server (inside same files as server in version 3
  and more files .c)
   |-client (inside same files as client in version 3
  and more files .c)
   +-graphics (inside same files as graphics in version 3
  and more files .c)

I made this logical structure in this way: first I create the version base, 
then from the version base I made a checkout, then I modify it and import it 
with the name version 1, I made the same procedure to create version 2 and 
3, It is important to say to each modification is different between each 
version, to create the version 11, I made a checkout from the version 1, 
then I modify it and import it with the name version 11, I made the same to 
create version 12. To obtain version 31: I made a checkout from the version 
3, then I modify it and import it with the name version 31.

In this way, I had created modules for each version (at the same level in my 
cvs repository), but what I want to do is: each time I made a modification 
in program of the version 1, and I make a commit, the cvs automatically 
makes a commit for the version 11 and 12. Other example: if I made a commit 
for a modified program of the version base, cvs make automatically a commit 
for the dependent versions from it (according to my logical structure). This 
is my problem: how can I do it automatically?

what I am doing at the moment, that is by the way too expensive, it is:
I make checkout of the version 1, then I modify it, then I made commit, 
after that and manually I made a checkout of the version 11, then I made the 
same modification and I made a commit, then I made a checkout of the version 
12, then I made the same modification and I made a commit

In the other example,
I made a checkout from the version base, then I modify it, then I made a 
commit,
I made checkout of the version 1, then I made the same modification in it, 
then I made commit,
I made a checkout of the version 11, then I made the same modification and I 
made a commit,
then I made a checkout of the version 12, then I made the same modification 
and I made a commit,
I made checkout of the version 2, then I made the same modification in it, 
then I made commit,
I made checkout of the version 3, then I made the same modification in it, 
then I made commit,
after that, and finally I made checkout of the version 31, then I made the 
same modification in it, then I made commit,


As I am doing it at the moment, it has its problems because if I forget to 
make some update, I lose the philosophy of my logical structure and the 
other problem is that it takes long time to me and much work to do this,

Somebody can help me to make this process more automatically?

Gracias,
	Giohanna

_
MSN. Más Útil Cada Día http://www.msn.es/intmap/



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


Re: An automatically commit

2002-11-18 Thread Kaz Kylheku
On Mon, 18 Nov 2002, Giohanna MEndez wrote:

 Hi!,
 
 I want to make an automatically commit inside a logical structure I made on 
 my cvs repository,

You are trying to implement, in CVS, a completely different version
control model from what the software supports. Versions are not modeled
as new directories in CVS; rather, version history is superimposed
on a directory structure as a separate dimension.

 In this way, I had created modules for each version (at the same level in my 
 cvs repository), but what I want to do is: each time I made a modification 
 in program of the version 1, and I make a commit, the cvs automatically 
 makes a commit for the version 11 and 12. Other example: if I made a commit 
 for a modified program of the version base, cvs make automatically a commit 
 for the dependent versions from it (according to my logical structure). This 
 is my problem: how can I do it automatically?

CVS doesn't know that the modules ``version 1'' and ``version 11'' are
related in any way.  This is a semantic convention of your own which
you have imposed on the repository. If you want to automate your
version control scheme, you have to develop your own software.

If you want to do branching and merging with CVS, you will have
to learn to do it in the manner supported by CVS.



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: An automatically commit

2002-11-18 Thread Larry Jones
Giohanna MEndez writes:
 
 Somebody can help me to make this process more automatically?

Read the section of the CVS manual on branching and merging:

http://www.cvshome.org/docs/manual/cvs_5.html#SEC54

It looks like your structure is logically branches, but you're not using
CVS branching support to maintain them.

-Larry Jones

Ever notice how tense grown-ups get when they're recreating? -- Calvin


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: An automatically commit

2002-11-18 Thread Mike Ayers
Giohanna MEndez wrote:


  /---Version 11
   /---version 1-/
  /  \
 /\Version 12
version base /---version 2
\---version 3 - Version 31

Each version has:
version base
   |-include (inside some files .h)
   |-server (inside some files .c)
   +-client (inside some files .c)

version 1
   |-include (inside same files as include in version base
 and more files .h)
   |-server (inside same files as server in version base
  and more files .c)
   |-client (inside same files as client in version base
  and more files .c)
   +-communications (inside some files .c)

version 2
   |-include (inside same files as include in version base
  and more files .h -different from version 1)
   |-server (inside same files as server in version base
  and more files .c -different from version 1)
   +-client (inside same files as client in version base
  and more files .c -different from version 1)


Snipped more of the same/


I made this logical structure in this way: first I create the version 
base, then from the version base I made a checkout, then I modify it and 
import it with the name version 1, I made the same procedure to create 
version 2 and 3, It is important to say to each modification is 
different between each version, to create the version 11, I made a 
checkout from the version 1, then I modify it and import it with the 
name version 11, I made the same to create version 12. To obtain version 
31: I made a checkout from the version 3, then I modify it and import it 
with the name version 31.

	Didn't this seem more than a bit awkward? (see below)


In this way, I had created modules for each version (at the same level 
in my cvs repository), but what I want to do is: each time I made a 
modification in program of the version 1, and I make a commit, the cvs 
automatically makes a commit for the version 11 and 12. Other example: 
if I made a commit for a modified program of the version base, cvs make 
automatically a commit for the dependent versions from it (according to 
my logical structure). This is my problem: how can I do it automatically?

	By not archiving multiple copies of the same file. (see below)


what I am doing at the moment, that is by the way too expensive, it is:
I make checkout of the version 1, then I modify it, then I made commit, 
after that and manually I made a checkout of the version 11, then I made 
the same modification and I made a commit, then I made a checkout of the 
version 12, then I made the same modification and I made a commit

	This is not only too expensive, it is too error prone.


Somebody can help me to make this process more automatically?


	I shall try.  First, I must point out your fundamental problem: you 
are trying to solve a configuration problem with an archiving system. 
 This is why your solution is so awkward and error prone.  The thing 
to do is to treat this as a CM problem, and you're halfway home.

	Basically, instead of maintaining so many copies of the same files, 
you should maintain only one copy, and use a manifest and conversion 
script to translate the archive into your chosen directories.  This 
results in far less files to archive.  It also means that your 
automatic commit happens by default, although you will need to rerun 
your conversion script each time you commit.  That can be handled with 
a checkin script, if necessary.


	HTH,

/|/|ike




___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


Re: An automatically commit

2002-11-18 Thread Giohanna MEndez
Hi,

thank you very much for the received help, I am learning branches use, but 
there is a thing that I do not understand, How can I make a commit to a 
specific branch?

Regards,
  Giohanna

_
MSN Fotos: la forma más fácil de compartir e imprimir fotos. 
http://photos.msn.es/support/worldwide.aspx



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs


Re: An automatically commit

2002-11-18 Thread david
 Hi!,
 
 I want to make an automatically commit inside a logical structure I made on 
 my cvs repository,
 
 what I am doing at the moment, that is by the way too expensive, it is:
 I make checkout of the version 1, then I modify it, then I made commit, 
 after that and manually I made a checkout of the version 11, then I made the 
 same modification and I made a commit, then I made a checkout of the version 
 12, then I made the same modification and I made a commit

If the files you are proposing to automatically check in are supposed
to be exactly the same, then you don't need to keep separate copies.
You may want to set up a script that will copy the file to where you
want it to go on commit.

If they may not be exactly the same, you don't want to do this 
automatically.  Making the same change to two slightly different
files can result in garbage.

-- 
Now building a CVS reference site at http://www.thornleyware.com
[EMAIL PROTECTED]



___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs



Re: An automatically commit

2002-11-18 Thread Larry Jones
Giohanna MEndez writes:
 
 thank you very much for the received help, I am learning branches use, but 
 there is a thing that I do not understand, How can I make a commit to a 
 specific branch?

By checking it out or updating to it before committing.  See:

http://www.cvshome.org/docs/manual/cvs_5.html#SEC57

(You can also specify it explicitly with the -r option to commit, but
that's not recommended -- it's far too confusing to have files in the
same directory on different branches, which is what you'll end up with.)

-Larry Jones

Ever notice how tense grown-ups get when they're recreating? -- Calvin


___
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs