Incoming commits
Outgoing commits
Exported from old hg_infocalypse repo at ad77115c2149.
Fix for mercurial 1.0.2.
Bug fix.
Add hack to work around option parser bug for option names with embedded colons.
Comment.
Fixed bug in top key update parent rev. ALL PREVIOUSLY INSERTED KEYS BROKEN.
Added debug level dumping of top key tuple.
Delete file which shouldn't have been copied from old repo.
Fix to catch state machine stalls.
Added fn-copy command to copy from one repo URI to another.
Cleaned up update-index-from-config code. UNTESTED.
Fix braino.
Commented out print.
Fixed braino.
Output cleanups.
Bumped FCP MaxRetries up to 3.
Added arg to path_cost to return blocks instead of bytes.
Output formatting.
Pylint fix.
As is checkin of reinserting. CLEANUP.
re-insert fixes.
More re-insert fixes.
Fixed places where candidates where being put on the wrong end of candidate FIFOs.
Comment.
Easy pylint fixes.
Multiple fixes for bugs that kept updating without the graph from working.
Fixed braino that was keeping shuffling of graph CHKs from working.
Pylint fixes.
Got rid of command line uri options for fn-reinsert.
Cut request timeout to 5 minutes.
Added --nosearch argument for fn-pull and fn-reinsert.
Comment with possible bug.
Added/fixed debug dumping of top key tuple.
Pylint fixes.
Added support for --nosearch to fn-copy.
Quick fix for 1.2. Revisit.
More graceful handling of socket drops. Debugging code for SSK reinsert failure.
Fixed graph rep to handle multiple heads correctly. I had to change the topkey format so repositories inserted with earlier versions won't work with the new code.
Added .hgignore.
Added tag HGINF100_topkey_format for changeset f67283c92051
Better message for obsolete repos.
Added --level for fine grain control over what fn-reinsert inserts. --level 1 - re-inserts the top key(s) 2 - re-inserts the top keys(s), graphs(s) and the most recent update. 3 - re-inserts the top keys(3), graphs(s) and all keys required to bootstrap the repo. This is the default level. 4 - adds redundancy for big (>7Mb) updates. 5 - re-inserts existing redundant big updates.
Added fn-info command to dump repository information.
Fix braino that was causing re-insert to fail for graphs with big redundant edges.
Fixed a message.
As is checkin of fn-fmsread, fn-fmsnotify. Needs cleanup.
Easy pylint fixes.
Pylint fix.
Pylint fix.
Indentation fix.
Changed fn-fmsread --list[all] to include a hard coded list of known repository USKs.
Removed unneeded code.
Fixed braino in level == 4 re-insert code.
Enabled fmsnotify sending. Set the default group for fmsread and fmsnotify to infocalypse.notify.
Doc updates.
Bugfix: Make fn-pull update the USK index from the cache for the --uri case.
Small cleanup.
Better -v messages for fn-fmsread.
Pylint cleanups.
Modified parse() to handle multiple updates on same line. Added gensig.py script.
See devnotes.txt if you don't see fms config variables in your config file.
Force re-write of config file when format changes.
Updated config file format version to: c5a3f86418b5.
Fix typo.
Doc formatting.
Added hack to load local copy of nntplib to make windows binary hg 1.2.1 work.
Updated the index of my freesite in the default static text.
Fixed fn-reinsert --level 3 so that every update appears in at least two re-inserted CHKs if possible.
Pylint fixes.
Fix bug that was causing fms defaults not to be set correctly on config file creation.
Added the fred_staging mirror to the known repo list.
Doc updates.
Bumped index for fred_staging.
More fixes to make config file upgrading work.
Fixed bug that kept configuration storing fom working from mixed case directories.
Bump indices.
Doc updates.
Updated site index.
Fixed bug that was slowing down bootstrapping (bad edge selection in _reevaluate()).
Pylint fixes.
Fix doc typo.
Fix bug that was causing top key rev pruning to fail.
Added fn-putsite command to insert freesites.
Deleted some comments.
Fixed get_file_infos() to use / in inserted file names on Windows.
Updated notes.
Added html howto. Small doc fixes.
Typo.
Spelling error.
Missing eol.
Use USK of HOWTO.
Typos.
Fix bug for Python 2.6.2: '[default]' -> '[primary]' in the config. I shouldn't have been using 'default' in the first place. ConfigParser throws a ValueError for it under 2.6.2.
Bumped FORMAT_VERSION.
Update HOWTO with a new bootstrap CHK.
Add a named anchor for the bootstrap CHK.
Added local copy of ConfigParser.py to make berkwood Windows 1.3 binary Mercurial distro work.
Add collaborate.R1 repo.
Comment so I don't forget to fix a bug.
First pass support for fn-pull'ing with a usk hash value and command line trust map editing. e.g. hg fn-pull --hash 2220b02cf7ee hg fn-fmsread --trust --fmsid djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks --hash 2220b02cf7ee hg fn-fmsread --untrust --fmsid djk@isFiaD04zgAgnrEC5XJt1i4IE7AkNPqhBG5bONi6Yks --hash 2220b02cf7ee Still needs pylint cleanup and doc updates.
Pylint fixes.
Updated doc.
Updated bootstap CHK. Added info on updating.
Fix HTML bug.
USK index updates.
Fix bug that caused index not to be updated for hg fn-pull --hash repo_hash.
LICENSE.txt for Python files.
Bugfix: Don't wait for second graph CHK to start fetching first bundle.
Bugfix: Gracefully handle fn-pull when up to date but heads don't fit in top key.
Bugfix: Treating graph requests as edge requests.
howto updates.
Html fix.
Dev notes. Updates some freesite indices.
Index updates.
Bugfix: Fixed OBO in assertion causing fn-push to fail.
Workaround for hg-git bug. The hg-git extension breaks pulling from bundle files somehow. In pull_bundle I backed out some old (for 1.0.2?) code that was doing an hg pull of the temp bundle files and changed it to do an hg unbundle instead.
doc updates
remove unused import
A couple more fixes similar to adebd3c115a6.
pylint fix.
Bugfix: braino that was breaking fn-fmsread -v
First pass at fn-wiki.
Added fn-putsite --wiki to insert freesites from wikis.
Backed out some path hacks.
Encapsulated path hacks.
Small wiki based on piki. See: attribution.txt
small edit.
Format error.
Doh. Finally got it.
Simplified creation of wiki_root dir by fn-wiki create config. Added better default text.
Better footers in dumped html.
Removed TipsForBeginners from the default wikitext.
Added directory line in footer when wiki is running live.
Get rid of final hr in freenet footer.
Disabled edit log.
Fixed socket server shutdown bug.
Don't write debug log file to /tmp! Fixed syntax error in servepiki.py.
Changed fn-info to read repo head list from Freenet an print it in addition to existing info. Added helper functions for fms patch bundle submission.
First pass at implementation of fn-fmsnotify --submit This bundles all locally committed changes that aren't in the repo in Freenet and inserts the bundle on a CHK. Then it sends a machine readable patch notification to the fmsnotify_group set in the .infocalypse / infocalypse.ini file.
Support for activelink.png images.
A module to keep a file archive in a bounded number of Write Once Read Many blocks.
Added hg-archive command. It allows you to create, push to and pull from non-versioned (i.e non-Mercurial) incremental file archives in Freenet. See: hg help fn-archive for minimal help. BE CAREFUL when you run --pull, i.e. either of these: hg fn-archive hg fn-archive --pull It will DELETE any files/directories that are not stored in the archive in Freenet.
Implemented pseudo-anonymous submission via wikibot.
Fix bug in submission introduced when rebasing.
Support for Freenet bookmarks and multiple bugfixes. Features: Added support for Freenet bookmarks via the [[BookMark]] wikitext macro. Allow users to view source of read only pages in piki.py. Fixes: Changed wikibot to force commit of uncommitted files before inserting freesite. Changed fcpclient.dir_datasource() to sort file_infos. The above 2 changes allow freesite versions to be cleanly re-inserted from the repo. Cleaned up page fork creation to prevent spurious forks. Changed wikibot to keep track of .zip CHK's and skip ones that have already been applied. Changed submission.py to use utf8_sha instead of new_sha in a few places. Added somewhat better exception and stdout messages from FMSStub.
Added anchor support to wikitext, added FreenetUri wikitext macro. Features: Patch from tesselation+ to add support for anchors and anchor links to wikitext. @@@text0|label0@@@ makes an anchor with display text text0 and label label0. @@@@text0|label0@@@@ makes a link with display text text0 to the anchor with label label0 You can style anchor text with A.namedanchor in piki.css. Added FreesiteUri wikitext macro. [[FreesiteUri]] makes an "aggressive" (i.e. negative) link to the freesite uri specified in info.txt. Fixes: Fix missing script name in query urls.
Modified fn-setup to check FMS, added fn-setupfms command. Features: Modified fn-setup to check the FMS configuration and update the config file. --fmshost, --fmsport, --fmsid set the host, port and fms id respectively. Added fn-setupfms command to test and update the FMS configuration.
Table patch from SomeDude. Features: Patch from SomeDude to do MoinMoin style table formatting. Patch CHK from FMS (applied against 0ad7286d96a8): CHK@TCAI-QHXuyBYOJkqBFIPrxJGMPI~6GB7V8aWBgK~PfQ,831jq0VBNXV-3q6uSS0VtXlqzAj2HD1FdZNS-r7CWWU,AAIC--8/table.patch
Patch from SomeDude to improve tables (vertical alignment, briefer colspan setting). Patch CHK from FMS (applied against 0ad7286d96a8): CHK@M0TFGlFE9hSnf-QFuYn32cLy5UVgircz4YHRjlpRnSY,tq5-4oK-yxkFdg4wUfV-pjCcYWdlsq8e7lCR~PklXNg,AAIC--8/table%2Epatch Note: Previous patch was applied against b561dc75c682 NOT 0ad7286d96a8.
Whitespace only cleanup.
Fixed broken line wrapping in RemoteChanges macro.
Allow images to be disabled on a per page basis.
Patch from SomeDude to support zebra striped tables and <br> linebreaks. Patch CHK from FMS (applied against d8803001a744): CHK@dDHkhSymTZrE4jofpz~CIbFE1-fkHY2cdrVJk1vDTEQ,JNywg6uGffYiWIqGDbBLD02QBfUH7jIycMtux0aCuWQ,AAIC--8/tablestripe%2Epatch I modified <br> handling to only substitute '<br />' for the exact string '<br>' in wikitext.
run_wikibot.py fixes.
fn-genkey output patch from ZwiSter@BZJeeQniF1r-XOkk-3E6MxIg10w62yr1GgWkxF5XKzA, plus some small text only changes.
Fix for WinXP64, Mercurial Distributed SCM (version 1.6.4) from TheSeeker
fix typo in docstring
typo in docstring
paramter adaptions: poll, cancel_time, concurent - sleep 1s between polling - cancel to 2h (needed for big repos) - 8 concurrent requests (just a test)
comment tyo
comment tyo
comment typo
inconsistent doc to argument (minor)
started implementing a freenet scheme. Goal: hg push freenet:USK@/repo
started implementing a freenet scheme. Goal: hg push freenet:USK@/repo
merge add missing files and refactor.
fix imports
when generating a key, the name should be NAME.R1.
Implemented push, pull and clone from and to freenet:USK@ and USK@ uris.
refactored genkey to allow for key generation outside of the genkey command.
now pushing and pulling works with keys in the .hg/hgrc (prefixed with freenet://)
FIX: broke fn-genkey
Always creating a new private key for a repo cloned to freenet. If you want to use your default private key instead, call fn-create directly.
merged freenet scheme branch.
fix hg-git interaction error.
fix hg-git interaction error.
Make it possible to use the short form USK@/reponame to upload to a key in the form USK@<key>/reponame.R1/0 - avoids the very easy to make error of forgetting the .R1.
notes on potential name rewriting when the key is given. Left commented out, because it might make it impossible to update old repos when they drop out. Added a TODO to do this cleanly in the backend.
Use RealTimeFlag.
Bump request timeout to 20 minutes.
Doc updates.
Updated CHK bootstrap URI.
merge realtime flag and config changes.
can now push to USK@/repo to create that repo. Also improved help output.
removed . at the end of an info which ends with a key.
now push to USK@/repo actually creates the repo - and the info advises to use clone for creating repos with existing keys.
first tries at fixing the repo-API-compatibility problem. Nothing functional, yet.
hg 2.3+ compat
Fail gracefully on reinserting if the generated CHK does not match the original CHK (reason could be a changed hg version).
added mime-type bug.
slightly more consistent codestyle.
BUGFIX: Work around stricter freenet metadata mime type parsing. Details: The mime time validation was made stricter sometime shortly before freenet rev 1423. That broke the salting hacks used to insert redundant splitfile metadata. The work around was to use '_' instead of ';' as a separator.
Merge accidental branch.
bab try at fixing mime types.
choosing the fix from djk for mime types, because he is the main coder.
Update bootstrap bundle in html doc.
added fix-timezone-attack bug
merge from djk
added a readme
fix bug in readme (ducks… :) )
mark fixed mime-type bug as resolved
added the exported patches for bug 4 (UTC). Not yet finished, but I want to ensure that the patches stay available.
Add --wot option to fn-create. Like --uri, but gets the insert URI from (LC)WoT based on a nickname supplied in place of "USK@."
Refactor own identity resolution into module.
Fix ambiguous local identity message. String was not properly formatted.
Refactor variable names for conciseness.
Rename "own identity" to "local identity". More idiomatic English.
Move status messages out of wot module. Error messages makes sense as the module knows best what the error is, but it does not know the context of usage.
Tell which local identity is found by fn-create.
Save truster identity during fn-create. To be used for later WoT-enabled fn-pulls to the same repo.
Add initial WoT support to fn-pull. * Refactor WoT module to allow functions for parsing responses. * WoT not currently supported, but LCWoT is. * See https://bugs.freenetproject.org/view.php?id=5729
Refactor to reduce indentation.
Add WoT fn-pull support; default WoT truster. * Set up with fn-setupwot or fn-setup without --nowot. Takes --truster. * Add --truster override for fn-pull. Currently fn-pull with --wot uses WoT only to resolve the base key, but it would be desirable to be able to resolve the repo edition and handle its redundancy level via the WoT vcs XML.
Mention what part of a repo bundles constitute.
Fix typo.
Document additional optional dependencies.
Key wot_identities by request URI for consistency. Everything else uses request URI hash.
Whitespace.
Allow local identity lookup by id. Useful for looking up identities by their wot_identities entries.
Allow checking if a repo has an associated WoT ID.
Return inserted URI on create and push.
Generate and insert WoT repo list on change.
Whitespace.
Add progress update when inserting repo listing.
Add contexts to WoT identity parsing.
Fix regression in repo list URI.
Return default truster when no insert URI is set.
Add repository names lookup from WoT repo list. One can now pull a repository with hg fn-pull --wot AnID/reponame
Change repo list get and put to interactive.
Remove debug: return instead of print response.
moved commands out to infocalypse/commands.py to match the scheme changes (easier merging)
forgot to remove hexlify import
merge schemes code from bab into wot-code from operhiem1.
adapt the schemes code to provide the options needed by the wot code.
added bug report for missing default truster entry.
Whitespace.
Remove outdated TODO.
Move name/identity parsing into function. Less duplication and better readability.
Add missing --nowot option to fn-setup.
Add support for resolving local identities by key.
Formatting.
Add TODOs.
Update docstring. These parameters have merged.
Add missing newline.
Remove redundant full-key local identity matching. Partial key matching works for full key matching too.
Merge ArneBab freenet-scheme.
Fix typo.
Fix formatting of derived Freemail addresses. Padding is omitted, the entire thing is lower case, and there is a '.' before 'freemail'.
Merge ArneBab merge of freenet-schema and vcs.
Merge Freemail address fixes.
More semantically meaningful string stripping.
Close freenet-scheme branch. This is not needed anymore - it it merged into default.
Merge freenet-scheme branch closure.
Merge previous head.
Correct mistaken merge.
Merge previous head with fixed merge.
Add missing os import.
More specific no-Freemail warnings. Also adds newlines.
Fix whitespace / line length.
Add per-repo Freemail password configuration.
Add missing --truster to fn-pull.
Look up pull truster - don't require public key hash.
Remove outdated todo.
Fix crash on nonexistent identity to pull from.
Add feedback when identity to pull from is found.
Update identity search to reflect LCWoT changes. It is no longer an error for more than MaxIdentites to match. There is a field containing the number of matched identities. It also became clear that nicknames require a wildcard to match as with startswith(), whereas the ID uses startswith() already.
Document --truster format.
Add terminology documentation; begin to conform.
Add freenet://WoT path resolution.
Fix more terminology.
Add more work on freenet:// path resolution for WoT.
PEP8 whitespace, line lengths, comments, imports.
Simplfy argument parsing expressions. Empty lists are False when converted to a boolean.
Fix KeyError on Config save.
Fix Freemail password setup resetting config; saving.
added a bug for minimizing dependencies of infocalypse.
typo
edit simplify dependencies bug.
usability bug
bug report
Comments.
Add WoT path resolution to clone.
Add parsing for named WoT properties.
Return inserted URI if it has changed.
Add partial pull request support; other things. Exit when unable to resolve WoT URI. (Possibly would be better to use ui.abort()) Add listing of WoT dependencies and pull request syntax to readme.
merge changes from operhiem1 with some comments.
added cloning bug
Use util.Abort instead of ui.warn(); return None. More straightforward - the effect was similar. Note this can still be caught if exiting is not desirable.
Merge arnebab bugs and typo fixes.
Replace split('\n') with splitlines(). Good to know splitlines() exists!
Use USK class instead of manual string operations.
Fetch key following redirects. Fetching a USK may give redirects.
Follow redirect when fetching repo listing.
Support freenet:// prefix to keys; add __repr__.
Add TODO on terminology notes.
Add partial notification check support.
Partial notification check commit. imaplib is being problematic. This is a partial commit before trying IMAPClient.
Initial version of parsing VCS message subjects.
Fix assuming prefix presense; subject always starting at prefix.
Remove leading and trailing whitespace around YAML.
Filter pull request lines starting with 'HG:'.
Add initial notification checking support. Supports multiple matching messages. Comments. Displays recognized requests and gives feedback otherwise.
Abort pull request in case of empty message.
Comments.
Avoid putting YAML in pull request message prompt.
Clarify subject prefix.
Fix aborting pull request on empty message.
Clarify variable name.
Give feedback when pull request sent.
Remove comments.
Fix setting fn-create WoT association before request URI is known.
merge bug addition
Added signature for changeset a0497b6203c2
Fix documentation nonexistent parameter warning.
Whitespace.
Normalize line endings; place end YAML index at end.
Remove 'freenet://' from a USK more explicitly.
Fix lack of quoting to make string in __repr__.
Add initial fn-connect implementation. Only pings, does not handle session conflicts, and does not respond to any commands because none are currently implemented on the plugin side either.
merge operhiem1’s code.
Added signature for changeset 6203fa010d01
Use lower case for "vcs" value. If the value is ever used in something in which case is difficult, such as a filesystem, it'd be good to have it all in lower case.
Exit and print description on error.
Add intial ListLocalRepos support.
Remove unused import.
Fix finding YAML end. The join for consistent line endings means no trailing newline. Also fixes obscuring failure to find the YAML end by adding the token length.
Document case decision.
Allow VCS token anywhere in the Freemail subject. Requiring the token to be a prefix interferes with doing things like forwarding requests to other users.
Fix crash on no VCS messages.
Fix crash on fn-create with --wot. inserted_to returns a list of request URIs, not a single one, so use the first URI.
Fix empty truster in freenet:// URI resolution. Config.from_ui() is a class method that returns an instance, not an instance method that modifies.
Save config file after adding WoT ID association.
Fix incorrect WoT associations with repos. Returning the default truster if no explicit association was set caused this problem. Also break out building repo list for local identity. This makes debugging easier, but demonstrates odd argument flow with only taking a key as an argument.
Close resolved bug.
Fix overcomplication in finding a local truster. Returning a default when an explicit WoT identity was not set required more complex code to use a non-default, as was desired in most circumstances. Also fixes fn-pull incorrectly resolving WoT identity by insert URI. (It is actually keyed by request URI hash / "repo id".)
Add fn-updaterepolist to reinsert repo list. Fixes bug 2.
Mark bug resolved.
Merge.
Mark bugs resolved.
Fix hg clone to a freenet: path silently exiting.
Add abstraction for WoT identities. The WoT_ID class performs lookup from an identifier and exposes attributes. Local_WoT_ID extends WoT_ID and also exposes an insert URI. This avoids problems with being stringly typed and makes intent much clearer. Also adds a clone() to USK to avoid modifying the WoT_ID member variables.
Add newline after displaying pull request body. Otherwise the separator is on the same line, which is not desirable.
Comments.
Break away querying WoT for local ID for readability.
Give local directory matching target for pull requests.
add hg incoming bug report
Remove trailing whitespace from Freemail marker. Whiltespace might not be valid as part of an IMAP search token.
Comments.
Refine pull request directions wording. The second line doesn't _have_ to be blank, it just isn't used.
Mark methods as internal.
Assume edition 0. Also R1 for push to freenet:// Edition is easier to omit, and having Fred search for the latest edition is a reasonable default. When using internal commands (fn-*) the user is assumed to be more confident in Infocalypse internals. When using built-in commands with freenet: URIs, redundancy is less clear, so assuming redundancy seems helpful in use cases like hg clone . freenet:USK@.../repo_path. This also adds a warning when creating a repository on a path that does not specify redundancy. Assume edition: * fn-create --uri and --wot * fn-copy --inserturi and --requesturi * fn-reinsert --uri * fn-pull --uri * fn-push --uri * built-in command source Assume edition and redundancy: * built-in command destination
Use more idiomatic empty string and zero checks. An empty string is False, as is 0. Checking for 0 as a boolean makes sense when it's semantically a set-or-not kind of check, but not if it's semantically a number.
Exit gracefully if no URI specified to fn-create.
Assume edition on push freenet://. Do not assume redundancy because as the repository is being pushed to it already exists.
begun testing notes on infocalypse
Clarify public key hash lookup failure. Mentioning only the identifier does not make it clear that only the public key hash is used in a WoT lookup. It's also good to mention how to support more flexible lookup.
Add optimism to error message.
Fix giving empty nicknames to GetIdentitiesByPartialNickname. Doing so results in an exception in LCWoT's query layer, for which it does not return an error over FCP, (I think?) so Infocalypse's FCP times out.
Fix including nickname in Truster public key hash.
Refine error message wording.
Refine comment wording. "just" adds no information.
Remove redundant parameters. The default value of async is False.
Update dev notes for wot_id abstraction.
Add documentation.
Fix resolving WoT freenet:// pull URIs. The default truster string was being used where a Local_WoT_ID was required. Modify get_truster() to take an explicit truster argument instead of a dictionary, so it's easier to use elsewhere.
Correct get_truster() documentation.
Fix clone truster resolution.
Remove unnecessary variable.
Fix "clone" requiring the target repository exist. When looking up a push URI for a clone operation the edition lookup is now skipped.
Fix str and WoT_ID mixup in sending pull request. More mistakes from transitioning to the WoT_ID abstraction.
Update web UI plugin name. The package name has changed, and it no longer contains "Infocalypse".
Add bug reports. Some of them are features.
Use same VCS constant in notifications; repo XML. This is a breaking change for existing repo XML.
merge operhiem1 into bab
merge more
added some testing notes.
Track the latest known repo list edition. This takes some responsibility off the node for fetching an up-to-date edition, because it is no longer always given edition 0 to start from. This does introduce some clumsiness as if the node follows redirects it does not return the used edition. This should probably be replaced with a WoT property once WoT properties can be inserted without causing an insert, as it will avoid starting the repo list at edition 0.
Fix incorrect method name; missing newline.
Close bug on assuming redundancy and edition. See 4577c1695a31
Add tolerance for remote repository list problems. - Add USK support for "repo name," which excludes any redundancy. - Use highest edition for a key if more than one is specified. - Ignore repos listed with multiple different keys or complete names.
Move fn-connect to separate module. Though it may make use of wot module methods, it shouldn't be performing its own queries to WoT.
Add support for new connection exchange.
Add initial new protocol implementation. Replies to VoidQuery with VoidResult. Also nicely disconnects on SIGINT.
merge
merge
merge bug report
clone freenet://Absolutely/pyProbe should now use pyProbe as local path.
Fix maximum recursion depth exceeded error: factored out recursive parents function into a while and a for loop.
merge old max recursion depth fix.
avoid leaking the timezone on infocalypse repositories cloned from freenet with hg clone.
09:42:30
mark timezone bug as solved
polish readme