6

I noticed that https://github.com/apache/ant says "mirrored from git://git.apache.org/ant.git" (with a link) and I'd like to do the same.

https://exyr.org/2011/git-mirrors/ seems like a good write up of the general technique (basically a cron job), but I'm getting some odd errors and I don't see "mirrored from" at https://github.com/pdurbin/openscholar (the destinatation). I'd like the source for the mirror to be https://github.com/openscholar/openscholar

Here is the (trimmed) output I'm seeing:

murphy:~ pdurbin$ cd /tmp
murphy:tmp pdurbin$ git clone --mirror https://github.com/openscholar/openscholar.git
Cloning into bare repository 'openscholar.git'...
remote: Counting objects: 167069, done.
remote: Compressing objects: 100% (51806/51806), done.
remote: Total 167069 (delta 112936), reused 166304 (delta 112255)
Receiving objects: 100% (167069/167069), 82.77 MiB | 650 KiB/s, done.
Resolving deltas: 100% (112936/112936), done.
murphy:tmp pdurbin$ cd openscholar.git
murphy:openscholar.git pdurbin$ git remote add github git@github.com:pdurbin/openscholar.git
murphy:openscholar.git pdurbin$ git fetch -q && git push -q --mirror github
remote: error: hook declined to update refs/pull/1001/head
remote: error: hook declined to update refs/pull/1001/merge
(snip)
remote: error: hook declined to update refs/pull/957/head
remote: error: hook declined to update refs/pull/957/merge
To git@github.com:pdurbin/openscholar.git
 * [new branch]      1017 -> 1017
(snip)
 * [new branch]      origin/SCHOLAR-3.x-make-1072 -> origin/SCHOLAR-3.x-make-1072
 * [new tag]         SCHOLAR-2-0-BETA1 -> SCHOLAR-2-0-BETA1
(snip)
 * [new tag]         SCHOLAR-3.1.6 -> SCHOLAR-3.1.6
 ! [remote rejected] refs/pull/1001/head -> refs/pull/1001/head (hook declined)
 ! [remote rejected] refs/pull/1001/merge -> refs/pull/1001/merge (hook declined)
(snip)
 ! [remote rejected] refs/pull/957/head -> refs/pull/957/head (hook declined)
 ! [remote rejected] refs/pull/957/merge -> refs/pull/957/merge (hook declined)
error: failed to push some refs to 'git@github.com:pdurbin/openscholar.git'
murphy:openscholar.git pdurbin$ 
Philip Durbin
  • 1,541
  • 2
  • 15
  • 24

2 Answers2

2

Regarding the error messages in your output:

You may want to exclude pull request refs from your mirror. I've recently had a similar issue but the other way round (GitHub as source instead of target), but it looks like it might be related:

http://christoph.ruegg.name/blog/2013/1/26/git-howto-mirror-a-github-repository-without-pull-refs.html

  • Thanks, this is very helpful. It's a little off topic but I found your http://christoph.ruegg.name/blog/2010/5/5/git-howto-revert-a-commit-already-pushed-to-a-remote-reposit.html very helpful too: http://irclog.greptilian.com/sourcefu/2013-01-29#i_2242 – Philip Durbin Jan 31 '13 at 20:04
1

I believe ceejayoz was right in the comment about GitHub staff needing to help. They suggested simply setting up a placeholder, which I did at https://github.com/iqss/openscholar

It doesn't have the "mirrored from" I was originally looking for, but we can live without it.

Philip Durbin
  • 1,541
  • 2
  • 15
  • 24