------------------------------------------------------------ Terminology: ------------------------------------------------------------ WoT - Web of Trust. May refer to the plugin of the same name or compatible alternative plugins like LCWoT - Less Crappy Web of Trust. WoT identifier - Web of Trust identifier. This is MyNickname@public-key-hash. Often abbreviated "wot_id". Not to be confused with a WoT identity. WoT identity ID - a WoT identity's public key hash. ------------------------------------------------------------ Architecture: ------------------------------------------------------------ ------------------------------------------------------------ Dev log: ------------------------------------------------------------ !!! experimental branch for testing wiki over hg idea !!! See (note updated uri) reenet:USK@Gq-FBhpgvr11VGpapG~y0rGFOAHVfzyW1WoKGwK-fFw,MpzFUh5Rmw6N~aMKwm9h2Uk~6aTRhYaY0shXVotgBUc,AQACAAE/fniki/-22/ !!! djk20100207 BUG: fn-wiki will run without .infocalypse. audit other new commands, should abort cleanly. djk20100123 Saw error reinserting fred staging mirror: {4}:008c3b951f:(102, 117, 0):PutSuccessful Exiting because of an IO error. {3}:4e965d6bb1:(0, 32, 0):ProtocolError:('ProtocolError', {'CodeDescription': 'Socket closed'}) {3}:24a632ebbe:(32, 102, 0):ProtocolError:('ProtocolError', {'CodeDescription': 'Socket closed'}) {3}:ec68723c40:(-1, 0, 0):ProtocolError:('ProtocolError', {'CodeDescription': 'Socket closed'}) FCP connection [CLOSED] abort: No such file or directory: /home/dkarbott/infocalypse_tmp/_tmp_895966490831 Not reproducible. Bug introduced by changes to wiki_hack branch? djk20091208 Failed attempt to DRY out: THIS_IS_A_CONSTANT = 'THIS_IS_A_CONSTANT' constant defs. # pylint doesn't infer the names so it reports them as undefined # def str_constant(name): # assert not name is globals() # globals()[name] = name #str_constant('ARC_REQUESTING_URI') djk20091111 Remember to test pathhacks under windows. If it works, use it to clean up the config and fms import hacks. djk20091003 Added work around for hg-git bug: http://github.com/schacon/hg-git/issues#issue/51 Tested hg-git fix on Windows XP w/ 1.3.1 binary mercurial (also tested fn-fmsread), Ubuntu Jaunty Jackalope with mercurial 1.1.2, gentoo Python 2.6.2 and mercurial 1.3.1. djk20090714 Added Python 2.5.4 version of ConfigParser.py to the python2_5_file directory. This was required to make the berkwood 1.3 Windows binary distribution of Mercurial work. i.e. here: http://mercurial.berkwood.com/binaries/Mercurial-1.3.exe Smoke tested on Windows XP w/ 1.2.1, 1.3 binary Mercurial distros: http://mercurial.berkwood.com/binaries/Mercurial-1.3.exe http://mercurial.berkwood.com/binaries/Mercurial-1.2.1.exe Looks good. djk20090713 Smoke tested on Ubuntu Jaunty Jackalope with Mercurial 1.1.2. Looks good. djk20090706 Added doc/infocalypse_howto.html djk20090703 Smoke tested fn-pull / fn-push / fn-fmsread on Windows XP using Mercurial Distributed SCM (version 1.2.1) from http://mercurial.berkwood.com/ No problems. fn-putsite works on XP after fix in 7e118c550744. Successfully pulled fred_staging/82/ on XP. djk20090702 Minimum required mercurial version is (and probably has been for a while) 1.2.1. [djk20090713, Too conservative. 1.1.2 works on Jaunty Jackalope]. 1.0.2 definitely doesn't work anywhere (problems pushing)] That's the only rev. I've been testing with. djk20090620 Re-insert failures are caused by a Mercurial bug see Limitations below. http://www.selenic.com/mercurial/bts/issue1704 djk20090511 Finally, fixed default config creation. There is a bug which sometimes shows up in re-insert. See bottom of this file. djk20090502 I added an explicit format_version field to the config file and added code to automatically re-write the config file when the version changes. Disregard the note about fms* config variables below. They will appear 'automagically'. djk20090501 I added fn-fmsread and fn-fmsnotify to support sending and receiving repo update notifications via fms. They are documented in __init__.py. The gensig.py script can be used to publish repo updates in your fms signature. IMPORTANT: If you were running an earlier version of the code you must fn-push or fn-pull successfully at least once before you will see the new fms* config variables in your .infocalypse/infocalypse.ini file. djk20090425 I reworked the graph representation to handle multiple heads correctly. Repositories inserted with the previous code won't work with the new code because I had to change the top key format. djk20090422 pylint -fparseable --include-ids=y *.py ------------------------------------------------------------ KNOWN LIMITATIONS/BUGS: ------------------------------------------------------------ o Doesn't support hg rollback correctly. I need to dig into this. Advice welcome. o reinsert sometimes fails because it can't regenerate a bit-for-bit exact copy of the bundle it is trying to insert. I need to dig into this more. It looks like command.bundle() is giving me different outputs for the same inputs depending on the repo head???? djk20090620 This is a Mercurial bug: http://www.selenic.com/mercurial/bts/issue1704 ! Bugs where I treat graph requests as edge requests, AUDIT FOR BUGS ANALOGOUS: adebd3c115a6 Saw an assertion trip. [djk20091004 think I've got this sorted.] x Won't handle repositories with multiple heads correctly. I am reworking the graph rep to fix this. [FIXED: eb110e539719] FCP BUGS: x 1208 SSK reinserts of same data fail with code 9. This breaks fn-reinsert. [FIXED in 1209] x 1208 RemoveRequest kills the FCP connection. This can cause fn-pull to fail. It should work if you run it again. [FIXED in 1209]