[Top][All Lists]

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

Re: importing vendor branch and removed files

From: Spiro Trikaliotis
Subject: Re: importing vendor branch and removed files
Date: Mon, 15 Mar 2004 12:56:07 +0100
User-agent: Mutt/

Hello Larry,

thank you for your reply.

* On Sat, Mar 13, 2004 at 09:51:37PM -0500 Larry Jones wrote:

> > Is there a possibility to import sources on the main branch, despite
> > using cvs add, cvs remove and cvs commit to handle this all by hand (or
> > "by skript")?
> No; import always goes to the vendor branch.  And that's really what you
> want to do -- you work on the trunk and the official releases go on a
> branch.  To discard your local changes, just revert to the lastest
> vendor release:
>       <>

yes, I had read that part of the documentation. In fact, I read almost
the whole cederqvist before asking here.

The problem for me here is that the vendor is me, so no need for a
separate vendor branch. Think it as the following: A project which has
been around for years (but not using CVS, shame on me) now wants to use
CVS. Furthermore, it wants to have the old sources inside of the
repository, to be complete.

That is, we need to import all old versions, and we want them in the
trunk (see below).

For the records: I managed to do what I wanted. I found the following
solution: For every archive version 'archver' I want to import into our
project 'prj', I perform the following steps:

1. "cvs checkout prj" (if not already done)
2. "cd prj"
3. perform a "cvs remove -f" for each and every file and directory
   inside of the work space.
4. Now, I do a "cvs add" for every file that is in 'archver' (that is,
   the archive to be imported), thus resurrecting every file that was
   not deleted in between these version
5. Now, I copy all files from archver over into prj
6. Now, I perform a "cvs add" on every file and directory that is in
   prj, so that every new file is added to the repository
7. "cvs commit"
8. "cvs tag"

It works, and everything is on the trunk after this.

Why don't I like putting everything into vendor branch: Firstly, it's
not the logical way. Secondly, I don't want to make "permanent" local
changes to the repository (on the trunk), since I work for the project,
every of my changes will eventually go into the project (well, almost).
I don't like branching from the vendor branch.

Furthermore, it is also an issue of speed and memory: As I used RCS
before, I'm familiar with its inner workings. Think about the case where
the latest on the vendor branch is 1.1.1.x. Now, CVS would have to
process x deltas to checkout the latest version. If I had worked
extensively on the trunk, and there is a version 1.y, CVS would have to
process y + x deltas! This is not good, especially when I think about
the fact that 1.y and 1.1.1.x are likely to be very similar. The file
would essentially be stored two in the repository, thus doubling the
size of the repository.


Spiro R. Trikaliotis

reply via email to

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