Skip to content

filter refs by spec #532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 68 commits into from
Sep 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
39d5ff3
a tiny sketch of a possible matching API (#450)
Byron Sep 12, 2022
1b15fe8
get more clarity about `git ls-remote` and `git fetch` (#450)
Byron Sep 12, 2022
095a099
more examples using fully spelled out object names as fetch destinati…
Byron Sep 12, 2022
f9aeda8
frame for `git-fetchhead` crate (#450)
Byron Sep 12, 2022
7aff085
prepare changelog for initial `git-fetchhead` release (#450)
Byron Sep 12, 2022
48d3e16
Release git-fetchhead v0.0.0
Byron Sep 12, 2022
73b405f
thanks clippy
Byron Sep 12, 2022
0887e2e
prefer to represent instructions with Matchers (#450)
Byron Sep 12, 2022
99905ba
change!: upgrade `bstr` to `1.0.1` (#450)
Byron Sep 12, 2022
2569da5
frame for baseline for fetch-matching (#450)
Byron Sep 13, 2022
fce877f
parse baseline reflist which serves as input to the matcher (#450)
Byron Sep 13, 2022
3000a14
parse basline mapping (#450)
Byron Sep 13, 2022
f6124db
restore full ref names for baseline (#450)
Byron Sep 13, 2022
44228a0
pares FETCH_HEAD (as specs without local sides); sketch `Match` type …
Byron Sep 13, 2022
0c17681
fix git-glob tests (#450)
Byron Sep 13, 2022
54ca267
more robust baseline tests on windows (#450)
Byron Sep 13, 2022
dd1d824
a more realistic sketch for `Matcher`, which will need a surrounding …
Byron Sep 13, 2022
192d4f7
more tests to investigate conflict handling (#450)
Byron Sep 13, 2022
b8ac13e
thanks clippy
Byron Sep 13, 2022
4f35485
tag specific tests (#450)
Byron Sep 13, 2022
509764c
ground work for matcher tests (#450)
Byron Sep 13, 2022
abdf83f
feat: Simple serialization for `Instruction` and `RefSpecRef` type. …
Byron Sep 13, 2022
cbbdf59
Get to the point where the matcher is invoked (#450)
Byron Sep 13, 2022
cec6905
actual expectation for first simple test (#450)
Byron Sep 13, 2022
7f3bc30
not using a matchgroup right away seems like the wrong approach (#450)
Byron Sep 13, 2022
4ba31c5
refactor to use a match-group instead. (#450)
Byron Sep 13, 2022
c915a5f
top-level match-group loop without negation (#450)
Byron Sep 13, 2022
3625d5a
first successful test (#450)
Byron Sep 13, 2022
b752e48
generalize baseline assertion to support multiple input specs (#450)
Byron Sep 13, 2022
8e46f54
More standard derives for `Change` type
Byron Sep 14, 2022
fb39608
use Rust credential implementation (#450)
Byron Sep 14, 2022
fac87d0
Extract URL from transport to support custom remotes better and avoid…
Byron Sep 14, 2022
dc7f162
handle partial names as well (#450)
Byron Sep 14, 2022
426107f
preliminary matching of refs by name (#450)
Byron Sep 14, 2022
bb61c49
support testing source-only object names (#450)
Byron Sep 14, 2022
579e891
refactor (#450)
Byron Sep 14, 2022
7368fe4
prepare for dual-sided ref mapping to realize that it needs a special…
Byron Sep 14, 2022
016cd1f
thanks clippy
Byron Sep 14, 2022
413051d
make object-ids in the source position type-safe(#450)
Byron Sep 14, 2022
6668c3f
Don't reject object-id like heads on the receiving side. (#450)
Byron Sep 14, 2022
67506b1
Make it easy to obtain the local and remote sides of RefSpecs (#450)
Byron Sep 14, 2022
74de83c
more tests for simple 1:1 fetch and update specs (#450)
Byron Sep 14, 2022
4b73d11
type-system supprots glob matching (#450)
Byron Sep 14, 2022
a93628c
basic glob matching. (#450)
Byron Sep 14, 2022
74a5f22
thanks clippy
Byron Sep 14, 2022
eaf36e7
improved glob matching (#450)
Byron Sep 14, 2022
00401be
refactor (#450)
Byron Sep 15, 2022
4c73a19
refactor (#450)
Byron Sep 15, 2022
77db112
first tests for multiple refspecs (#450)
Byron Sep 15, 2022
e4931d0
basic negation implementation along with first failure. (#450)
Byron Sep 15, 2022
4c4f821
change!: reject all invalid negative refspec patterns. (#450)
Byron Sep 15, 2022
6e1b19b
adjust expectations to make first exclusion tests work (#450)
Byron Sep 15, 2022
8ed5d01
just-in-time deduplication of mappings (#450)
Byron Sep 15, 2022
508a33a
prepare first test for conflicts and validation (#450)
Byron Sep 15, 2022
53e17c1
sketch `Outcome` type which can be used for later sanitization and va…
Byron Sep 15, 2022
547129e
refactor (#450)
Byron Sep 15, 2022
70a765e
sketch of validation API along with test suite integration (#450)
Byron Sep 15, 2022
aef0a46
the first test to validate conflict reporting (#450)
Byron Sep 16, 2022
afc0a3d
all baseline specs are tested and pass (#450)
Byron Sep 16, 2022
d37fd04
refactor (#450)
Byron Sep 16, 2022
9148102
frame for testing of fixes (#450)
Byron Sep 16, 2022
c81e418
A first version of the 'funny name' sanitization (#450)
Byron Sep 16, 2022
f137d60
fully drop 'funny' names (#450)
Byron Sep 16, 2022
4f48095
another test which doesn't manage to trigger a certain message from g…
Byron Sep 16, 2022
2fdec73
tests to show that empty remotes actually work (#450)
Byron Sep 16, 2022
7432a2b
Allow 'HEAD' based refspecs to match correctly (#450)
Byron Sep 16, 2022
1335618
Actually assure we don't try to write into the HEAD ref, which git av…
Byron Sep 16, 2022
9dc7a3f
remote todo with note about our current understanding (#450)
Byron Sep 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/msrv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@1.59.0 # dictated by `windows` crates effectively, IMPORTANT: adjust etc/msrv-badge.svg as well
- uses: dtolnay/rust-toolchain@1.60.0 # dictated by `windows` crates effectively, IMPORTANT: adjust etc/msrv-badge.svg as well
- run: make check-msrv-on-ci
continue-on-error: true # TODO: turn this off once the toolchain gets updated. There is a strange error preventing cargo to select the correct libgit2 version
# like it doesn't exist.
70 changes: 43 additions & 27 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ members = [
"git-packetline",
"git-mailmap",
"git-note",
"git-fetchhead",
"git-prompt",
"git-filter",
"git-sec",
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ is usable to some extend.
* [git-date](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-date)
* **idea** _(just a name placeholder)_
* [git-note](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-note)
* [git-fetchhead](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-fetchhead)
* [git-filter](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-filter)
* [git-lfs](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-lfs)
* [git-rebase](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-rebase)
Expand Down
4 changes: 4 additions & 0 deletions crate-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ Check out the [performance discussion][git-traverse-performance] as well.
A mechanism to associate metadata with any object, and keep revisions of it using git itself.

* [ ] CRUD for git notes

### git-fetchhead
* [ ] parse `FETCH_HEAD` information back entirely
* [ ] write typical fetch-head lines

### git-discover

Expand Down
1 change: 1 addition & 0 deletions etc/check-package-size.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ echo "in root: gitoxide CLI"
(enter git-filter && indent cargo diet -n --package-size-limit 5KB)
(enter git-lfs && indent cargo diet -n --package-size-limit 5KB)
(enter git-note && indent cargo diet -n --package-size-limit 5KB)
(enter git-fetchhead && indent cargo diet -n --package-size-limit 5KB)
(enter git-sec && indent cargo diet -n --package-size-limit 15KB)
(enter git-tix && indent cargo diet -n --package-size-limit 5KB)
(enter git-credentials && indent cargo diet -n --package-size-limit 20KB)
Expand Down
2 changes: 1 addition & 1 deletion etc/msrv-badge.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions git-actor/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ doctest = false

[features]
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
serde1 = ["serde", "bstr/serde1", "git-date/serde1"]
serde1 = ["serde", "bstr/serde", "git-date/serde1"]

[dependencies]
git-features = { version = "^0.22.4", path = "../git-features", optional = true }
git-date = { version = "^0.1.0", path = "../git-date" }

quick-error = "2.0.0"
btoi = "0.4.2"
bstr = { version = "0.2.13", default-features = false, features = ["std", "unicode"]}
bstr = { version = "1.0.1", default-features = false, features = ["std", "unicode"]}
nom = { version = "7", default-features = false, features = ["std"]}
itoa = "1.0.1"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
Expand Down
4 changes: 2 additions & 2 deletions git-attributes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ doctest = false

[features]
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
serde1 = ["serde", "bstr/serde1", "git-glob/serde1", "compact_str/serde"]
serde1 = ["serde", "bstr/serde", "git-glob/serde1", "compact_str/serde"]

[dependencies]
git-features = { version = "^0.22.4", path = "../git-features" }
git-path = { version = "^0.4.2", path = "../git-path" }
git-quote = { version = "^0.2.1", path = "../git-quote" }
git-glob = { version = "^0.3.2", path = "../git-glob" }

bstr = { version = "0.2.13", default-features = false, features = ["std"]}
bstr = { version = "1.0.1", default-features = false, features = ["std", "unicode"]}
unicode-bom = "1.1.4"
thiserror = "1.0.26"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
Expand Down
4 changes: 2 additions & 2 deletions git-commitgraph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ doctest = false

[features]
## Data structures implement `serde::Serialize` and `serde::Deserialize`
serde1 = ["serde", "git-hash/serde1", "bstr/serde1"]
serde1 = ["serde", "git-hash/serde1", "bstr/serde"]

[dependencies]
git-features = { version = "^0.22.4", path = "../git-features", features = ["rustsha1"] }
git-hash = { version = "^0.9.9", path = "../git-hash" }
git-chunk = { version = "^0.3.1", path = "../git-chunk" }

bstr = { version = "0.2.13", default-features = false, features = ["std"] }
bstr = { version = "1.0.1", default-features = false, features = ["std"] }
memmap2 = "0.5.0"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
thiserror = "1.0.26"
Expand Down
4 changes: 2 additions & 2 deletions git-config-value/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ doctest = false

[features]
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
serde1 = ["serde", "bstr/serde1"]
serde1 = ["serde", "bstr/serde"]

[dependencies]
git-path = { version = "^0.4.2", path = "../git-path" }

thiserror = "1.0.32"
bstr = "0.2.17"
bstr = "1.0.1"
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"]}
bitflags = "1.3.2"

Expand Down
Loading