summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoYanZh <32470225+BoYanZh@users.noreply.github.com>2020-10-06 19:41:15 +0800
committerBoYanZh <32470225+BoYanZh@users.noreply.github.com>2020-10-06 19:41:15 +0800
commit4250871b1eb484a2186f9dd36987db24793c643c (patch)
treeebe22db34be15633bdc785ec1ab731986f27a170
parent3b2797463a1de480e9ccc8591898c3441d52ad02 (diff)
update: git workflow
-rw-r--r--VG101GradeHelper.py8
-rw-r--r--worker/GitWorker.py10
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")