Example #1
0
    def cmd_sync(self, argv, push=True):
        if len(argv) == 0:
            remote = self.get_remote()
            if remote:
                argv = [remote]
            else:
                print >> sys.stderr, "Cannot sync geo data: No remote specified"
                usage("sync")
        elif len(argv) >= 2:
            usage("sync")

        self.fetch_and_merge_notes(argv[0])

        if push:
            print "Syncing geocommit notes"
            forward_system("git push " + argv[0] + " refs/notes/geocommit")
Example #2
0
    def cmd_push(self, argv):
        opt_definition = {
            "-v" : "bool",
            "--verbose" : "bool",
            "--repo": "string",
            "--all": "bool",
            "--mirror": "bool",
            "--delete": "bool",
            "--tags": "bool",
            "-n": "bool",
            "--dry-run": "bool",
            "--porcelain": "bool",
            "-f": "bool",
            "--force": "bool",
            "--thin": "bool",
            "--no-thin": "bool",
            "--receive-pack": "string",
            "--exec": "string",
            "-u": "bool",
            "--set-upstream": "bool",
            "--progress": "bool",
        }

        arguments = self.getargs(opt_definition, argv)

        if len(arguments) == 0:
            remote = self.get_remote()
            if remote:
                arguments = [remote]
                argv += [remote]
            else:
                print >> sys.stderr, "Cannot push geo data: No remote specified"
                usage("push")
        if len(arguments) == 1:
            arguments += [":"]
            argv += [":"]

        argv += ["refs/notes/geocommit"]

        self.cmd_sync([arguments[0]], False)

        forward_system(["git", "push"] + argv)
Example #3
0
 def git_forward(self, name, argv, read_stdin=False):
     forward_system(["git", name] + argv, read_stdin)