[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-diffs] net.venge.monotone: c8e81c3ccde0994efec240b0a2
From: |
code |
Subject: |
[Monotone-commits-diffs] net.venge.monotone: c8e81c3ccde0994efec240b0a2f5f504f899ec64 |
Date: |
Mon, 24 Jan 2011 22:10:42 GMT |
revision: c8e81c3ccde0994efec240b0a2f5f504f899ec64
date: 2011-01-24T21:42:33
author: Richard Levitte <address@hidden>
branch: net.venge.monotone
changelog:
Have it display branches (and counts) in both directions.
manifest:
format_version "1"
new_manifest [72924416bbc21afdc58e1957bdd1bcd3b55f09d2]
old_revision [0e51dc81a5d9d190e2d71903eff0a75db7eae6e5]
patch "contrib/display_branches.lua"
from [8d16d67c82652534969e81a9062f019d68c584bf]
to [5b9602203db9c299e7821b18078786a8a7fe5574]
============================================================
--- contrib/display_branches.lua 8d16d67c82652534969e81a9062f019d68c584bf
+++ contrib/display_branches.lua 5b9602203db9c299e7821b18078786a8a7fe5574
@@ -7,26 +7,31 @@ do
do
netsync_branches = {}
- function RL_note_netsync_cert_received(rev_id,key,name,value,nonce)
+ function RL_note_netsync_cert_received(direction,rev_id,key,name,value,nonce)
if name == "branch" then
- if netsync_branches[nonce][value] == nil then
- netsync_branches[nonce][value] = 1
+ if netsync_branches[direction][nonce][value] == nil then
+ netsync_branches[direction][nonce][value] = 1
else
- netsync_branches[nonce][value] = netsync_branches[nonce][value] + 1
+ netsync_branches[direction][nonce][value] =
+ netsync_branches[direction][nonce][value] + 1
end
end
end
notifier = {
- start =
+ ["start"] =
function(session_id,...)
- netsync_branches[session_id] = {}
+ netsync_branches["received"] = {}
+ netsync_branches["sent"] = {}
+ netsync_branches["received"][session_id] = {}
+ netsync_branches["sent"][session_id] = {}
return "continue",nil
end,
- revision_received =
+ ["revision_received"] =
function(new_id,revision,certs,session_id)
for _, item in pairs(certs) do
- RL_note_netsync_cert_received(new_id,
+ RL_note_netsync_cert_received("received",
+ new_id,
item.key,
item.name,
item.value,
@@ -34,26 +39,65 @@ do
end
return "continue",nil
end,
- cert_received =
+ ["revision_sent"] =
+ function(new_id,revision,certs,session_id)
+ for _, item in pairs(certs) do
+ RL_note_netsync_cert_received("sent",
+ new_id,
+ item.key,
+ item.name,
+ item.value,
+ session_id)
+ end
+ return "continue",nil
+ end,
+ ["cert_received"] =
function(rev_id,key,name,value,session_id)
- RL_note_netsync_cert_received(rev_id,
+ RL_note_netsync_cert_received("received",
+ rev_id,
key,name,value,
session_id)
return "continue",nil
end,
- ["end"] = function(session_id)
- local first = true
- for item, amount in pairs(netsync_branches[session_id])
- do
- if first then
- io.stderr:write("Affected branches:\n")
- first = false
- end
- io.stderr:write(" ",item," (",amount,")\n")
- end
- netsync_branches[session_id] = nil
- return "continue",nil
- end
+ ["cert_sent"] =
+ function(rev_id,key,name,value,session_id)
+ RL_note_netsync_cert_received("sent",
+ rev_id,
+ key,name,value,
+ session_id)
+ return "continue",nil
+ end,
+ ["end"] =
+ function(session_id,status)
+ -- only try to display results if we got
+ -- at least partial contents
+ if status > 211 then
+ return "continue",nil
+ end
+
+ local first = true
+ for item, amount in pairs(netsync_branches["received"][session_id])
+ do
+ if first then
+ io.stderr:write("Received data on branches:\n")
+ first = false
+ end
+ io.stderr:write(" ",item," (",amount,")\n")
+ end
+ netsync_branches["received"][session_id] = nil
+
+ first = true
+ for item, amount in pairs(netsync_branches["sent"][session_id])
+ do
+ if first then
+ io.stderr:write("Sent data on branches:\n")
+ first = false
+ end
+ io.stderr:write(" ",item," (",amount,")\n")
+ end
+ netsync_branches["sent"][session_id] = nil
+ return "continue",nil
+ end
}
local v,m = push_hook_functions(notifier)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-diffs] net.venge.monotone: c8e81c3ccde0994efec240b0a2f5f504f899ec64,
code <=