info-cvs
[Top][All Lists]
Advanced

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

Repository directory/file restructuring (delete/move)


From: David A. Desrosiers
Subject: Repository directory/file restructuring (delete/move)
Date: Fri, 04 Jan 2002 11:43:43 -0800
User-agent: Pan/0.11.1 (Unix)

I've been reading up on the various methods to move files and
directories around in the repository, and I haven't yet found a workable
solution to what I'm trying to achieve with one of my public projects. 

        I have a repository which contains a structure similar to the following:


        -TOPDIR
         |
         |-tools
         | `-Perl5
         | `-Python
         | `-Java
         |
         |-libsock
         |
         |-libcc
         |
         |-man
         |
         |-doc
         |
         |-include
         |
         ` *.c README, ChangeLog, etc. in `pwd`

        ...and so on. I am about to make a pretty monumental release, and would
like to restructure this a bit to resemble something like the following: 

        -TOPDIR
         |
         |-src
         | |-include
         | |
         | |-pix
         | |
         | |-prc         (was previously two files in `pwd`)
         | |
         | `-*.c
         |
         |-libpisock     (was previously libsock)
         |
         |-libpisock++   (was previously libcc)
         |
         |-doc           (which now contains README, ChangeLog, etc.)
         | |
         | `-man 
         |
         `-bindings
           |
           |-Perl5
           |-Python
           `-Java
          
        Basically, a few renames at the top level (libcc becomes libsock++ and
libsock becomes libpisock), and a few tucks of the parent under another
directory ('man' gets tucked under 'doc', 'pix' and 'include' gets tucked
under the new 'libpisock', and so on). 
        
        Right now, HEAD contains about 40 tags of this project, from the first
import, through pre-releases, all the way to current. There is also a tag
off of this which is a very alpha development branch (call it an internal
fork). This must remain under HEAD, intact. 

        My question is, what is the best approach to doing this? I've heard some
people tell me that doing direct cvs-repository surgery is the only way,
by copying directories around, but that leaves two copies of versions,
one in HEAD, and one in the new directory. It also orphans off tags for
files that aren't in the new directory. 

        I've also heard people mention using 'cvs remove; cvs add;' for the
files I want to move around, but that doesn't preserve the history or the
versions. 

        Can someone give me a pointer to a good info file or manpagr or
cvshome.org reference on this? I've found the following to be
interesting, but don't quite cover my issues: 

        http://www.cs.utah.edu/dept/old/texinfo/cvs/cvs_15.html
        http://www-es.fernuni-hagen.de/cgi-bin/info2html?(cvs)Outside
http://www-es.fernuni-hagen.de/cgi-bin/info2html?(cvs)Rename%20by%20copying

        Any help anyone can give would be immensely appreciated. Direct replies
would be preferred, but I'll check back here often as well. The release
is only days away. 


/d


reply via email to

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