info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: import and checkout to same directory


From: Mark D. Baushke
Subject: Re: import and checkout to same directory
Date: Thu, 28 Oct 2004 00:15:40 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stefan Schneider <address@hidden> writes:

> Mark D. Baushke wrote:
> 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > Stefan Schneider <address@hidden> writes:
> >
> >>is it possible to make something like
> >>
> >>$ cd PROJECT
> >>$ cvs import -I <lotoffiles> PRO1 vendor release
> > No. The -I switch takes a single argument and is intended to be a
> > file
> > glob like "*.o"
> 
> Hi Mark,
> 
> thank you for your answer. In fact I have made something like
> $ cvs import -I "*.log" -I "*.txt" -I "*.exe" ...
> 
> I only wanted to demonstrate, that I only put some files under version
> control. But you are totally right.
> 
> >
> >>$ cd ..
> >>$ cvs co -d PROJECT PRO1
> >>cvs checkout: existing repository /cygdrive/f/PROJECT does not match
> >>/cygdrive/f/CVS/PRO1
> >>cvs checkout: ignoring module PRO1
> > You would do better to create a copy of the PROJECT directory, prune
> > all
> > of the files and directories you do not wish to import and import the
> > result.
> 
> That would be another way, nice hint. Thanks.
> 
> But the problem I have starts with the checkout. I am not able to
> check out into the directory where I have imported from. 

Correct. Checkout to something else and then rename the directories if
you need to. cvs does not like the possiblity that it will be clobbering
uncontrolled files.

> When I import from F:\PROJECT I am not able to checkout to F:\PROJECT.
> But this is important because the cvs files are in a directory called
> F:\PROJECT\CYGWIN\USR\BIN so when I rename the PROJECT directory
> before checking out, I rename also the pathnames where my bash
> (F:\PROJECT\CYGWIN\BIN\BASH.EXE) and my CVS
> (F:\PROJECT\CYGWIN\USR\BIN\CVS.EXE) are :-(

cvs is NOT a configuration management system. Using it as one is asking
for trouble.

> So at the moment where I am renaming the paths, my bash and my cvs are
> gone because of invalid $PATH variables :-(

Not to put too hard a point on it, but that is your own fault for
choosing a poor configuration management system.

It would probably be better to checkout the PROJECT into another
directory somewhere and have an 'install.bat' script of some kind
that copied all of the latest bits into your F: drive as needed.

> You can compare this situation as if you were trying to make a module
> from C:\ (or /) including some subdirectories. 

Indeed. That is an almost totally insane thing to attempt to do. Do not
let a misconfiguration of your cvs repository cause operational problems.

Instead checkout into a safe staging area, verify that everything is
correct and then run a command to install the appropriate files into
your working environment like any sane individual would do.

> How to checkout this module without moving your operating system
> directories? 

Do NOT mix your operating system configuration and control files with a
source control system..

> I am in the bad situation that my "operating system" (cygwin) is a
> subdir of the directory I want to use with CVS.

DO NOT use cvs this way.

> The only workaround I know is to make several modules which affect eg.
> F:\PROJECT\FOO, F:\PROJECT\BAR, ... These directories can be renamed
> between import and checkout because they do not affect
> F:\PROJECT\CYGWIN but I hope to find a way to check out into an
> existing directory so that I can handle the sources in one single
> module.

You are (ab)using cvs in ways not intended. Avoid them and choose a
better path.

        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBgJyc3x41pRYZE/gRAm3wAJ4zSTaLTNarDKj2rOCflCAbK8XIxgCeINAD
SrZwvfGjmWb0U7rf2+YmWL8=
=/pVs
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]