# # # patch "common.py" # from [e6891581f51135943b6ebf9a1578ecfa86f678f0] # to [1fdb62e05fb2a9338d2c72ddc58de3ab2b3976fe] # # patch "error.psp" # from [86698bf03d1ef29f0693747d5bb2861969317bf8] # to [7152c3ff110418aca5d23c374ea9fb92a0e98379] # # patch "index.psp" # from [19b8a89de9774bc20097d87e7b8e65c8f1939e2c] # to [78768b24dfae89ac533721230887e9c53dc5168a] # # patch "monotone.py" # from [ebc8d9629d44a5a2a96bbd218f3d8cd8527e58dd] # to [708b61436dce59f47bd07397ce96a1cfabe81970] # # patch "revision.psp" # from [9de3d5a88b06bbacbdb52b11234d7fab2f45fdaa] # to [ed955d64d22c2dca62a89eb8b6484d19acec5db1] # # patch "viewmtn.css" # from [6ba0f07423cb4d0c041d2d41daaa63ff6f92be73] # to [13d04f2c9036d4728e4984348b663ee3b1420f37] # ============================================================ --- common.py e6891581f51135943b6ebf9a1578ecfa86f678f0 +++ common.py 1fdb62e05fb2a9338d2c72ddc58de3ab2b3976fe @@ -43,7 +43,7 @@ else: rv = "[" + rv + hq(link_id[:8]) + ".." + "]" return rv elif link_type == "branch": - rv = '' % (urllib.quote(link_to)) + rv = '' % (urllib.quote(link_to)) if description != None: rv += hq(description) else: rv += hq(link_to) rv += '' ============================================================ --- error.psp 86698bf03d1ef29f0693747d5bb2861969317bf8 +++ error.psp 7152c3ff110418aca5d23c374ea9fb92a0e98379 @@ -40,6 +40,7 @@ mesg = traceback.format_exception(e_type, e_value, e_traceback) mesg = map(hq, mesg) req.write('
' + '
'.join(mesg) + '
') + %>

============================================================ --- index.psp 19b8a89de9774bc20097d87e7b8e65c8f1939e2c +++ index.psp 78768b24dfae89ac533721230887e9c53dc5168a @@ -33,7 +33,7 @@ <% branches.sort() for branch in branches: - req.write('%s' % (link("headofbranch", branch, branch))) + req.write('%s' % (link("branch", branch, branch))) %> ============================================================ --- monotone.py ebc8d9629d44a5a2a96bbd218f3d8cd8527e58dd +++ monotone.py 708b61436dce59f47bd07397ce96a1cfabe81970 @@ -107,7 +107,7 @@ def heads(self, branch): error, result = self.automate.run('heads', [branch]) if error != 0: - raise Exception("Unable to get list of heads: %s" % (result['childerr'])) + raise Exception("Unable to get list of heads") else: return filter(None, result.split('\n')) def basic_io_parser(self, data): @@ -164,6 +164,18 @@ error, data = self.automate.run('certs', [id]) if error != 0: raise Exception("Error obtaining cert for %s: %s" % (id, data)) return self.basic_io_parser(data) + def ancestors(self, ids): + error, result = self.automate.run('ancestors', ids) + if error != 0: + raise Exception("Unable to get ancestors") + else: + return filter(None, result.split('\n')) + def toposort(self, ids): + error, result = self.automate.run('toposort', ids) + if error != 0: + raise Exception("Unable to toposort") + else: + return filter(None, result.split('\n')) def revision(self, id): rv = {} cv = [] ============================================================ --- revision.psp 9de3d5a88b06bbacbdb52b11234d7fab2f45fdaa +++ revision.psp ed955d64d22c2dca62a89eb8b6484d19acec5db1 @@ -52,10 +52,12 @@ name, value = None, None for k, v in cert: if k == "name": name = v - elif k == "value": value = '
'.join(v.split('\n')) + elif k == "value": value = v if name == None or value == None: continue if name == "branch": value = link("branch", value) + else: + value = '
'.join(map(hq, value.split('\n'))) req.write('%s%s' % (prettify(name), value)) %> ============================================================ --- viewmtn.css 6ba0f07423cb4d0c041d2d41daaa63ff6f92be73 +++ viewmtn.css 13d04f2c9036d4728e4984348b663ee3b1420f37 @@ -39,8 +39,9 @@ } TABLE.pretty TH { - background-color: black; - color: white; +/* background-color: black;*/ + color: blue; + background-color: #dfe7f3; } H1#pageTitle {