Skip to content

Commit e6fbea9

Browse files
committed
Merge branch 'gix-blame'
2 parents c2753b8 + 6d71e0d commit e6fbea9

File tree

11 files changed

+181
-22
lines changed

11 files changed

+181
-22
lines changed

.github/workflows/cifuzz.yml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
name: CIFuzz
2-
on: [pull_request]
2+
on: [ ]
33
jobs:
4-
Fuzzing:
5-
runs-on: ubuntu-latest
6-
steps:
7-
- name: Build Fuzzers
8-
id: build
9-
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
10-
with:
11-
oss-fuzz-project-name: 'gitoxide'
12-
language: rust
13-
- name: Run Fuzzers
14-
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
15-
with:
16-
oss-fuzz-project-name: 'gitoxide'
17-
language: rust
18-
fuzz-seconds: 600
19-
- name: Upload Crash
20-
uses: actions/upload-artifact@v4
21-
if: failure() && steps.build.outcome == 'success'
22-
with:
23-
name: artifacts
24-
path: ./out/artifacts
4+
Fuzzing:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Build Fuzzers
8+
id: build
9+
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
10+
with:
11+
oss-fuzz-project-name: 'gitoxide'
12+
language: rust
13+
- name: Run Fuzzers
14+
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
15+
with:
16+
oss-fuzz-project-name: 'gitoxide'
17+
language: rust
18+
fuzz-seconds: 600
19+
- name: Upload Crash
20+
uses: actions/upload-artifact@v4
21+
if: failure() && steps.build.outcome == 'success'
22+
with:
23+
name: artifacts
24+
path: ./out/artifacts

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ members = [
276276
"gix-path",
277277
"gix-utils",
278278
"gix-fs",
279+
"gix-blame",
279280
"gix",
280281
"gitoxide-core",
281282
"gix-hashtable",

gix-blame/CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## v0.1.0 (2023-02-17)
9+
10+
<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
11+
<csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
12+
13+
### Chore
14+
15+
- <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes
16+
- <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere
17+
18+
### Bug Fixes
19+
20+
- <csr-id-e14dc7d475373d2c266e84ff8f1826c68a34ab92/> note that crates have been renamed from `git-*` to `gix-*`.
21+
This also means that the `git-*` prefixed crates of the `gitoxide` project
22+
are effectively unmaintained.
23+
Use the crates with the `gix-*` prefix instead.
24+
25+
If you were using `git-repository`, then `gix` is its substitute.
26+
27+
### New Features (BREAKING)
28+
29+
- <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> upgrade edition to 2021 in most crates.
30+
MSRV for this is 1.56, and we are now at 1.60 so should be compatible.
31+
This isn't more than a patch release as it should break nobody
32+
who is adhering to the MSRV, but let's be careful and mark it
33+
breaking.
34+
35+
Note that `git-features` and `git-pack` are still on edition 2018
36+
as they make use of a workaround to support (safe) mutable access
37+
to non-overlapping entries in a slice which doesn't work anymore
38+
in edition 2021.
39+
40+
### Commit Statistics
41+
42+
<csr-read-only-do-not-edit/>
43+
44+
- 16 commits contributed to the release over the course of 917 calendar days.
45+
- 937 days passed between releases.
46+
- 4 commits were understood as [conventional](https://www.conventionalcommits.org).
47+
- 1 unique issue was worked on: [#691](https://github.com/Byron/gitoxide/issues/691)
48+
49+
### Commit Details
50+
51+
<csr-read-only-do-not-edit/>
52+
53+
<details><summary>view details</summary>
54+
55+
* **[#691](https://github.com/Byron/gitoxide/issues/691)**
56+
- set `rust-version` to 1.64 ([`55066ce`](https://github.com/Byron/gitoxide/commit/55066ce5fd71209abb5d84da2998b903504584bb))
57+
* **Uncategorized**
58+
- add git-tui changelog ([`b988901`](https://github.com/Byron/gitoxide/commit/b988901dbfa0e5ab3146d8360be2993c4a7838ba))
59+
- Release git-date v0.4.3, git-hash v0.10.3, git-features v0.26.5, git-actor v0.17.2, git-glob v0.5.4, git-path v0.7.2, git-quote v0.4.2, git-attributes v0.8.3, git-bitmap v0.2.2, git-chunk v0.4.2, git-command v0.2.4, git-commitgraph v0.13.1, git-config-value v0.10.2, git-tempfile v3.0.3, git-lock v3.0.3, git-validate v0.7.3, git-object v0.26.2, git-ref v0.24.1, git-sec v0.6.3, git-config v0.16.2, git-prompt v0.3.3, git-url v0.13.3, git-credentials v0.9.2, git-diff v0.26.2, git-discover v0.13.1, git-fetchhead v0.1.0, git-filter v0.1.0, git-hashtable v0.1.2, git-traverse v0.22.2, git-index v0.12.4, git-lfs v0.1.0, git-mailmap v0.9.3, git-note v0.1.0, git-pack v0.31.0, git-odb v0.41.0, git-packetline v0.14.3, git-pathspec v0.1.0, git-transport v0.25.5, git-protocol v0.26.4, git-rebase v0.1.0, git-revision v0.10.4, git-refspec v0.7.3, git-sequencer v0.1.0, git-submodule v0.1.0, git-tix v0.1.0, git-tui v0.1.0, git-worktree v0.12.3, safety bump 2 crates ([`90035a3`](https://github.com/Byron/gitoxide/commit/90035a332d0ba67584558db3605500fbcb424ddd))
60+
- note that crates have been renamed from `git-*` to `gix-*`. ([`e14dc7d`](https://github.com/Byron/gitoxide/commit/e14dc7d475373d2c266e84ff8f1826c68a34ab92))
61+
- Merge branch 'main' into http-config ([`bcd9654`](https://github.com/Byron/gitoxide/commit/bcd9654e56169799eb706646da6ee1f4ef2021a9))
62+
- Merge branch 'version2021' ([`0e4462d`](https://github.com/Byron/gitoxide/commit/0e4462df7a5166fe85c23a779462cdca8ee013e8))
63+
- upgrade edition to 2021 in most crates. ([`3d8fa8f`](https://github.com/Byron/gitoxide/commit/3d8fa8fef9800b1576beab8a5bc39b821157a5ed))
64+
- Merge branch 'main' into index-from-tree ([`bc64b96`](https://github.com/Byron/gitoxide/commit/bc64b96a2ec781c72d1d4daad38aa7fb8b74f99b))
65+
- Merge branch 'main' into remote-ls-refs ([`e2ee3de`](https://github.com/Byron/gitoxide/commit/e2ee3ded97e5c449933712883535b30d151c7c78))
66+
- Merge branch 'docsrs-show-features' ([`31c2351`](https://github.com/Byron/gitoxide/commit/31c235140cad212d16a56195763fbddd971d87ce))
67+
- uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
68+
- remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8))
69+
- remove dash in all repository links ([`98c1360`](https://github.com/Byron/gitoxide/commit/98c1360ba4d2fb3443602b7da8775906224feb1d))
70+
- Merge from main. ([`b59bd5e`](https://github.com/Byron/gitoxide/commit/b59bd5e0b0895c7d1d585816cec8be4dea78c278))
71+
- Finish removal of rust 2018 idioms ([`0d1699e`](https://github.com/Byron/gitoxide/commit/0d1699e0e0bc9052be0a74b1b3f3d3eeeec39e3e))
72+
- Allow dual-licensing with Apache 2.0 ([`ea353eb`](https://github.com/Byron/gitoxide/commit/ea353eb02fd4f75508600cc5676107bc7e627f1e))
73+
</details>
74+
75+
## v0.0.0 (2020-07-25)
76+
77+
### Commit Statistics
78+
79+
<csr-read-only-do-not-edit/>
80+
81+
- 1 commit contributed to the release.
82+
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
83+
- 0 issues like '(#ID)' were seen in commit messages
84+
85+
### Commit Details
86+
87+
<csr-read-only-do-not-edit/>
88+
89+
<details><summary>view details</summary>
90+
91+
* **Uncategorized**
92+
- commit to also giving a git-tui a go ([`a0b73af`](https://github.com/Byron/gitoxide/commit/a0b73afdd1df9b1096f0c6fe388f795a6dfe7f33))
93+
</details>
94+

gix-blame/Cargo.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[package]
2+
name = "gix-blame"
3+
version = "0.0.0"
4+
repository = "https://github.com/Byron/gitoxide"
5+
license = "MIT OR Apache-2.0"
6+
description = "A crate of the gitoxide project dedicated implementing a 'blame' algorithm"
7+
authors = ["Christoph Rüßler <[email protected]>", "Sebastian Thiel <[email protected]>"]
8+
edition = "2021"
9+
rust-version = "1.65"
10+
11+
[lib]
12+
doctest = false
13+
14+
[dependencies]
15+
16+
[dev-dependencies]
17+
gix-testtools = { path = "../tests/tools" }

gix-blame/LICENSE-APACHE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-APACHE

gix-blame/LICENSE-MIT

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-MIT

gix-blame/src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//! A crate to implement an algorithm to annotate lines in tracked files with the commits that changed them.
2+
#![deny(rust_2018_idioms)]
3+
#![forbid(unsafe_code)]
4+
5+
#[cfg(test)]
6+
mod tests {
7+
#[test]
8+
#[ignore]
9+
fn it_works() {}
10+
}

gix-blame/tests/blame.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#[test]
2+
fn it_works() {
3+
let _worktree = gix_testtools::scripted_fixture_read_only("make_blame_repo.sh").unwrap();
4+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
make_blame_repo.tar
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
set -eu -o pipefail
3+
4+
5+
git init -q
6+
git config merge.ff false
7+
8+
git checkout -q -b main
9+
git commit -q --allow-empty -m c1
10+
git tag at-c1
11+
git commit -q --allow-empty -m c2
12+
git commit -q --allow-empty -m c3
13+
git commit -q --allow-empty -m c4
14+
15+
git checkout -q -b branch1
16+
git commit -q --allow-empty -m b1c1
17+
git tag at-b1c1
18+
git commit -q --allow-empty -m b1c2
19+
20+
git checkout -q main
21+
git commit -q --allow-empty -m c5
22+
git tag at-c5
23+
git merge branch1 -m m1b1

0 commit comments

Comments
 (0)