# # # patch "ChangeLog" # from [ed75160df2b39d1762e9a138fd71387730e5f236] # to [fc74a48c7f73eedcbe1ea709755fbe819b29736c] # # patch "TODO" # from [d9f855259e11c7befd7a0f23035bfccd07416457] # to [28f23ee167502333663e206ce6b73a4f2d00b7a4] # # patch "monotone.py" # from [5e55a2fe8ad477b8ef96ef58a421d36befe5872e] # to [4e67396bf438dcc0efe8594221d0e6f63cdda798] # ============================================================ --- ChangeLog ed75160df2b39d1762e9a138fd71387730e5f236 +++ ChangeLog fc74a48c7f73eedcbe1ea709755fbe819b29736c @@ -1,15 +1,18 @@ -2005-05-13 Grahame Bowland +2005-05-21 Grahame Bowland * release 0.03 * fileinbranch.psp&branch=net.angrygoats.interapplet&path=ChangeLog links to version of file in HEAD * tarofbranch.psp&branch=net.angrygoats.interapplet links to tar of HEAD manifest - * ancestry graph much improved * now works with monotone 0.19 * branches and tags pages split * user interface improved, help added * ancestry graph direction fixed (thanks to Bruce Stephens) + * ancestry graph much improved (thanks to Emile Snyder) + * ancestry graph colours nodes using an algorithm nicked + from monotone-viz (with tweaks from Matt Johnston) + * abbreviate hashes, clean up linking code. 2005-04-26 Grahame Bowland ============================================================ --- TODO d9f855259e11c7befd7a0f23035bfccd07416457 +++ TODO 28f23ee167502333663e206ce6b73a4f2d00b7a4 @@ -13,6 +13,8 @@ future information. Perhaps cache based on the mtime of the db viewmtn is looking at? Might be good enough. + * branch view + * RSS feeds of branches (could be cute!) * headofbranch; show certs in list of heads. @@ -27,10 +29,6 @@ * Remove dependency on goatpy (don't really want released software to rely on it.) - * URL to get the latest tar file of a branch. - - * Colour code the graph by author (steal from monotone-viz) - * Improve the manifest; icons next to files indicating type (steal the icons from GNOME?) ============================================================ --- monotone.py 5e55a2fe8ad477b8ef96ef58a421d36befe5872e +++ monotone.py 4e67396bf438dcc0efe8594221d0e6f63cdda798 @@ -130,10 +130,10 @@ raise Exception("Unable to calculate diff: %s" % (result['childerr'])) else: return result['fromchild'] - def ancestry(self, id, limit=0): + def log(self, ids, limit=0): rv = [] entry = None - command = self.base_command + " log -r " + pipes.quote(id) + command = self.base_command + " log " + ' '.join(map(lambda x: '-r ' + pipes.quote(x), ids)) if limit > 0: command += " --depth=%d" % (limit) iterator = utility.iter_command(command) for line in iterator: @@ -153,7 +153,6 @@ map(None, iterator) if entry: rv.append(entry) return rv - def ancestry_graph(self, graphopts, id, limit=0): def dot_escape(s): # kinda paranoid, should probably revise later @@ -177,7 +176,7 @@ return rv contents = "digraph ancestry {\nratio=compress\nnodesep=0.1\nranksep=0.2\nedge [dir=back];\n" revisions = {} - for attrs in self.ancestry(id, limit): + for attrs in self.log([id], limit): if not attrs.has_key("Revision") or not attrs.has_key("Ancestor"): continue revision = attrs['Revision'][0] @@ -192,7 +191,7 @@ if attrs == None: # fill in the gaps; would be nice to clean this up. # shouldn't take long, anyway. - attrs = self.ancestry(revision, 1)[0] + attrs = self.log([revision], 1)[0] if attrs.has_key('Date'): d = dot_escape(attrs['Date'][0]) d = d[0:d.find("T")]