I like the idea of building a new GitHub clone based on the SVN. Rebasing all the experimental stuff is tedious (especially for non- commiters), but there really is no way around it.

Daniel

On Mar 1, 2009, at 6:57 AM, Victor Hugo Borja <[email protected]> wrote:

I guess Buildr was one of the first Apache projects using git for
development. Our github mirror at vic/buildr from incubation days was
created from svn.apache.org server, and as Assaf mentions, TLP there seems to be some restrictions on using git-svn on asf/ directory level on that
server, so our best bet would be to use eu.svn..

One issue is duplication of commits history because Git uses the author name/email to create the hash for a commit. Actually we faced this problem
back early when we started playing with git, a bare git-svn clone from
svn.apache.org would have git-svn generated user name/email for the commit hash. When we pushed into github, we did using our real name and the email address we were using for our github account. That caused our commit history duplication due to having different user info on each commit, we kinda solved it using a etc/git-svn-authors file so that git-svn could know which
apache account mapped to github accounts.

Now, we could easily use Jukka's git mirror[1] but we have some issues to solve.. Jukka's mirror was created by a bare git-svn checkout (yet it uses our real user names and apache addrs), so if we push these commits to github we would have again a duplication of commit history, because commits on Jukka's mirror have been signed with our apache account and know nothing
about github (doesn't use etc/git-svn-authors).

I'd propose using [1] and push a fresh clone from it to vic/buildr. Using GitHub IMHO has many advantages over just using [1], first is we have more control over when to update the mirror with current branch, and can keep it more up-to-date if needed, we can push directly to it, and easily use the fork queue to integrate other's changes. In doing this we (buildr commiters
using github) would need to make some changes..

 - Get a fresh clone from [1] and cd into it
 - Use your apache account to git push (would have done this from the
beginning)
    git config user.email [email protected]
add [email protected] on your github account so it can recognize changes
made by you.
- Now the tedious thing would be to get changes from your experimental
branches into your new clone without having duplicate commits.
- I would update git-svn-authors to use our apache email addresses, and
also update the buildr-git to use eu.svn as [1] does.

What you think about this?

[1] http://jukka.zitting.name/git/?p=buildr.git;a=summary
--
vic

Quaerendo invenietis.

Reply via email to