Hi all,
I've experimented all the day with svn2git and I agree that v.2.0
should be fine to maintain a mirror repository. However for the time
being I will stick to the minimal setup given by git-svn. I do not
like to have all the branches and tags visible on gitorious. The git
repository for the moment is only an experiment and having at disposal
only the trunk is fine enough for most users. I found also a recipe to
clone the repository so that git-svn can work with it. Here my workflow
# initialize a repo in t
mkdir t
cd t
git init
git fetch -f [email protected]:texmacs/texmacs.git '+refs/remotes/
*:refs/remotes/*'
# recreate the master branch
git checkout -b master trunk
# sync with svn
git svn init -s svn+ssh://[email protected]/texmacs
git svn rebase
# eventually push changes to the git repository
git push --mirror [email protected]:texmacs/texmacs.git
only drawback is that you need to use svn+ssh since git-svn does not
accept to change protocol.
In this way I can maintain the repository in sync from different
machines.
Best
max
On 3 déc. 10, at 04:05, Yubao Liu wrote:
On Thu, 2 Dec 2010, Gubinelli Massimiliano wrote:
Hi,
On 2 déc. 2010, at 17:35, Liu Yubao wrote:
* use an author file to obtain pretty author information in git,
a full author list could be
obtained by parsing output of comand "svn log
svn://svn.savannah.gnu.org/texmacs".
I was trying to implement this but I'm not sure I want to pubish
full email for authors. Author name can be retrived from Savannah.
Why is important to have not only nick names in the repository?
I guess it's a good practice in git world to use pretty "author
<email>" format for commit logs. Anyway, email addresses like
aut...@64cb5145-927a-446d-8aed-2fb7b4773692
are nonsense. If retriving full email isn't convenient or leaks
author's private information, I think format "author" is better than
"author <aut...@uuid>".
PS: I fond this
http://jausoft.com/blog/2009/07/08/svn-to-git-migration-1/
which explain how to manually mirror the svn branches and tags in
git. I think I prefer this than an automated script like svn2git.
It allows me to understand better the implications of the operation.
I read it, very detailed and complicated:-)
When I mirrored texmacs svn repository to git repository, I thought
to cleanup the branches/tags mess, it's very simple thanks to
standard layout of texmacs repository:
$ git svn clone -s --authors-file=svn-authors \
svn://svn.savannah.gnu.org/texmacs
$ cd texmacs
create git tags:
$ git branch -a | grep "remotes/" | grep -v "remotes/origin" |
grep "/tags/" | while read t; do n=${t##*/}; git tag $n $t; done
create git branches:
$ git branch -a | grep "remotes/" | grep -v "remotes/origin" |
grep -v "/tags/" | while read t; do n=${t##*/}; git branch --
track $n $t; done
These command can be executed multiple times because git will fail
for existed branches and tags.
I didn't do this because I wanted to let it be the original state,
no my fingerprint.
And about the svn-sync way described in that blog, I'm opposite to it.
As I remember, svn-sync would introduce extra svn properties to record
synchronization state which are nonsense for git. The texmacs
repository
isn't very big, I mirrored it directly with git-svn in about four
hours.
I recommend you give svn2git a try, maybe it considers more details.
Regards,
Yubao Liu
_______________________________________________
Texmacs-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/texmacs-dev