Add an anonymous code repository via freenethg
Via FreenetHG developers can collaborate anonymously/pseudonymously in a distributed fashion with all the advantages of distributed version control via Mercurial.
I think it would be great (and consistent with freenets idea) if freenet had an anonymous repository (for example a regularly updated clone), which people could clone to contribute anonymously.
They could then upload these clones again to let the main developers pull - and Mercurial also supports signing changesets with GnuPG, so freenethg allows to have strong authentification of the pseudonymous contributors.
- Mercurial: http://selenic.com/mercurial
You can clone the freentehg repo via
(if you have Mercurial prior to 1.1, you need to use static-http://... as url. Since 1.1 Mercurial detects static-http automatically)
Freenet has switched to git. Both mercurial and git can be inserted to Freenet, and support distributed workflows well. I believe that the repository has actually been inserted by a few people, I don’t know whether it is kept up to date.
I’d say, this is hereby implemented :)
Update: There’s now an infocalypse¹-repository for freenet. Infos in the fniki:
More reasons for using Mercurial for repositories on freenet (these come from the author of infocalypse):
* Incremental: You only need to insert/retrieve what has actually changed. Changes of up to 32k of compressed deltas can be fetched in as little as one SSK fetch and one CHK fetch.
* Redundant: The top level SSK and the CHK with the representation of the repository state are inserted redundantly so there are no 'critical path' keys. Updates of up to ~= 7Mb are inserted redundantly by cloning the splitfile metadata at the cost of a single 32k CHK insert.
* Re-insertable: Anyone can re-insert all repository data except for the top level SSKs with a simple command (hg fn-reinsert). The repository owner can re-insert the top level SSKs as well.
* Automatic rollups: Older changes are automatically 'rolled up' into large splitfiles, such that the entire repository can almost always be fetched in 4 CHK fetches or less.
@infected: Because Mercurial is far easier to use for newcomers while offering the same options for experienced users.
Also because there is the great Infocalypse extension for Mercurial with which inserting repositories becomes quick and painless: USK@-bk9znYylSCOEDuSWAvo5m72nUeMxKkDmH3nIqAeI-0,qfu5H3FZsZ-5rfNBY-jQHS5Ke7AT2PtJWd13IrPZjcg,AQACAAE/feral_codewright/16/infocalypse_hg.html
But since it's very easy to convert a git repo to freenet, there's already a repository published via infocalypse:
Why hide: The company you work for (or one of the main shareholders) might not like its PR work for censorship go to waste, because a skilled developer helps making censorship almost impossible.
Why mercurial? (I've never tried it so I'm curious) I would prefer to see freenet being developed in GIT and there someone already did something called "Git Over Freenet" http://j16sdiz.github.com/egit-freenet/ . I'm really not sure why anyone would want to hide their work on such a positive project anyways..
I just wrote a simple guide on setting up anonymous repositories:
It should supplement the one from the site by focussing only on what developers need to do, and hopefully by being easy to understand.
I'm glad to hear that!
And not to forget: Many thanks for your work!