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
hg clone http://127.0.0.1:8888/USK@fQGiK~CfI8zO4cuNyhPRLqYZ5TyGUme8lMiRnS9TCaU,E3S1MLoeeeEM45fDLdVV~n8PCr9pt6GMq0tuH4dRP7c,AQACAAE/freenethg/73/ freenethg
(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.
7 comments
-
Arne Babenhauserheide
commented
I’d say, this is hereby implemented :)
-
Arne Babenhauserheide
commented
Update: There’s now an infocalypse¹-repository for freenet. Infos in the fniki:
USK@Gq-FBhpgvr11VGpapG~y0rGFOAHVfzyW1WoKGwK-fFw,MpzFUh5Rmw6N~aMKwm9h2Uk~6aTRhYaY0shXVotgBUc,AQACAAE/fniki/57/FreenetSourceOverFreenet
-
Arne Babenhauserheide
commented
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.
source: USK@-bk9znYylSCOEDuSWAvo5m72nUeMxKkDmH3nIqAeI-0,qfu5H3FZsZ-5rfNBY-jQHS5Ke7AT2PtJWd13IrPZjcg,AQACAAE/feral_codewright/16/infocalypse_howto.html#advocacy
-
Arne Babenhauserheide
commented
@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:
USK@kRM~jJVREwnN2qnA8R0Vt8HmpfRzBZ0j4rHC2cQ-0hw,2xcoQVdQLyqfTpF2DpkdUIbHFCeL4W~2X1phUYymnhM,AQACAAE/fred_staging.R1/160
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.
-
Infected
commented
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..
-
Arne Babenhauserheide
commented
I just wrote a simple guide on setting up anonymous repositories:
- http://draketo.de/english/mercurial/anonymous-code-collaboration-freenethg
It should supplement the one from the site by focussing only on what developers need to do, and hopefully by being easy to understand.
-
Arne Babenhauserheide
commented
I'm glad to hear that!
And not to forget: Many thanks for your work!