2019-07-02 17:40:16 +03:00
|
|
|
build:
|
2020-02-28 21:03:58 +03:00
|
|
|
cargo build --release
|
2019-07-02 17:40:16 +03:00
|
|
|
|
2020-05-14 18:33:44 +03:00
|
|
|
format:
|
2021-04-15 13:17:49 +03:00
|
|
|
git ls-files | grep '\.rs$$' | xargs -P 0 rustfmt
|
2020-05-14 18:33:44 +03:00
|
|
|
|
2020-03-03 19:16:35 +03:00
|
|
|
lint:
|
|
|
|
cargo clippy
|
|
|
|
|
2020-04-16 18:06:06 +03:00
|
|
|
test: unit-test end-to-end-test
|
|
|
|
|
|
|
|
unit-test:
|
2019-07-03 16:02:50 +03:00
|
|
|
cargo test
|
2020-04-16 18:06:06 +03:00
|
|
|
|
|
|
|
end-to-end-test: build
|
2020-06-28 22:00:42 +03:00
|
|
|
./tests/test_raw_output_matches_git_on_full_repo_history
|
2020-05-26 08:02:57 +03:00
|
|
|
./tests/test_deprecated_options > /dev/null
|
2021-03-30 01:31:41 +03:00
|
|
|
./tests/test_navigate_less_history_file
|
2019-07-17 05:49:50 +03:00
|
|
|
|
2019-11-26 00:41:04 +03:00
|
|
|
release:
|
2020-03-04 03:33:56 +03:00
|
|
|
@make -f release.Makefile release
|
2019-11-26 00:41:04 +03:00
|
|
|
|
2020-03-04 03:33:56 +03:00
|
|
|
version:
|
2020-04-17 03:36:23 +03:00
|
|
|
@grep version Cargo.toml | head -n1 | sed -E 's,.*version = "([^"]+)",\1,'
|
2019-12-05 18:15:03 +03:00
|
|
|
|
2019-07-29 06:00:43 +03:00
|
|
|
hash:
|
2020-03-04 03:33:56 +03:00
|
|
|
@version=$$(make version) && \
|
2020-10-09 00:00:33 +03:00
|
|
|
printf "$$version-tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/archive/$$version.tar.gz | sha256sum -) && \
|
2019-07-29 06:00:43 +03:00
|
|
|
printf "delta-$$version-x86_64-apple-darwin.tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/releases/download/$$version/delta-$$version-x86_64-apple-darwin.tar.gz | sha256sum -) && \
|
|
|
|
printf "delta-$$version-x86_64-unknown-linux-musl.tar.gz %s\n" $$(curl -sL https://github.com/dandavison/delta/releases/download/$$version/delta-$$version-x86_64-unknown-linux-musl.tar.gz | sha256sum -)
|
|
|
|
|
2020-04-16 19:02:43 +03:00
|
|
|
BENCHMARK_INPUT_FILE = /tmp/delta-benchmark-input.gitdiff
|
2020-05-18 16:14:55 +03:00
|
|
|
BENCHMARK_COMMAND = git log -p 23c292d3f25c67082a2ba315a187268be1a9b0ab
|
2020-04-16 19:02:43 +03:00
|
|
|
benchmark: build
|
2020-05-18 16:14:55 +03:00
|
|
|
$(BENCHMARK_COMMAND) > $(BENCHMARK_INPUT_FILE)
|
2021-11-27 19:20:16 +03:00
|
|
|
hyperfine --warmup 10 --min-runs 20 \
|
|
|
|
'target/release/delta --no-gitconfig < $(BENCHMARK_INPUT_FILE) > /dev/null'
|
2020-04-16 19:02:43 +03:00
|
|
|
|
2020-05-18 16:36:56 +03:00
|
|
|
# https://github.com/brendangregg/FlameGraph
|
2020-05-18 16:14:55 +03:00
|
|
|
flamegraph: build
|
|
|
|
$(BENCHMARK_COMMAND) | target/release/delta > /dev/null &
|
2020-08-05 23:34:22 +03:00
|
|
|
sample delta | stackcollapse-sample | flamegraph > etc/performance/flamegraph.svg
|
2020-05-18 16:14:55 +03:00
|
|
|
|
2019-07-25 05:43:58 +03:00
|
|
|
chronologer:
|
2020-08-05 23:34:22 +03:00
|
|
|
chronologer etc/performance/chronologer.yaml
|
2020-04-16 18:06:06 +03:00
|
|
|
|
2020-08-08 17:58:09 +03:00
|
|
|
.PHONY: build format lint test unit-test end-to-end-test release version hash benchmark flamegraph chronologer
|