Given Code
Starting with TC-1, code with gaps is provided through the tc-base public Git repository.
We used to provide code through tarballs and patches before, but we only rely on Git now.
This approach is the best one, as git merge
is arguably simpler than patch
and has other advantages (like preserving the execution bit of scripts, identifying the
origin of every line of code using git blame
, etc.). Each commit containing the
contents of a new stage is labeled with a |class|-tc-x.y
tag.
Here is the recommended strategy to use this repository.
At TC-1, subscribe to the repository, fetch its contents and integrate the given code using
git merge
with the commit labeled2026-tc-1.0
into yourmaster
branch:$ git remote add tc-base https://gitlab.lre.epita.fr/tiger/tc-base.git $ git fetch tc-base $ git merge 2026-tc-1.0Fix the conflicts and record the merge commit:
$ git add src/tc.cc ... $ git commitFor any subsequent stage m, all you will need to do is fetch the new commits from the
tc-base
repository and merge the code given at stage m into yours (and of course, fix the conflicts). E.g.:$ git fetch tc-base $ git merge 2026-tc-m.0