[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] auto updates
From: |
Brian May |
Subject: |
Re: [Monotone-devel] auto updates |
Date: |
Sat, 21 Oct 2006 10:20:47 +1000 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) XEmacs/21.4.19 (linux) |
>>>>> "Brian" == Brian May <address@hidden> writes:
Brian> address@hidden:~/tree/config$ cat ~/bin/update
Brian> #!/bin/sh -e
Brian> cd "$1"
Brian> heads=`mtn automate heads "$2" | wc --lines`
Brian> if [ "$heads" -gt 1 ]
Brian> then
Brian> echo "Too many heads" >&2
Brian> exit 0;
Brian> fi
Brian> diff=`mtn diff | wc --lines`
Brian> if [ "$diff" -gt 3 ]
Brian> then
Brian> echo "Local changes made" >&2
Brian> exit 0;
Brian> fi
Brian> mtn update --branch="$2"
Brian> address@hidden:~/tree/config$ ~/bin/update $PWD
au.com.microcomaustralia.brian.config
Brian> mtn: updating along branch 'au.com.microcomaustralia.brian.config'
Brian> mtn: already up to date at 8bd00cf9a82b9f0bd52988666cb65e5f950e6854
Here is the corresponding ~/.monotone/monotonerc file - adapted from
/usr/share/doc/monotone/examples/display_branches.lua in Debian - it
appears to work - so far:
netsync_branches = {}
function note_netsync_start(nonce)
netsync_branches[nonce] = {}
end
function _note_netsync_cert_received(rev_id,key,name,value,nonce)
if name == "branch" then
if netsync_branches[nonce][value] == nil then
netsync_branches[nonce][value] = 1
else
netsync_branches[nonce][value] = netsync_branches[nonce][value] + 1
end
end
end
function note_netsync_revision_received(new_id,revision,certs,nonce)
for _, item in pairs(certs)
do
_note_netsync_cert_received(new_id,item.key,item.name,item.value,nonce)
end
end
function note_netsync_cert_received(rev_id,key,name,value,nonce)
_note_netsync_cert_received(rev_id,key,name,value,nonce)
end
function note_netsync_end(nonce)
for item, amount in pairs(netsync_branches[nonce])
do
if item == "au.com.microcomaustralia.brian.config" then
io.stderr:write("\nUpdating workspace for ",item,"...\n")
execute("/home/bam/bin/update","/home/bam/tree/config",item)
io.stderr:write("...done\n")
end
end
netsync_branches[nonce] = nil
end
--
Brian May <address@hidden>
- [Monotone-devel] auto updates, Brian May, 2006/10/20
- Re: [Monotone-devel] auto updates, Alex Queiroz, 2006/10/20
- Re: [Monotone-devel] auto updates, Timothy Brownawell, 2006/10/20
- Re: [Monotone-devel] auto updates, Julio M. Merino Vidal, 2006/10/20
- Re: [Monotone-devel] auto updates, Daniel Carosone, 2006/10/20
- Re: [Monotone-devel] auto updates, Brian May, 2006/10/20
- Re: [Monotone-devel] auto updates, Daniel Carosone, 2006/10/20
- Re: [Monotone-devel] auto updates, Brian May, 2006/10/29
- Re: [Monotone-devel] auto updates, Brian May, 2006/10/29
- Re: [Monotone-devel] auto updates, Timothy Brownawell, 2006/10/29
- Re: [Monotone-devel] auto updates, Nathaniel Smith, 2006/10/29
- Re: [Monotone-devel] auto updates, Timothy Brownawell, 2006/10/29