Skip to content

Commit 1d3d258

Browse files
committed
add the gix-merge crate for capturing merge algorithms
1 parent 748fafd commit 1d3d258

File tree

8 files changed

+39
-2
lines changed

8 files changed

+39
-2
lines changed

Cargo.lock

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ members = [
243243
"gix-object",
244244
"gix-glob",
245245
"gix-diff",
246+
"gix-merge",
246247
"gix-date",
247248
"gix-traverse",
248249
"gix-dir",

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,11 @@ is usable to some extent.
130130
* [gix-submodule](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-submodule)
131131
* [gix-status](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-status)
132132
* [gix-worktree-state](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-worktree-state)
133-
* `gitoxide-core`
134-
* **very early** _(possibly without any documentation and many rough edges)_
135133
* [gix-date](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-date)
136134
* [gix-dir](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-dir)
135+
* `gitoxide-core`
136+
* **very early** _(possibly without any documentation and many rough edges)_
137+
* [gix-merge](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-merge)
137138
* **idea** _(just a name placeholder)_
138139
* [gix-note](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-note)
139140
* [gix-fetchhead](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-fetchhead)

crate-status.md

+9
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,15 @@ Check out the [performance discussion][gix-diff-performance] as well.
326326
* [ ] working with hunks of data
327327
* [x] API documentation
328328
* [ ] Examples
329+
330+
### gix-merge
331+
332+
* [ ] three-way merge analysis of blobs with choice of how to resolve conflicts
333+
- [ ] choose how to resolve conflicts on the data-structure
334+
- [ ] produce a new blob based on data-structure containing possible resolutions
335+
- [ ] `merge` style
336+
- [ ] `diff3` style
337+
- [ ] `zdiff` style
329338

330339
[gix-diff-performance]: https://github.com/Byron/gitoxide/discussions/74
331340

gix-merge/Cargo.toml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[package]
2+
name = "gix-merge"
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 implementing merge algorithms"
7+
authors = ["Sebastian Thiel <[email protected]>"]
8+
edition = "2021"
9+
rust-version = "1.65"
10+
11+
[lints]
12+
workspace = true
13+
14+
[lib]
15+
doctest = false
16+
17+
[dependencies]
18+

gix-merge/LICENSE-APACHE

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-APACHE

gix-merge/LICENSE-MIT

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-MIT

gix-merge/src/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#![deny(rust_2018_idioms)]
2+
#![forbid(unsafe_code)]

0 commit comments

Comments
 (0)