Open SchrodingerZhu opened 4 years ago
Client is a command-line tool like git:
init --server=<server-ip:port>: pull the base layer and global config and prepare the environment
init --server=<server-ip:port>
next: fetch next project to grade
next
pull <project name>: pull a project into local, when current project is not skipped/committed, this is not allowed.
pull <project name>
If the project is graded, the grading state will be pulled and the upper layer will be restored.
skip: skip the current project and notice the server
skip
build: build the current project
build
run: run the current project (This is only available after built)
run
clean: clean up the current project, start from the beginning
clean
grade: give a grade to the current project.
grade
auto: build and run
auto
comment: open an editor to edit the comment for the current project
comment
attach --mode=<nspawn|firejail>: enter the sandbox
attach --mode=<nspawn|firejail>
commit: push the grading state to the server, including:
commit
need-grade|built|build-failed|success|failed
The commit will be stopped if remote server has a grading result. In the case of re-commit, use commit --override
commit --override
We do not backup the upper layer now, it costs too much (both time and space)
Client is a command-line tool like git:
init --server=<server-ip:port>
: pull the base layer and global config and prepare the environmentnext
: fetch next project to gradepull <project name>
: pull a project into local, when current project is not skipped/committed, this is not allowed.If the project is graded, the grading state will be pulled and the upper layer will be restored.
skip
: skip the current project and notice the serverbuild
: build the current projectrun
: run the current project (This is only available after built)clean
: clean up the current project, start from the beginninggrade
: give a grade to the current project.auto
: build and runcomment
: open an editor to edit the comment for the current projectattach --mode=<nspawn|firejail>
: enter the sandboxcommit
: push the grading state to the server, including:need-grade|built|build-failed|success|failed
The commit will be stopped if remote server has a grading result. In the case of re-commit, use
commit --override