[Top][All Lists]
[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.