JOJ3-hs/tt
2025-09-30 21:22:28 +08:00
..
Readme.md docs: intro to JOJ3 HS 2025-09-28 17:07:33 +08:00
teabag.sh fix: uncomment init 2025-09-30 21:22:28 +08:00

JOJ helper scripts for TT

teabag.sh

This script contains simple shell recipes to complement joint-teapot features. It has two main purposes: (i) copy files to students repositories and (ii) analyze contribution for group works.

Usage

Run teabag.sh -h for detailed help. Common workflow:

  1. Preparation:
  • run with setup
  • run with init
  • use joint-teapot to generate a CSV file for groups (optional: used for contribution analysis)
  1. Copy files feature:
  • run with copy
  • run with push
  • inform students new files were pushed and they should pull the changes
  1. Contribution analysis feature:
  • run with report
  • run with contrib (optional)

Note. TT should create template repositories and only use teabag.sh for adjustments along the semester.

FAQ

Q: Why is teabag using HTTP to clone repositories instead of SSH?

A: As SJTU firewall very quickly blocks SSH requests, processing repositories (eg. cloning) is extremely slow. The firewall being less strict with HTTP, all repositories can be handled smoothly by teabag.sh.

Q: I input my Jaccount password when prompted for a password but it fails, why?

A: Input your Gitea token at the password prompt.

Q: What permissions should I give to my token?

A: For security reasons, always keep permissions as minimal as possible. This script only requires write on repository and optionally write on issues if using the contribution analysis feature to post the results in Gitea issues.

Q: I'm prompted for my token for each repository, is there a way to input it only once?

A: Yes, man git-credential. While you can directly add your Gitea token to $HOME/.gitconfig, it is more secure to use a password manager such as pass to store your credentials. Once properly setup you will not be prompted again for your token!