refactor: repos init
This commit is contained in:
		
							parent
							
								
									00e0202f62
								
							
						
					
					
						commit
						34c9192711
					
				
							
								
								
									
										35
									
								
								joj-repo
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								joj-repo
									
									
									
									
									
								
							|  | @ -10,7 +10,6 @@ LXCHOST="tt@172.17.0.1" | |||
| # | ||||
| # parse commit message | ||||
| # | ||||
| 
 | ||||
| parse_commit() { | ||||
| 
 | ||||
| 	message=$(git log -1 --pretty=format:%s ${GITHUB_WORKFLOW_SHA}) | ||||
|  | @ -26,7 +25,6 @@ parse_commit() { | |||
| # | ||||
| # gen  | ||||
| # | ||||
| 
 | ||||
| generate_json() { | ||||
| 
 | ||||
| 	parse_commit | ||||
|  | @ -42,33 +40,21 @@ generate_json() { | |||
| # | ||||
| init() { | ||||
| 
 | ||||
|         [ -d $COURSE-config ] && backup $COURSE-config | ||||
| 	# backup current grading scoreboard | ||||
| 	[ -d $COURSE-joj ] && backup $COURSE-joj | ||||
| 
 | ||||
|         git clone $GITEA/$ORG/$COURSE-joj.git $COURSE-config | ||||
| 	git clone $GITEA/$ORG/$COURSE-joj.git | ||||
| 
 | ||||
| 	cd $COURSE-config | ||||
| 
 | ||||
| # copy config files | ||||
|         rsync -r ./$HOME/ $HOME | ||||
| 
 | ||||
| # check existence of grading branch | ||||
| 	# check existence of grading branch | ||||
| 	git branch -a | grep -q grading && br=1 | ||||
| 
 | ||||
|         cd .. | ||||
| 
 | ||||
| # backup current grading scoreboard | ||||
|         [ -d $COURSE-joj ] && backup $COURSE-joj | ||||
| 
 | ||||
| # clone grading branch or create one + push readme | ||||
|         if [ "x$br" = "x1" ]; then | ||||
|                 git clone -b grading $GITEA/$COURSE-$SEMESTER/$COURSE-joj.git | ||||
|                 cd $COURSE-joj | ||||
| if [ "x$br" = "x1" ]; then | ||||
| 	git switch grading | ||||
| 	git pull | ||||
|         else | ||||
|                 git clone $GITEA/$COURSE-$SEMESTER/$COURSE-joj.git | ||||
| 
 | ||||
|                 cd $COURSE-joj | ||||
| else | ||||
| 	git switch --orphan grading | ||||
| 
 | ||||
| 	echo "# $COURSE JOJ grading" > Readme.md | ||||
|  | @ -77,7 +63,7 @@ init() { | |||
| 	git add Readme.md | ||||
| 	git commit -m"docs: readme" | ||||
| 	git push | ||||
|         fi | ||||
| fi | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
|  | @ -90,7 +76,7 @@ update() { | |||
| 	[ -d "$COURSE-joj" ] || ( echo "ERROR: init first!" 1>&2 && exit ) | ||||
| 
 | ||||
| 
 | ||||
| #				genjson | ||||
| 	#	genjson | ||||
| 
 | ||||
| 	rsync -a ./$HOME/ $LXCHOST:$HOME | ||||
| 
 | ||||
|  | @ -102,13 +88,16 @@ update() { | |||
| # | ||||
| backup() { | ||||
| 
 | ||||
| 	[ -d $HOME/.local/share/joj ] || mkdir -p $HOME/.local/share/joj | ||||
| 
 | ||||
| 	BCK="$HOME/.local/share/joj/$1-$(date +%y%m%d-%H%M%S)" | ||||
| 	echo "WARNING: $1 already exits, backing it up to $BCK" | ||||
| 	mv "$1" "$BCK" | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| [ -z "$1" ] && echo "Usage: $0 update|init" | ||||
| [ -z "$1" ] && echo "Usage: $0 update|init" && exit 1 | ||||
| 
 | ||||
| [ -d $HOME/.cache ] || mkdir $HOME/.cache | ||||
| cd $HOME/.cache | ||||
| $1 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user