[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/
- [Savannah-help-public] [sr #106896] Migration from CVS to git creates too many branches,
Heinrich Langos <=