monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Building a notifier for use on a server. Feature reques


From: Richard Levitte - VMS Whacker
Subject: [Monotone-devel] Building a notifier for use on a server. Feature request.
Date: Tue, 15 Feb 2005 12:25:10 +0100 (CET)

Hi,

for a while now, I've been thinking about how to build an email logger
with diffs, like there are a few for CVS.  I find those loggers quite
practical to follow exactly what's going on in a project.  There is
the note_commit hook, sure, but it's quite useless for my purposes.  I
basically want to be able to create a mailing list where all commits,
not just my own, are logged.

What I'm thinking of doing (well, actually started already) is a
script that would keep a record of the revision last seen in each
branch, and periodically (say once an hour) check if anything has
changed in the database and create diff logs.  Sounds simple enough,
all that's needed is to use 'monotone lca' (which is undocumented,
btw) in case there are several heads in a branch, to make sure the
diff is made correctly.

The only trouble is that I really want to make specific diffs for
every revision.  That's quite difficult right now, as there's no easy
way to track the revisions between node A and node B, especially if
development has split in all kinds of ways along the way.  So I'm
looking for ideas on how to do that as easily as possible.  Ideas I
have now are either to use the output from 'monotone agraph', although
that seems like a PITA, or maybe read the output from 'monotone log',
since it now have ancestry records (which it didn't when I started
thinking about this).

Another solution, if that would be interesting for other purposes as
well, would be to have a monotone command to output all the possible
tracks between two nodes.  The output could for example look like this
(taken from the last few revisions of monotone):

 711f6e6c64fa7e67aff973665220d9517aca761e
 d5eebcab606a427789ca21ee18fc30fd3a02244c
 2defc1ee0be1bbb1fddc56318b56e7ea7d6ff857
 4957cebb0e908a374947abf937a6433a756912db
 78a170ba5a0f26f076103a924e1c29dd92d6aab8
 86d32c8a7766952af6bd891c2bbf5ae4cf5e3faa
 901538d78f25b8bc733e6c6ba9a8d0f9f6187fbe

 711f6e6c64fa7e67aff973665220d9517aca761e
 3a8517a8ada20142bd37d60e8596668cdf0404ac
 4957cebb0e908a374947abf937a6433a756912db
 78a170ba5a0f26f076103a924e1c29dd92d6aab8
 86d32c8a7766952af6bd891c2bbf5ae4cf5e3faa
 901538d78f25b8bc733e6c6ba9a8d0f9f6187fbe

 711f6e6c64fa7e67aff973665220d9517aca761e
 d5eebcab606a427789ca21ee18fc30fd3a02244c
 2defc1ee0be1bbb1fddc56318b56e7ea7d6ff857
 3108268348cc0d9c0b72c1de7e805d6fb25f23a0
 dfce62cc14113f0d05f376aa16d24f3f97d68566
 6fee8fa36ba4cc600ca7b7bf96f8efe192627827
 86d32c8a7766952af6bd891c2bbf5ae4cf5e3faa
 901538d78f25b8bc733e6c6ba9a8d0f9f6187fbe

 711f6e6c64fa7e67aff973665220d9517aca761e
 3a8517a8ada20142bd37d60e8596668cdf0404ac
 3108268348cc0d9c0b72c1de7e805d6fb25f23a0
 dfce62cc14113f0d05f376aa16d24f3f97d68566
 6fee8fa36ba4cc600ca7b7bf96f8efe192627827
 86d32c8a7766952af6bd891c2bbf5ae4cf5e3faa
 901538d78f25b8bc733e6c6ba9a8d0f9f6187fbe

Those are the four tracks that lead from
711f6e6c64fa7e67aff973665220d9517aca761e to
901538d78f25b8bc733e6c6ba9a8d0f9f6187fbe.  I've no idea if that means
we would need to borrow code from vcg or dot though...

Well, those are my ideas so far.  Comments?

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis




reply via email to

[Prev in Thread] Current Thread [Next in Thread]