Skip to content

Commit a12e4a8

Browse files
committed
Merge branch 'gix-url-parse-rewrite'
2 parents 94fe675 + 4184a5e commit a12e4a8

File tree

24 files changed

+1132
-566
lines changed

24 files changed

+1132
-566
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## Unreleased
9+
10+
This release includes an overhaul of the url parsing implementation, allowing more urls to be parsed correctly and refining the error messages for
11+
invalid ones. Improvements include the added support for ssh aliases (`github:byron/gitoxide` has previously been parsed as local path), adjustments
12+
around the interpretation of colons in file names (previously we disallowed colons that were not followed up with a slash character) and some smaller
13+
changes that bring the interpretation of file urls more in line with Git's implementation.
14+
15+
There are still many (edge) cases in Git's url parsing implementation which are not handled correctly by Gitoxide. If you notice any such deviation please
16+
open a new issue to help us making Gitoxide even more correct.
17+
818
## 0.30.0 (2023-09-24)
919

1020
<csr-id-d3ac691446c9d029eb4f04d111887fa06720939d/>

Cargo.lock

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

gix-url/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## Unreleased
9+
10+
This release contains a complete rewrite of the internal url parsing logic, the public interface stays mostly the same however. Gitoxide will now be
11+
more correct, interpreting more urls the same way Git does. Improvements include the added support for ssh aliases (`github:byron/gitoxide` has previously
12+
been parsed as local path), adjustments around the interpretation of colons in file names (previously we disallowed colons that were not followed up
13+
with a slash character) and some smaller changes that bring the interpretation of file urls more in line with Git's implementation. Additionally, the
14+
error types have been adjusted to print a more comprehensive message by default, making sure they stay helpful even when bubbled up through multiple abstraction
15+
layers.
16+
17+
There are still many (edge) cases in Git's url parsing implementation which are not handled correctly by Gitoxide. If you notice any such deviation please
18+
open a new issue to help us making Gitoxide even more correct.
19+
820
## 0.24.0 (2023-09-24)
921

1022
### New Features

gix-url/Cargo.toml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ rust-version = "1.65"
1212
[lib]
1313
doctest = false
1414

15-
[[test]]
16-
name = "baseline"
17-
harness = false
18-
1915
[features]
2016
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
2117
serde = ["dep:serde", "bstr/serde"]
@@ -33,8 +29,8 @@ home = "0.5.3"
3329
document-features = { version = "0.2.0", optional = true }
3430

3531
[dev-dependencies]
32+
assert_matches = "1.5.0"
3633
gix-testtools = { path = "../tests/tools" }
37-
libtest-mimic = "0.6.1"
3834

3935
[package.metadata.docs.rs]
4036
all-features = true

gix-url/fuzz/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
target
2+
corpus
3+
artifacts

0 commit comments

Comments
 (0)