[cvsnt] Import/Export of repository

Bo Berglund Bo.Berglund at system3r.se
Mon Jan 31 15:27:33 GMT 2005


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


In the simple form where you don't create "virtual modules" via the CVSROOT/modules file
CVS stores the data on the server in a replicated file/folder structure starting at the
project top node. In this structure there are "RCS" files, specially formatted repository
files, one for each physical file in the module. THese are named <original filename>,v and
they contain *every single* revision of that file with all the metadata needed to reconstruct
its full history.

So it is quite enough to have the RCS file for a project file in order to see "everything".

Back to your concerns:
Yes, if you are involving other people as well (was not apparent in your original post), then
I agree that my suggestion is not so safe.
In this case I would manage it differently, I would not allow the developers direct access,
instead I think I would do as follows:

1) On demand *I* would supply the repository files for a traveller.
2) I would keep the module in place as is in the repository
3) I would use the cvs cacl command to set the module as readonly for all but admins
   (this is to stop anyone else from committing anything there)
4) When the traveller is back I would get his changed repository files from him and
   I would put them back in the original place after updating the acl on the module
5) I would probably have to check that what he brings back home is OK too....

This is a lot of extra work for me if this happens a lot.

I guess that alternately one could script something between two CVS servers so that
on return the travelling cvs server could output data to enter into the stationary
server revision by revision. That needs development work on the other hand....

/Bo

-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org]On Behalf
Of Giampaolo Fadel
Sent: den 31 januari 2005 13:53
To: Bo Berglund; cvsnt
Subject: Re: RE: [cvsnt] Import/Export of repository


Thanks Bo, for your quick and precise answer.

I need the solution 1 of your answer.

Only a comment.

I don't like this solution because:
1. It needs a direct access to the repository (not all my collegues can do this).
2. I've a little knowledge of CVS and so I don't know if the CVS stores in its files something related to the server (o something else).


But if this is the only solution I'll pass over this two considerations.


Thanks again.
Paolo




It all depends on what you want to accomplish...

1. If you want full access to the old revisions of the files when you are
   at the customer's site:
- Install a CVSNT server on your laptop (don't use local access)
- Set up a repository on this server called Travel or similar
- Copy the module files from the network server repository to the laptop server
- On the laptop, check out a working copy from the laptop's CVSNT server
- On the network server, rename the project module to something like < Oldmodulename> -Travel
  This makes sure that the module is not going to be accessed or modified accidentally
  while you are away.
Now you can work with your project on the road and use CVS to version your files
as much as you like.
When you get back home all you need to do is to copy back the repository files from
your laptop to the real server.
You will now have the complete history of the files in the real server including all
revisions you created on the road.

2. If you don't want to mess with the network server files:
- Do the first 4 steps above, but do not rename or modify the network server files
- Work as above with the files using the laptop CVS server as a tool
- When you get back home again you simply copy the working files on your laptop to
  your sandbox on your desktp computer (don't copy the CVS subfolders).
- Then you make a regular commit from your desktop.
Now you will have a new revision of all files you modified while travelling stored
on your main server, but there will be no revision history from your work when
you were off line.

3. If you are not interested at all in the existing file history when you go out:
In this case there is no need to copy any repository files, just create the cvsnt server
on your laptop, then:
- Export your project module from the network server while the laptop is on your LAN
  (to a folder on your laptop of course)
- Import the exported files to your local CVS server, you will get revision 1.1 or 1.1.1.1
  on all files depending on how you set the import flags.
- Check out a sandbox from the laptop server
- Work with these files on the road using CVS as you normally do
- When coming back home, just copy the sandbox files as in suggestion 2 above and
  commit them to your main server.


/Bo

-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org]On Behalf
Of Giampaolo Fadel
Sent: den 31 januari 2005 08:58
To: cvsnt
Subject: [cvsnt] Import/Export of repository


This is the situation:

I've a project developed in my office with a desktop computer. The project is
under CVS control (the CVS server, CVSNT, is in another computer in the intranet).

When I finish the program I have to copy it (with the source code) in my notebook
and I have to go to my customer to test it.

When I'm to the customer I can't access to my CVS server (or any other server)
but I'd like to continue to have the benefits of CVS (retrieve old version,
create new branch etc.).

Is it possible to 'export' the repository/module of my project in my notebook,
then using the CVS in the notebook (with 'Locally mounted folder') and then
'import' it in the main repository? During my job in transfer I warranty that
nobody touch the main repository.

I found two solutions (never tried):
Solution 1: Brutally copy the repository/module from intranet server to a folder
in the notebook. At the end brutally copy from notebook to main server.

Solution 2: Brutally copy the repository/module to notebook. At the end retrieve 
each version/tag/branch from notebook, copy to desktop pc and commit them.

I don't like the two solutions.

Do you have any suggestions/solutions/ideas/comments.

Thanks in advance.

Paolo






_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs









_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook