Next: Project Layout, Up: Source Code [Contents][Index]
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-base-x.y’ tag.
Here is the recommended strategy to use this repository.
git merge
with the commit
labeled ‘2020-tc-base-1.0’ into your ‘master’ branch:
$ git remote add tc-base https://gitlab.lrde.epita.fr/tiger/tc-base.git $ git fetch tc-base $ git merge 2020-tc-base-1.0
Fix the conflicts and record the merge commit:
$ git add src/tc.cc ... $ git commit
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 2020-tc-base-m.0