TF003 Use Git for versionning

Setup a git repo with the current files, to be able to revert any change if desired

Is a test for

Initial state

The expected state is the final state of TF002 Generate a PDF

Procedure

Step 1

Initialize a git repository

$ git init
Initialized empty Git repository in [...]

Step 2

Start tracking the specification files

$ git add requirements.yaml tests.yaml specification.typ

Step 3

Save current files version

$ git commit -m "Initial commit: first requirements and tests"

Step 4

Give a name to that version

$ git tag 0.0.1

Step 5

Add a requirement in requirements.yaml

$ cat requirements.yaml
kind: requirements
category: functional
requirements:
- id: RF01
  long: The first requirement
- id: RF02
  short: Second
  long: The second requirement
- id: RF03
  short: New
  long: A brand new requirement that wasn't there before !

Step 6

Confirm the requirement appears in the PDF

$ typst compile specification.typ --open

Step 7

Stage changes

$ git add requirements.yaml

Step 8

Save current state

$ git commit -m "Add a new requirement"

Step 9

Revert to the previous version

$ git checkout 0.0.1

Step 10

Confirm the requirement RF03 is gone

$ typst compile specification.typ --open