Repository setup

We will create a Git repository for you so that you can develop your application in a private space. Access will be available only to you (and your teammate if any) and to the lecturers.

Repository creation

Please ensure that you already have an account on https://gitlab.telecom-paris.fr/, or create one by signing in with the "SSO & Fédération d'identité Edugain" button, using your academic credentials.

✅ Send a mail to the class mailing-list to request the creation of a new repository. Make sure you include the GitLab usernames of every team member in your mail.

Note: you can find your GitLab username by clicking on the top-right area in GitLab — it starts with a "@".

Repository layout

Your project is expected to be located at the root of your repository.

✅ Once you have cloned the repository we have created for you, you can initialize the project structure by using the following commands at the repository root:

$ ls -a
. .. .git README.md
$ cargo init . --name net7212
     Created binary (application) package

You can then check that everything works as expected:

$ cargo run
   Compiling net7212 v0.1.0 (/home/johndoe/courses/net7212/project/)
    Finished dev [unoptimized + debuginfo] target(s) in 0.32s
     Running `target/debug/net7212`
Hello, world!

✅ It is time to add the Rust source code to git:

$ ls -a
. .. .git .gitignore Cargo.toml Cargo.lock README.md src target
$ git add .
$ git status
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    new file:   .gitignore
    new file:   Cargo.lock
    new file:   Cargo.toml
    new file:   src/main.rs
$ git commit -m "Initialize cargo project net7212"
$ git push

If several persons work on the same project, the initialization above has to be done only once. Other participants may now clone the project or update their copy.

Note: the location (root of the git repository) and the name (net7212) of the cargo project are mandatory so that our automated project tools can work properly. Also, while it is fine to use branches to develop specific features, the work to be graded is expected to be found in the main branch.