pushing specific branches to a public mirror repos
- From
Graeme Geldenhuys <graemeg@gmail.com>
- Date
- Jul 17, 2009, 08:30 UTC
- Message-ID
- <h3pcrg$ekk$1@ger.gmane.org>
Hi,
I cloned a SubVersion repository and am maintaining a Git mirror of it on GitHub. Here is an example of some of the SubVersion branches that got cloned.
refs/remotes/cleanroom refs/remotes/fixes_2_0 refs/remotes/fixes_2_2 refs/remotes/fixes_2_2_0_dos refs/remotes/florian refs/remotes/fpc_2_3 refs/remotes/generics refs/remotes/genfunc refs/remotes/trunk ...
By default 'git svn' created a "master" branch which tracks "remotes/trunk". This is currently the only branch available on GitHub mirror repository and I push it as follows:
On our server which manages the subversion -> local git repos -> github sync process.
$ cd /path/to/repository/ $ git svn fetch $ git push github master
This works fine. Now I don't have any other local branches or any local modifications (I used to have, but reverted all of them) so now a 'git svn fetch' does clean fast-forward merges without problems.
I currently have the following git config setting for the remote github repository:
[remote "github"] url = git@github.com:graemeg/freepascal.git push = +refs/remotes/*:refs/heads/*
As far as I understand, if I do 'git push github', it is going to push all the SubVersion branches (as listed above) as heads to GitHub - but this is not what I want. Many of those branches in SubVersion are old, outdated or private development areas.
I only want to push the "trunk" and "fixes_2_2" SubVersion branches to GitHub as heads. How must I change by remote.github.push config setting, or must I do a manual push as I do with the local tracking "master" branch.
In summary:
* Can I change remote.github.push so that if I run 'git push github'
that it will ONLY push remotes/trunk and remotes/fixes_2_2 to
GitHub mirror * or must I manually push those two to GitHub mirror as follows
once off create a tracking branch:
$ git branch --track fixes_2_2 remotes/fixes_2_2 then hourly do the following:
$ cd /path/to/repository/
$ git svn fetch
$ git push github master
$ git push github fixes_2_2Regards, - Graeme -
-- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/