savannah-hackers
[Top][All Lists]
Advanced

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

[Savannah-help-public] [sr #106896] Migration from CVS to git creates to


From: Heinrich Langos
Subject: [Savannah-help-public] [sr #106896] Migration from CVS to git creates too many branches
Date: Wed, 17 Jun 2009 17:31:25 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)

URL:
  <http://savannah.gnu.org/support/?106896>

                 Summary: Migration from CVS to git creates too many branches
                 Project: Savannah Administration
            Submitted by: hlangos
            Submitted on: Wed 17 Jun 2009 05:31:23 PM GMT
                Category: Developer CVS
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
        Operating System: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

I'll keep the project specific stuff out of the command lines that I give as
I think it might interest other project administrators.

* We want to switch from CVS to git.
* My knowledge of git is that of a git user, not that of a git
administrator.
* Up until now CVS was used with only a few tags and no branches.

I followed the instructions on UsingGit
<https://savannah.gnu.org/maintenance/UsingGit> .

First I tagged the CVS repository.

cvs tag -b repository-before-move-to-git


This irritatingly created a branch tag. So I think that "-b" should be
removed from the example or explained as CVS tags are (almost) impossible to
remove.

Then I used git-cvsimport to create a new git repository from the cvs:

git-cvsimport -A ../authors.txt -p x -v -d:${myrepository}:/sources/$project
$module


This created a local git repository with two branches *origin* and *master*.

Then I pushed everything to the formerly empty project repository on
savannah:


git push --tags -v address@hidden:/srv/git/${project}.git
git push --all -v address@hidden:/srv/git/${project}.git


Lastly I wanted to check out how this all would look for a new developer and
I cloned the repository again to a new local directory:


git clone git://git.savannah.gnu.org/${project}.git


Now *git-show-branch* only shows the local master branch

[master] Description of the last commit.


but *git-show-branch -a* shows 

* [master] Description of the last commit.
 ! [origin/HEAD] Description of the last commit.
  ! [origin/master] Description of the last commit.
   ! [origin/origin] Description of the last commit.
----
*+++ [master] Description of the last commit.


Looks to me like some of those remote branches are obsolete. I think _at
least_ the *origin/origin* branch could be either 
* removed (if the cvs repository will not be changed anymore) or
* renamed to something like [origin/cvs-upstream] if cvs will remain the
project's main VCS and git is just a convenience feature for some developers.

I don't know if *origin/master* is needed. I work on another project where
there is no *origin/master*. Only *origin/HEAD* and "git pull" merges commits
from origin/HEAD into my local *master*.

So here are the questions/actions:
* please remove "-b" from the cvs tag instructions or document the *lasting*
effects.
* Do I need origin/origin at all?
** How can I remove it?
** How can I rename it to something like origin/cvs if I decide that I need
it for historical reasons or upstream reasons?
* Do I need origin/master?
* How do I clean out the remote git repository to start over ? :-)

cheers
-h




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/support/?106896>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

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