summaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
blob: 48caed7d66a48e4a3b9c9bf6b52873ef92b46ca8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Contribution guidelines

First off, thank you for considering contributing to delta.

If your contribution is not straightforward, please first discuss the change you
wish to make by creating a new issue before making the change.

## Developing

### Set up

This is no different than other Rust projects.

```shell
git clone https://github.com/dandavison/delta/
cd delta
cargo build --release
```

The executable is then at `./target/release/delta`.

### Useful Commands

- Run all tests:

  ```shell
  make test
  ```

- Run Clippy:

  ```shell
  cargo clippy
  ```

- Check to see if there are code formatting issues

  ```shell
  cargo fmt -- --check
  ```

- Format the code in the project

  ```shell
  cargo fmt
  ```

- Debug build

A "debug" build can be built using `cargo build` and
`./target/debug/delta`. This is faster to compile, but has much worse
performance than the release build.