123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- # -*- coding: <encoding name> -*-
- from gitrepo.template import GitRepo, CloneGit
- class GitCtrol:
- def __init__(self):
- self.git_dict = {} # 名字-文件位置
- self.git_type_dict = {} # 名字-类型
- def open_repo(self, repo_dir, **kwargs):
- git = GitRepo(repo_dir)
- self.git_dict[git.name] = git
- self.git_type_dict[git.name] = "init"
- return git.name
- def clone_repo(self, repo_dir, **kwargs):
- git = CloneGit(repo_dir)
- self.git_dict[git.name] = git
- self.git_type_dict[git.name] = "clone"
- return git.name
- def get_git(self, name):
- return self.git_dict[name]
- def get_git_dict(self):
- return self.git_dict.copy()
- def get_dir(self, name):
- return self.get_git(name).dir_list()
- def add_file(self, name, file_list):
- return self.get_git(name).add(file_list)
- def del_cached_file(self, name, file_list):
- return self.get_git(name).del_cached_file(file_list) # 移除出去暂存区
- def commit_file(self, name, message):
- return self.get_git(name).commit_file(message)
- def log(self, name, graph, pretty, abbrev):
- return self.get_git(name).log(graph, pretty, abbrev)
- def do_log(self, name):
- return self.get_git(name).do_log()
- def status(self, name):
- return self.get_git(name).status()
- def diff_file(self, name, brach):
- return self.get_git(name).diff(brach)
- def back_version(self, name, head, reset_type=0):
- return self.get_git(name).reset(head, reset_type) # 版本回退HEAD
- def back_version_file(self, name, head, file_list):
- return self.get_git(name).reset_file(head, file_list) # 文件回退
- def checkout_version(self, name, file):
- return self.get_git(name).checkout(file) # 弹出
- def rm(self, name, file):
- return self.get_git(name).rm(file)
- def branch_view(self, name):
- return self.get_git(name).branch_view()
- def new_branch(self, name, new_branch, origin):
- return self.get_git(name).new_branch(new_branch, origin)
- def switch_branch(self, name, branch_name):
- return self.get_git(name).switch_branch(branch_name)
- def del_branch(self, name, branch_name, type_):
- d = {1: "d", 0: "D"}.get(type_, "d")
- return self.get_git(name).del_branch(branch_name, d)
- def merge_branch(self, name, branch_name, no_ff, m):
- return self.get_git(name).merge_branch(branch_name, no_ff, m)
- def merge_abort(self, name):
- return self.get_git(name).merge_abort()
- def save_stash(self, name):
- return self.get_git(name).save_stash()
- def stash_list(self, name):
- return self.get_git(name).get_stash_list()
- def apply_stash(self, name, stash_num="0"):
- return self.get_git(name).apply_stash(stash_num)
- def drop_stash(self, name, stash_num="0"):
- return self.get_git(name).drop_stash(stash_num)
- def cherry_pick(self, name, commit):
- return self.get_git(name).cherry_pick(commit)
- def del_remote(self, name, remote_name):
- return self.get_git(name).del_remote(remote_name)
- def remote_add(self, name, remote, remote_name):
- return self.get_git(name).remote_add(remote, remote_name)
- def bind_branch(self, name, local_name, remote_name):
- return self.get_git(name).bind_branch(local_name, remote_name)
- def pull_from_remote(
- self, name, local_name, remote_name, remote_branch, allow=False, u=False
- ):
- return self.get_git(name).pull_push(
- 0, remote_name, remote_branch, local_name, allow, u, False
- )
- def push_to_remote(
- self, name, local_name, remote_name, remote_branch, u=False, f=False
- ):
- return self.get_git(name).pull_push(
- 1, remote_name, remote_branch, local_name, False, u, f
- ) # push没有allow选项
- def tag(self, name, condition=""):
- return self.get_git(name).get_tag_list(condition) # push没有allow选项
- def show_new(self, name, condition):
- return self.get_git(name).search_commit(condition) # push没有allow选项
- def add_tag(self, name, tag, commit, message=""):
- return self.get_git(name).add_tag(tag, commit, message) # push没有allow选项
- def push_tag(self, name, tag, remoto):
- return self.get_git(name).push_tag(tag, remoto)
- def push_all_tag(self, name, remoto):
- return self.get_git(name).push_tag("--tags", remoto)
- def del_tag_remote(self, name, remote, tag):
- return self.get_git(name).del_tag_remote(remote, tag)
- def del_branch_remote(self, name, remote, remote_branch):
- return self.get_git(name).del_branch_remote(remote, remote_branch)
- def del_tag(self, name, tag):
- return self.get_git(name).del_tag(tag)
- def fetch(self, name, local_name, remote_name, remote_branch):
- return self.get_git(name).fetch(remote_name, remote_branch, local_name)
- def customize_command(self, name, command: str):
- return self.get_git(name).customize_command(command)
- def clone(self, name, url):
- return self.get_git(name).clone(url)
- def after_clone(self, name):
- return self.get_git(name).after_clone()
- def make_dir(self, name, dir_):
- return self.get_git(name).make_dir(dir_)
- def rename_branch(self, name, old_name, new_name):
- return self.get_git(name).rename_branch(old_name, new_name)
|