git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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_2
Regards,
   - Graeme -
-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/
Next: Johannes Sixt
Message 1 of 5 in “pushing specific branches to a public mirror repos”
  1. Graeme GeldenhuysJul 17, 2009
  2. Johannes SixtJul 17, 2009
  3. Graeme GeldenhuysJul 17, 2009
  4. Bert WesargJul 17, 2009
  5. Johannes SixtJul 17, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.