Example #1
0
#!/usr/bin/env python
import sys
from bog import options, repo
from bog.helpers import *

optspec = """
bog commit [-m msg]
--
m,message  Use a non-default commit message
"""
o = options.Options('bog commit', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

repo.commit(msg=opt.message or 'Commit')
Example #2
0
#!/usr/bin/env python
import sys, subprocess
from bog import options, repo
from bog.helpers import *

optspec = """
bog log
"""
o = options.Options('bog log', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

gitdir = os.path.join(repo.check_dir(), '.git')
os.environ['GIT_DIR'] = gitdir
sys.exit(subprocess.call(['git', 'log']))
Example #3
0
#!/usr/bin/env python
import sys, os, subprocess
from bog import options, repo
from bog.helpers import *

optspec = """
bog init
"""
o = options.Options('bog init', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

if os.path.exists('.bogroot'):
    log('.bogroot already exists in this directory.\n')

oldd = repo.get_dir()
if oldd and os.path.abspath(oldd) != os.path.abspath('.'):
    fatal('BOG_DIR already initialized: %r' % oldd)
os.environ['BOG_DIR'] = os.path.abspath('.')

subprocess.call(['git', 'init'])
open('.bogroot', 'wb').close()
if not os.path.exists('.gitignore'):
    open('.gitignore', 'wb').write("*~\nnohup.out\n*.swp\n*.bak\n")
if not os.path.exists('.gitattributes'):
    open('.gitattributes', 'wb').write('*  merge=union\n')
mkdirp('Undecided/cur')
mkdirp('Undecided/new')
mkdirp('Undecided/tmp')
Example #4
0
#!/usr/bin/env python
import os, errno, time, textwrap, re, subprocess
import MySQLdb as mysql
from bog import options
from bog.helpers import *

optspec = """
bog fogbugz [-h server] [-u user] [-p passwd] <outputdir>
--
s,server=   Fogbugz MySQL server hostname
u,user=     Fogbugz MySQL server login username
p,passwd=   Fogbugz MySQL server password
d,dbname=   Fogbugz MysQL database name
"""
o = options.Options('bog fogbugz', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if not opt.server or not opt.user or not opt.passwd or not opt.dbname:
    o.fatal('you must provide -h, -u, -p, and -d options')

if len(extra) != 1:
    o.fatal('you must provide exactly one <outputdir> parameter')

m = mysql.Connect(host=opt.server, user=opt.user, passwd=opt.passwd)
m.select_db(opt.dbname)

topdir = extra[0]

if os.path.exists(topdir):
    log('Deleting %r...\n' % topdir)
    subprocess.call(['rm', '-rf', topdir])
Example #5
0
#!/usr/bin/env python
import sys
from bog import options, repo
from bog.helpers import *

optspec = """
bog pull
"""
o = options.Options('bog pull', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

repo.check_dir()
repo.commit('Commit (pull)')
repo.resolve()
if repo.remote_url():
    repo.pull()
else:
    log('No remote repository configured.\n')

Example #6
0
                    projects=projects)


class SlipGridHandler(GridHandler):
    def get(self):
        return GridHandler.get(self, integrate_slips=True,
                               title = 'Slipgrid',
                               subpage = '/grid/slip' )


optspec = """
bog instaweb [-p port]
--
p,port=     Port number to listen on for http
"""
o = options.Options('bog instaweb', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

(exedir,junk) = os.path.split(sys.argv[0])
pwd = os.path.abspath(os.path.join(exedir, '..'))
bogdir = repo.check_dir()
mainpath = os.path.join(bogdir, 'main.sched')

if not os.path.exists(mainpath):
    f = open(mainpath, 'wb')
    f.write('\n# Main schedule file\n')
    f.close()

settings = dict(
    static_path = os.path.join(pwd, "static"),
    template_path = os.path.join(pwd, "templates"),
Example #7
0
#!/usr/bin/env python
import sys, os, glob, uuid, time, re, pwd, socket, hashlib
from bog import options, repo
from bog.helpers import *

optspec = """
bog new [milestone]
"""
o = options.Options('bog new', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

bogdir = repo.check_dir()
(exedir, junk) = os.path.split(sys.argv[0])

if len(extra) > 1:
    o.fatal('no more than one argument expected')

fixfor = extra and extra[0] or 'Misc'

p = os.path.join(bogdir, re.sub(r'[\s:/_]', '-', fixfor))
mkdirp('%s/new' % p)
mkdirp('%s/cur' % p)
mkdirp('%s/tmp' % p)

bogid = uuid.uuid4()
pwent = pwd.getpwuid(os.getuid())
username = pwent.pw_name
fullname = pwent.pw_gecos.split(',')[0]
hostname = socket.gethostname()

tfn = '%s/tmp/%s:2,S' % (p, bogid)
Example #8
0
#!/usr/bin/env python
import sys
from bog import options, repo
from bog.helpers import *

optspec = """
bog push
"""
o = options.Options('bog push', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

repo.check_dir()
repo.commit('Commit (push)')
repo.resolve()
repo.push()
Example #9
0
#!/usr/bin/env python
import sys
from bog import options, repo
from bog.helpers import *

optspec = """
bog resolve
"""
o = options.Options('bog resolve', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

if extra:
    o.fatal('no arguments expected')

repo.check_dir()
repo.commit('Commit (resolve)')
repo.resolve()
Example #10
0
#!/usr/bin/env python
import sys
from bog import options, repo
from bog.helpers import *

optspec = """
bog remote <url>
"""
o = options.Options('bog remote', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])

repo.check_dir()
os.environ['GIT_DIR'] = os.path.join(repo.check_dir(), '.git')
oldurl = repo.remote_url()

if not extra:
    if oldurl:
        print oldurl
    else:
        log('No remote URL defined.\n')
elif len(extra) != 1:
    o.fatal('exactly one argument expected')
else:
    # exactly one argument
    if oldurl:
        log('old remote was: %s\n' % oldurl)
        subprocess.call(['git', 'remote', 'rm', 'origin'])
    sys.exit(
        subprocess.call(['git', 'remote', 'add', '-f', 'origin', extra[0]]))