info-cvs
[Top][All Lists]
Advanced

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

Re: Importing vendor update without 1.1.1 branch


From: Eric Siegerman
Subject: Re: Importing vendor update without 1.1.1 branch
Date: Fri, 5 Jan 2001 22:56:38 -0500
User-agent: Mutt/1.2.5i

On Sat, Jan 06, 2001 at 12:01:49AM +0000, Kenn Humborg wrote:
> On Fri, Jan 05, 2001 at 04:12:23PM -0500, Eric Siegerman wrote:
> > I've scrambled enough repositories that I've come to think of
> > importing as a dangerous operation
> 
> Unfortunately, I was still under the impression that pretty much
> anything in a version control system should be undoable...
> 
> Nice way to be enlightened :-)

1. Well, it is.  Just not easily.
2. Anything you do to your sandbox is pretty easily recoverable.
   Some of the things you might do to your repository are a
   different story.
3. Welcome to CVS.  Consider this a wart.

> > I'd have just deleted the ,v files.
> 
> It's hosted at SourceForge so I don't have access to the ,v files.

Bleah :-(

> > > Of course, I should have specified that the vendor branch is 2.2.14.
> > > So I tried again:
> > > 
> > >    cvs import -b 2.2.14 module vendor vendor-2-4
> > > 
> > > This time, updated files are imported OK at version 2.2.14.2,
> > > but new files are not added:
> > > 
> > >    cvs server: /cvsroot/proj/module/file,v: can't find branch point 2.2
> > >    cvs server: ERROR: Check-in of /cvsroot/proj/module/file,v failed
> > > 
> > > Is this because 2.2.14 appeared "out of nowhere"?
> > 
> > Not likely; after all, the same command worked on the vendor-2-2
> > import, when 2.2.14 was coming equally "out of nowhere".  I
> > rather suspect that this error is because of one or more of the
> > following:
> >   - the files still have a "vendor" tag referring to the 1.1.1
> >     branch, which conflicts with the new import command's request
> >     to assign that tag to branch 2.2.14
> 
> But before the first import, the "vendor" tag referred to 2.2.14.
> So shouldn't that have failed the same way?

Nope.  CVS has no *global* idea of what a given tag means; each
file has its own idea (tags and their values are stored
separately in each ",v" file, not in some global database).  So
every file that existed in the vendor-2-2 import has:
        Tag             Value           Where it came from
        ----------      ------------    ------------------
        vendor          2.2.14 (b)      import of 2.2
        vendor-2-2      2.2.14.1 (r)    import of 2.2
        vendor-2-4      2.2.14.2 (r)    second import of 2.4

But every file that didn't exist in 2.2 has:
        vendor          1.1.1 (b)       first import of 2.4
        vendor-2-4      1.1.1.1 (r)     first import of 2.4
Those tags remain in the ,v file even if you delete revision
1.1.1.1 out from under them; you have to explicitly remove the
tags.

Do a "cvs log" of a file in each state, and you'll see what I
mean.

--

|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
Interviewer: You've been looking at the stars all your life:
Is there anything in astrology?
Arthur C. Clarke: It's utter nonsense.  But I'm a Sagittarius,
so I'm naturally skeptical.



reply via email to

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