Read-only mercurial mirror of numpy trunk available
Hi there, I got a mercurial mirror of numpy available. I put some basic info on the wiki http://scipy.org/scipy/numpy/wiki/HgMirror I don't know mercurial so much, so I only put some instructions to get started. It will force me to get more familiar with the mercurial features which are different from bzr, too (I will put more info then; in particular, merging works a bit differently). Some info: - the import was done with hgsvn. - The mirror contains only the trunk, and not from the start: it looks like hgsvn does not follow svn copy, and as such, it started importing from the scipy_core -> numpy rename. Still, there is the whole trunk history from 2 years. - The .hg directory only takes 17 Mb. With the working tree, it takes 27 Mb, that is only 3 Mb less than a recent svn checkout. - for some reasons, when you clone the hg repository, the tags with svn revisions are lost. If anyone knows how to avoid that (it is really useful to find a hg revision corresponding to a svn revision) cheers, David
pe, 2008-01-18 kello 18:06 +0900, David Cournapeau kirjoitti:
Hi there,
I got a mercurial mirror of numpy available. I put some basic info on the wiki
Nice!
I don't know mercurial so much, so I only put some instructions to get started. It will force me to get more familiar with the mercurial features which are different from bzr, too (I will put more info then; in particular, merging works a bit differently). Some info: - the import was done with hgsvn. - The mirror contains only the trunk, and not from the start: it looks like hgsvn does not follow svn copy, and as such, it started importing from the scipy_core -> numpy rename. Still, there is the whole trunk history from 2 years. - The .hg directory only takes 17 Mb. With the working tree, it takes 27 Mb, that is only 3 Mb less than a recent svn checkout. - for some reasons, when you clone the hg repository, the tags with svn revisions are lost. If anyone knows how to avoid that (it is really useful to find a hg revision corresponding to a svn revision)
hgsvn makes only repository-local svn tags. They go in .hg/localtags, from where they can be copied manually. I don't think hgsvn has an option to put the tags into .hgtags (from where they would be passed on automatically when the repository is cloned). -- Pauli Virtanen
Pauli Virtanen wrote:
pe, 2008-01-18 kello 18:06 +0900, David Cournapeau kirjoitti:
Hi there,
I got a mercurial mirror of numpy available. I put some basic info on the wiki
Nice! Don't hesitate to put more info there. Although I would consider myself relatively proficient with bzr, mercurial has some few important differences that I am still not sure to understand (in particular the lack of "one branch is one directory" concept)
hgsvn makes only repository-local svn tags. They go in .hg/localtags, from where they can be copied manually. I don't think hgsvn has an option to put the tags into .hgtags (from where they would be passed on automatically when the repository is cloned). Since tags seem to be handled through plain files in mercurial, would copying localtags into .hgtags work ?
cheers, David
la, 2008-01-19 kello 14:15 +0900, David Cournapeau kirjoitti:
Pauli Virtanen wrote:
pe, 2008-01-18 kello 18:06 +0900, David Cournapeau kirjoitti:
Hi there,
I got a mercurial mirror of numpy available. I put some basic info on the wiki
Nice!
Don't hesitate to put more info there. Although I would consider myself relatively proficient with bzr, mercurial has some few important differences that I am still not sure to understand (in particular the lack of "one branch is one directory" concept)
I think I don't have edit access to the Trac Wiki... Anyway, it'd be useful to also have either hg or bzr read-only mirror of scipy too! I'd actually like to see these mirrors hosted at some single "official" place (svn.scipy.org?): If everyone maintains their own SVN mirror, the resulting repositories typically turn out "unrelated" as far as the SCM programs are concerned (because of different start points, different conversion tools etc.), and one cannot easily pull and merge changes from other people's repositories.
hgsvn makes only repository-local svn tags. They go in .hg/localtags, from where they can be copied manually. I don't think hgsvn has an option to put the tags into .hgtags (from where they would be passed on automatically when the repository is cloned).
Since tags seem to be handled through plain files in mercurial, would copying localtags into .hgtags work ?
It will work by just pasting the contents of localtags to .hgtags and committing. However, this would need to be done periodically and would pollute the history a bit. -- Pauli Virtanen
On Jan 27, 2008 6:57 PM, Pauli Virtanen <pav@iki.fi> wrote:
la, 2008-01-19 kello 14:15 +0900, David Cournapeau kirjoitti:
Pauli Virtanen wrote:
pe, 2008-01-18 kello 18:06 +0900, David Cournapeau kirjoitti:
Hi there,
I got a mercurial mirror of numpy available. I put some basic info on the wiki
Nice!
Don't hesitate to put more info there. Although I would consider myself relatively proficient with bzr, mercurial has some few important differences that I am still not sure to understand (in particular the lack of "one branch is one directory" concept)
I think I don't have edit access to the Trac Wiki...
Anyway, it'd be useful to also have either hg or bzr read-only mirror of scipy too!
I'd actually like to see these mirrors hosted at some single "official" place (svn.scipy.org?): If everyone maintains their own SVN mirror, the resulting repositories typically turn out "unrelated" as far as the SCM programs are concerned (because of different start points, different conversion tools etc.), and one cannot easily pull and merge changes from other people's repositories.
hgsvn makes only repository-local svn tags. They go in .hg/localtags, from where they can be copied manually. I don't think hgsvn has an option to put the tags into .hgtags (from where they would be passed on automatically when the repository is cloned).
Since tags seem to be handled through plain files in mercurial, would copying localtags into .hgtags work ?
It will work by just pasting the contents of localtags to .hgtags and committing. However, this would need to be done periodically and would pollute the history a bit.
Better solution is to keep the tags in a Mercurial Queues patch, as I did. See for yourself: http://hg.certik.cz/numpy-hg/ BTW this mirror is much faster for me. You can browse the full history with tags online, you can clone like this: hg clone http://hg.certik.cz/numpy-hg/ It will convert the MQ patch to a regular commit, so you won't see the difference. But I, on the server, will just do: $ hg qpop Patch queue now empty $ hg pull pulling from /home/ondra/scipy/trunk searching for changes no changes found $ hg qpush applying tags.patch Now at: tags.patch Then I'll copy the updated localtags to .hgtags and do: $ hg qrefresh and that's it. No history pollution. If I decide I don't wont't the tags, I just do "hg qpop" and tags are gone. Ondrej
Ondrej Certik wrote:
On Jan 27, 2008 6:57 PM, Pauli Virtanen <pav@iki.fi> wrote:
la, 2008-01-19 kello 14:15 +0900, David Cournapeau kirjoitti:
Pauli Virtanen wrote:
pe, 2008-01-18 kello 18:06 +0900, David Cournapeau kirjoitti:
Hi there,
I got a mercurial mirror of numpy available. I put some basic info on the wiki
http://scipy.org/scipy/numpy/wiki/HgMirror Nice! Don't hesitate to put more info there. Although I would consider myself relatively proficient with bzr, mercurial has some few important differences that I am still not sure to understand (in particular the lack of "one branch is one directory" concept) I think I don't have edit access to the Trac Wiki...
Anyway, it'd be useful to also have either hg or bzr read-only mirror of scipy too!
I'd actually like to see these mirrors hosted at some single "official" place (svn.scipy.org?): If everyone maintains their own SVN mirror, the resulting repositories typically turn out "unrelated" as far as the SCM programs are concerned (because of different start points, different conversion tools etc.), and one cannot easily pull and merge changes from other people's repositories.
hgsvn makes only repository-local svn tags. They go in .hg/localtags, from where they can be copied manually. I don't think hgsvn has an option to put the tags into .hgtags (from where they would be passed on automatically when the repository is cloned). Since tags seem to be handled through plain files in mercurial, would copying localtags into .hgtags work ? It will work by just pasting the contents of localtags to .hgtags and committing. However, this would need to be done periodically and would pollute the history a bit.
Better solution is to keep the tags in a Mercurial Queues patch, as I did. Good. As I said, I know bzr much better than hg, and I did the mirror to get something started (and get used to hg, too). Since you know hg, it is better than you maintain this for a while for people to try it out.
See for yourself:
BTW this mirror is much faster for me.
Not surprising: my mirror is pure http (static-http as hg puts it), I can only upload files to it, meaning that I cannot launch any hg server. Same for bzr, by the way. thanks for doing this, David
Better solution is to keep the tags in a Mercurial Queues patch, as I did. Good. As I said, I know bzr much better than hg, and I did the mirror to get something started (and get used to hg, too). Since you know hg, it is better than you maintain this for a while for people to try it out.
I also just found that if I serve the hg repository generated by "hgpullsvn" directly, the tags are visible on the web, but not when you clone. I sometimes do hg mirrors of some svn projects just to browse the history conveniently, so this is handy. Ondrej
participants (3)
-
David Cournapeau
-
Ondrej Certik
-
Pauli Virtanen