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 [email protected]: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 [email protected]: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 '[email protected]:pdurbin/openscholar.git'
murphy:openscholar.git pdurbin$
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
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.