From 4250871b1eb484a2186f9dd36987db24793c643c Mon Sep 17 00:00:00 2001 From: BoYanZh <32470225+BoYanZh@users.noreply.github.com> Date: Tue, 6 Oct 2020 19:41:15 +0800 Subject: update: git workflow --- VG101GradeHelper.py | 8 +++++--- worker/GitWorker.py | 10 ++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/VG101GradeHelper.py b/VG101GradeHelper.py index 507296b..565dac2 100644 --- a/VG101GradeHelper.py +++ b/VG101GradeHelper.py @@ -15,6 +15,7 @@ def parse(): help='show this help message and exit') parser.add_argument('-h', '--hw', type=int, help='# homework') parser.add_argument('-p', '--proj', type=int, help='# project') + parser.add_argument('-f', '--feedback', type=int, help='give feedback to project') parser.add_argument('-m', '--ms', type=int, help='# milestone') parser.add_argument('-r', '--rejudge', @@ -84,6 +85,7 @@ if __name__ == "__main__": canvasWorker.grade2Canvas() if args.proj: projScores = gitWorker.checkProj(args.proj, args.ms) - giteaWorker = GiteaWorker(args, GITEA_BASE_URL, ORG_NAME, GITEA_TOKEN, - hgroups) - giteaWorker.raiseIssues(projScores) + if args.feedback: + giteaWorker = GiteaWorker(args, GITEA_BASE_URL, ORG_NAME, GITEA_TOKEN, + hgroups) + giteaWorker.raiseIssues(projScores) diff --git a/worker/GitWorker.py b/worker/GitWorker.py index 3914f3c..5519451 100644 --- a/worker/GitWorker.py +++ b/worker/GitWorker.py @@ -58,9 +58,8 @@ class GitWorker(): "individual branch individual branch missing") continue repo.git.reset('--hard') - repo.git.checkout(f"{stuID}", "-f") - repo.git.pull("origin", f"{stuID}", "-f") - repo.git.reset(f"origin/{stuID}", "--hard") + repo.git.rebase(f"origin/{stuID}") + repo.git.checkout(f"{stuID}") repo.git.clean("-d", "-f", "-x") self.logger.debug(f"{repoName} {stuID} {stuName} pull succeed") if self.args.dir: @@ -228,9 +227,8 @@ class GitWorker(): scores[stuName]["projComment"].append(f"master branch missing") return scores repo.git.reset('--hard') - repo.git.checkout(f"master", "-f") - repo.git.pull("origin", "master", "-f") - repo.git.reset('--hard') + repo.git.rebase("origin/master") + repo.git.checkout("master") repo.git.clean("-d", "-f", "-x") if not list(filter(GitWorker.isREADME, os.listdir(repoDir))): self.logger.warning(f"{repoName} README file missing") -- cgit v1.2.3