(Arne Babenhauserheide)
2012-08-11: special case for freenet insert uris to avoid requesting data from special case for freenet insert uris to avoid requesting data from private keys.
diff --git a/staticsite.py b/staticsite.py --- a/staticsite.py +++ b/staticsite.py @@ -283,8 +283,10 @@ def getlocalother(repo, ui, otheruri, ot return other def getincoming(ui, repo, otheruri, other=None, othername=None): - # cannot do that for ftp repos, yet - if otheruri.startswith("ftp://"): + # cannot do that for ftp or freenet repos + isftpuri = otheruri.startswith("ftp://") + isfreenetpriv = "AQECAAE/" in otheruri + if isftpuri or isfreenetpriv: chlist = [] def cleanupfn(): pass @@ -309,8 +311,10 @@ def getincoming(ui, repo, otheruri, othe return chlist, cleanupfn, other def getoutgoing(ui, repo, otheruri, other=None, othername=None): - # cannot do that for ftp repos, yet - if otheruri.startswith("ftp://"): + # cannot do that for ftp or freenet repos + isftpuri = otheruri.startswith("ftp://") + isfreenetpriv = "AQECAAE/" in otheruri + if isftpuri or isfreenetpriv: chlist = [] def cleanupfn(): pass @@ -320,7 +324,7 @@ def getoutgoing(ui, repo, otheruri, othe other = hg.peer(repo, {}, otheruri) other.ui.pushbuffer() # ignore ui events source, branches = hg.parseurl(repo.root, None) - try: # FIXME: This breaks on http repos! + try: revs, checkout = hg.addbranchrevs(other, repo, branches, None) if revs: revs = [repo.lookup(rev) for rev in revs] @@ -348,6 +352,14 @@ def getforkinfo(ui, target): forkinfo[forkname] = forkuri return forkinfo +def safeuri(uri): + """Shareable uris: Hide password + hide freenet insert keys.""" + uri = util.hidepassword(uri) + freenetpriv = "AQECAAE/" + if "USK@" in uri and freenetpriv in uri: + uri = "freenet://USK@******" + uri[uri.index(freenetpriv)+len(freenetpriv)-1:] + return uri + def getforkdata(ui, repo, target, name, forkname, forkuri): """Write the site for a single fork.""" # make sure the forkdir exists. @@ -357,7 +369,7 @@ def getforkdata(ui, repo, target, name, html = templates["forkhead"].replace( "{forkname}", forkname).replace( "{reponame}", name).replace( - "{forkuri}", util.hidepassword(forkuri)) + "{forkuri}", safeuri(forkuri)) # prepare the log templater t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)