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")
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)
def git_forward(self, name, argv, read_stdin=False): forward_system(["git", name] + argv, read_stdin)