[cvsnt] Please help with moving of repositories

Arthur Barrett arthur.barrett at march-hare.com
Fri Aug 31 22:49:54 BST 2007


Bo,

That is an excellent summary - I hope someone posts that to the wiki...
(hint hint).

One item missing is the Execute Bit.  

Old CVS 1.11 determines what "permissions" to give a checked out file
(eg: 666, 755 etc) based on the permissions on the RCS file.  This works
fine on linux/unix, but does not translate onto windows.  The only "bit"
that usually matters is the execute bit.  Find all the RCS files in the
repo with the execute bit set and after you complete the migration to
CVSNT on Windows then checkout the file onto linux/unix from the windows
repo, change the "mode" (chmod 755 file.ext) and then force commit it
(cvs commit -f -m "") to store the "mode" "execute bit" "permissions" in
the file.

Note: "permissions" is a really overloaded term nowdays with ACLs and
"execute bit" both easy to confuse with this...

Of course if no RCS file in the 1.11 repo has the execute bit set then
all that is unnecessary.

Regards,



Arthur Barrett



> -----Original Message-----
> From: cvsnt-bounces at cvsnt.org 
> [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of Bo Berglund
> Sent: Saturday, 1 September 2007 1:01 AM
> To: Chaz; cvsnt at cvsnt.org
> Subject: Re: [cvsnt] Please help with moving of repositories
> 
> 
> "Line ending problem" 
> ---------------------
> This is no problem whatsoever, the CVSNT repository files are 
> all using
> UNIX line endings and if you let some tool convert these then 
> the system
> will fail miserably. They must stay with LF as the line endings.
> 
> "Moving from CVS on Linux"
> --------------------------
> What you have here is not only moving from a Linux server, 
> but also from
> a different CVS server (GNU CVS).
> You will have some issues, but not many going in this 
> direction, but it
> is a one-way street. Once you start working on the repo in CVSNT it
> cannot be moved back to GNU CVS.
> Most of the adaptations come from the CVSROOT files and the 
> best advice
> I can give is to not copy over CVSROOT. Instead, create a new 
> repository
> on the new server using the latest (build 2382) version of CVSNT.
> Then copy in the files from the Linux repo to this new repo 
> (in parallel
> with the CVSROOT dir) and then set up your CVSROOT scripts as 
> you would
> like them to work on Windows.
> 
> "Links on UNIX"
> ---------------
> CVSNT on Windows cannot cope with links. You have to create 
> file copies
> if you have the repo on Linux set up with linked files (which in my
> opinion do not belong inside a repository at all).
> 
> "Import"
> ---------
> Please do not use this term in such a vague context. cvs import is a
> valid command and your wording can be confused with this 
> command. You do
> nopt want to import anything, you want to migrate the old repositories
> to a new server and preserve all of the repository history. 
> This is done
> by moving over the RCS files as described without changing them in any
> way at all.
> 
> "CVSNT version"
> ---------------
> I hope you plan on using a newer version of CVSNT on the new 
> server than
> build 1927!
> I recommend 2.5.03.2382.
> 
> 
> Best regards,
> 
> Bo Berglund
> 
> 
> -----Original Message-----
> From: cvsnt-bounces at cvsnt.org 
> [mailto:cvsnt-bounces at cvsnt.org] On Behalf
> Of Chaz
> Sent: den 31 augusti 2007 14:24
> To: cvsnt at cvsnt.org
> Subject: Re: [cvsnt] Please help with moving of repositories
> 
> Hi Gerhard,
> 
> Thank you very much for your response.
> 
> The CNSNT version on the source Windows machine is "CVSNT 2.5.01
> (Travis) 
> Build 1927".
> 
> The CVS version on the Linux machine is "<CVS> 1.11.1p1
> <client/server>".
> 
> As far as the 2 repositories on the Windows machine are concerned, I
> copied 
> these to the target Windows machine ok.
> 
> The other concern with Linux to Windows copy is the LF to CR/LF
> conversion 
> of line-ends in ASCII files, and the files on Linux that are actually 
> "links" to files. The thought that I would need some kind of import
> instead 
> of using a copy mechanism stems from these issues.
> 
> I will appreciate any further guidance in this regard.
> 
> Chaz
> 
> "Gerhard Fiedler" <lists at connectionbrazil.com> wrote in message 
> news:1pkaxnd7tyodh$.dlg at connectionbrazil.com...
> > Chaz wrote:
> >
> >> My post of 28th refers. This is a further request for someone to
> please
> >> provide me with some guidance regarding moving / re-locating of CVS
> and
> >> CVSNT repositories.
> >>
> >> I have 2 repositories on a Windows machine, using CVSNT, 
> and one on a
> 
> >> Linux
> >> machine, using CVS.
> >>
> >> I wish to transfer these repositories in their entirity, including 
> >> history,
> >> to a new Windows-based machine on which I have installed CVSNT.
> >>
> >> Thus far I have been told that as far as CVSNT is concerned, a
> Windows 
> >> copy
> >> of the repositories on the Windows source machine can be placed on
> the 
> >> new
> >> machine.
> >>
> >> As far as the repository on Linux is concerned I was advised to use
> FTP 
> >> to
> >> transfer the repository to the Windows machine. I tried this, but
> after
> >> completion noticed a large difference between the number 
> of files and
> >> folders on the source and target.
> >
> > Then there was something wrong with the ftp transfer. Maybe a
> permissions
> > issue? In any case, you need to copy those files (all of 
> them) to the
> > Windows machine.
> >
> >> My gut feel tells me that I would first need to create the 3 new
> >> repositories on the target machine,
> >
> > That's correct. But you also can copy first and then set up 
> the copied
> > trees as repos. AFAIK the only difference is that in the first case,
> you
> > get all the default CVSROOT files (which you then replace at least
> > partially with yours from the other installations).
> >
> >> and then use some tool to import the 3 existing 
> repository's contents
> >> into the 3 new repositories.
> >
> > That "tool" is file copy, be it directly network copy or ftp or
> anything
> > else.
> >
> > Discard what I wrote about merging the CVSROOTs over in the 
> TCVS list
> :)
> > Since you want to keep the three repos separate, there's no 
> need. But
> you
> > still may have to review and update the trigger scripts (if 
> any). And
> set
> > up all user permissions.
> >
> > One thing that could provide you with more pointers is if you would
> list
> > here the CVS(NT) versions involved (that is, all four of them).
> >
> > Gerhard 
> 
> 
> _______________________________________________
> cvsnt mailing list
> cvsnt at cvsnt.org
> http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
> _______________________________________________
> cvsnt mailing list
> cvsnt at cvsnt.org
> http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt
> 


More information about the cvsnt mailing list