Hi,

DC* <d...@riseup.net> writes:
> Thanks for looking into this. This project is really cool and promising.
>
> Hope I can give it a try soon. Keep up the good work!

Thank you for your answer!

The full version tracking roundtrip over Freenet — including
*pull-request* and *notifications* — works again! And there is now a
doc/usage.org file with a full interaction example.

And thanks to tactical enabling of the RealTimeFlag, it now needs 80%
less time in my tests.


If you want to try it, first install:
- Mercurial https://www.mercurial-scm.org
- pyFreenet3 (pip3 install --user pyFreenet3)

Then get infocalypse and set it up:
    hg clone hg.sr.ht/~arnebab/infocalypse ~/infocalypse
    hg -R ~/infocalypse update py3
    echo "[extensions]
infocalypse = ~/infocalypse/infocalypse
" >> ~/.hgrc

For pull-requests, you need two Identities. None of them may be a prefix
of the other. Both must have enabled Freemail in the web interface (set
a non-empty password!) and stored the login settings via

    hg fn-setupfreemail --truster TestBab-2@<the identity string> --mailhost 
127.0.0.1

I use TestBab-1 and TestBab-2 in this example.

Then try the roundtrip:

    # Variables for the run, choose two WoT IDs of your own, do not use
    # the same: you cannot message yourself yet.
    export WOT_ID1=TestBab-1
    export WOT_ID2=TestBab-2
    export N=$(uuidgen);

    # Cleanup
    rm -r /tmp/infocalypse-*
    cd /tmp

    # Prepare first repository
    hg init infocalypse-revived-${N}
    cd infocalypse-revived-${N}
    echo "Follow the white rabbit" > looking-glass.txt
    hg ci -Am "infocalypse"
    cd ..
    
    # Share the repo
    hg clone infocalypse-revived-${N} 
freenet://${WOT_ID1}/infocalypse-revived-${N}
    
    # Get a repo and add changes
    hg clone freenet://${WOT_ID1}/infocalypse-revived-${N} 
infocalypse-averted-${N}
    cd infocalypse-averted-${N}
    echo "One pill makes you larger" >> looking-glass.txt
    hg ci -m "And one pill makes you small, so you can roundtrip"
    
    # Share the repo and file a pull-request
    hg clone . freenet://${WOT_ID2}/infocalypse-averted-${N}
    # the . means "the current folder"
    hg fn-pull-request --wot ${WOT_ID1}/infocalypse-revived-${N} --mailhost 
127.0.0.1 # enter a message
    cd ..
    
    # give the pull-request 5 minutes of time to propagate
    sleep 5m
    
    # Check for pull-requests, then pull and share the changes
    cd infocalypse-revived-${N}
    hg fn-check-notifications --wot ${WOT_ID1} --mailhost 127.0.0.1
    hg pull -u freenet://${WOT_ID2}/infocalypse-averted-${N}
    hg push freenet://${WOT_ID1}/infocalypse-revived-${N}
    cd ..


The result of hg fn-check-notifications --wot TestBab-1 --mailhost 127.0.0.1:

Found pull request from 
'testbab-2@4ev53r3crqpgc7yftwjl2qjtqfds6d4lipi7jbofw7qwksplm3na.freemail':
--------
testifoo
--------
bar
baz

--------
To accept this request, pull from: 
freenet://USK@4Svdx2KMHmF-BZ2SvUEzgUcvD4tD0fSFxbfhZUnrZto,Qp2rRpMpSLFNEvMfcQCw5HH8vkDnhYu-eYLskXAMXdk,AQACAAE/infocalypse-averted-f494c10b-7ffd-403b-8e69-033fee4db12a.R1/1
               To your repository: 
/tmp/infocalypse-revived-f494c10b-7ffd-403b-8e69-033fee4db12a
hg -R /tmp/infocalypse-revived-f494c10b-7ffd-403b-8e69-033fee4db12a pull 
'freenet://USK@4Svdx2KMHmF-BZ2SvUEzgUcvD4tD0fSFxbfhZUnrZto,Qp2rRpMpSLFNEvMfcQCw5HH8vkDnhYu-eYLskXAMXdk,AQACAAE/infocalypse-averted-f494c10b-7ffd-403b-8e69-033fee4db12a.R1/1'


That’s it: a full, anonymous, decentralized, pull-request based
workflow over Freenet.

Please give it a try and write how it works for you: whether it breaks
or whether it just works!

I only tested it locally and there may be some dependencies on my local
setup that we still need to prune.

Best wishes,
Arne

PS: I also posted this to reddit: 
https://www.reddit.com/r/Freenet/comments/ymw6uf/infocalypse_truly_decentralized_version_control/

>> I’m really happy that infocalypse works again!
>> 
>> This gets us one step closer to self-sufficient development: Freenet
>> development could now be done by a group of pseudonymous people. We can
>> already release updates when all our centralized infrastructure is down
>> (if we decide to ship the old windows installer and let Windows boxes
>> update over Freenet; Microsoft requires centralized signing), now we can
>> actually do development over Freenet again.
>> 
>> We don’t yet know whether it will work with larger repositories like
>> fred (it used to, but back then the network was 3 times larger), and
>> we’ll have to check and possibly fix hg fn-reinsert so all contributors
>> can keep the repository working, but we finally have that in place
>> again.
>> 
>> 
>> A foundation of real information freedom in the internet — safe against
>> censorship by threat and by harassment and by flooding with noise.
>> 
>> 
>> Imagine a group of hackers living in remote or citybound meshnets,
>> connecting with solar-powered nodes to their friends while using their
>> pseudonymous developer IDs to check on pull-requests and merge their
>> work until they have a release they can insert to auto-update.
>> 
>> Known to the community for the good work they have been doing on Freenet
>> in the past, an unbound focus of Freenet development.
>> 
>> 
>> Best wishes,
>> Arne


-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

Attachment: signature.asc
Description: PGP signature

Reply via email to