From: Jelmer Vernooij Date: Fri, 1 Oct 2010 19:34:31 +0000 (+0200) Subject: land: Add --repository option. X-Git-Tag: samba-4.0.0alpha14~2478 X-Git-Url: http://git.samba.org/samba.git/?a=commitdiff_plain;h=8ce24a9187f7f93cb3557696034c94fc8be161f1;p=ira%2Fwip.git land: Add --repository option. --- diff --git a/script/land-remote.py b/script/land-remote.py index 4abc8749ac2..eeedcadc1e0 100755 --- a/script/land-remote.py +++ b/script/land-remote.py @@ -12,6 +12,7 @@ parser.add_option("--remote-repo", help="Location of remote repository (default: parser.add_option("--host", help="Host to land on (SSH connection string)", type=str, default="sn-devel-104.sn.samba.org") parser.add_option("--foreground", help="Don't daemonize", action="store_true", default=False) parser.add_option("--email", help="Email address to send build/test output to", type=str, default=None, metavar="EMAIL") +parser.add_option("--always-email", help="always send email, even on success", action="store_true") parser.add_option("--rebase-master", help="rebase on master before testing", default=False, action='store_true') parser.add_option("--rebase", help="rebase on the given tree before testing", default=None, type='str') parser.add_option("--passcmd", help="command to run on success", default=None) @@ -49,6 +50,8 @@ subprocess.check_call(args) remote_args = ["cd", remote_repo, "&&", "python", "./script/autobuild.py"] if opts.email: remote_args.append("--email=%s" % opts.email) +if opts.always_email: + remote_args.append("--always-email") if not opts.foreground: remote_args.append("--daemon") if opts.nocleanup: diff --git a/script/land.py b/script/land.py index cf3e6488ac7..d44704c8794 100755 --- a/script/land.py +++ b/script/land.py @@ -247,9 +247,8 @@ def cleanup(): run_cmd("rm -rf %s" % d) -def find_git_root(): +def find_git_root(p): '''get to the top of the git repo''' - p=os.getcwd() while p != '/': if os.path.isdir(os.path.join(p, ".git")): return p @@ -306,6 +305,7 @@ def push_to(url): def_testbase = os.getenv("AUTOBUILD_TESTBASE", "/memdisk/%s" % os.getenv('USER')) parser = OptionParser() +parser.add_option("", "--repository", help="repository to run tests for", default=None, type=str) parser.add_option("", "--tail", help="show output while running", default=False, action="store_true") parser.add_option("", "--keeplogs", help="keep logs", default=False, action="store_true") parser.add_option("", "--nocleanup", help="don't remove test tree", default=False, action="store_true") @@ -405,9 +405,14 @@ if options.retry: testbase = "%s/b%u" % (options.testbase, os.getpid()) test_master = "%s/master" % testbase -gitroot = find_git_root() +if options.repository is not None: + repository = options.repository +else: + repository = os.getcwd() + +gitroot = find_git_root(repository) if gitroot is None: - raise Exception("Failed to find git root") + raise Exception("Failed to find git root under %s" % repository) try: os.makedirs(testbase)