TAAFT
Free mode
100% free
Freemium
Free Trial
Deals

Passing the first stage

jonhoo / codecrafters-git-rust

87 6 Language: Rust Updated: 5mo ago

README

progress-banner

This is a starting point for Rust solutions to the
"Build Your Own Git" Challenge.

In this challenge, you'll build a small Git implementation that's capable of
initializing a repository, creating commits and cloning a public repository.
Along the way we'll learn about the .git directory, Git objects (blobs,
commits, trees etc.), Git's transfer protocols and more.

Note: If you're viewing this repo on GitHub, head over to
codecrafters.io to try the challenge.

Passing the first stage

The entry point for your Git implementation is in src/main.rs. Study and
uncomment the relevant code, and push your changes to pass the first stage:

git add .
git commit -m "pass 1st stage" # any msg
git push origin master

That's all!

Stage 2 & beyond

Note: This section is for stages 2 and beyond.

  1. Ensure you have cargo (1.54) installed locally
  2. Run ./your_git.sh to run your Git implementation, which is implemented in
    src/main.rs. This command compiles your Rust project, so it might be slow
    the first time you run it. Subsequent runs will be fast.
  3. Commit your changes and run git push origin master to submit your solution
    to CodeCrafters. Test output will be streamed to your terminal.

Testing locally

The your_git.sh script is expected to operate on the .git folder inside the
current working directory. If you're running this inside the root of this
repository, you might end up accidentally damaging your repository's .git
folder.

We suggest executing your_git.sh in a different folder when testing locally.
For example:

mkdir -p /tmp/testing && cd /tmp/testing
/path/to/your/repo/your_git.sh init

To make this easier to type out, you could add a
shell alias:

alias mygit=/path/to/your/repo/your_git.sh

mkdir -p /tmp/testing && cd /tmp/testing
mygit init
0 AIs selected
Clear selection
#
Name
Task