kintsugi 0.6.3 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/tests.yml +1 -1
- data/README.md +10 -0
- data/assets/interactive-conflict-resolution.png +0 -0
- data/kintsugi.gemspec +1 -0
- data/lib/kintsugi/apply_change_to_project.rb +204 -122
- data/lib/kintsugi/cli.rb +83 -53
- data/lib/kintsugi/conflict_resolver.rb +130 -0
- data/lib/kintsugi/merge.rb +7 -4
- data/lib/kintsugi/settings.rb +8 -0
- data/lib/kintsugi/version.rb +1 -1
- data/lib/kintsugi/xcodeproj_extensions.rb +49 -1
- data/spec/kintsugi_apply_change_to_project_spec.rb +605 -113
- data/spec/kintsugi_integration_spec.rb +2 -1
- metadata +19 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d6a3f2f971989db51d411587800237c653c8c09f23ed14a5d6e7ab4acbdc0c0
|
4
|
+
data.tar.gz: f9eb196e1cb97a9a683ec237d71d4943eb11371409ddd918500d898059c4f16f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caa76ce1cae66040d14851dc37f9cbe63269e6565be887f7f31db0016249af5a95bc05e414041aa1f4a2d4e23d534a976383faacf391f6f9bfd2ab880cb524f0
|
7
|
+
data.tar.gz: e92ee6af254ea336b067abd7bfc805bc5d878873f5de74ed4d06c2847e75e24b836a8ad2a4f81edfee78d0c9db8378f6e84f41a6fc210b69ee6e5f31a7b938e1
|
data/.github/workflows/tests.yml
CHANGED
data/README.md
CHANGED
@@ -38,6 +38,14 @@ When there's a `.pbxproj` file with Git conflicts, and a 3-way merge is possible
|
|
38
38
|
|
39
39
|
And see the magic happen! :sparkles:
|
40
40
|
|
41
|
+
### Interactive conflict resolution
|
42
|
+
|
43
|
+
In case Kintsugi cannot resolve a conflict on its own, it will display a helpful message describing the conflict and choices to resolve it:
|
44
|
+
|
45
|
+
<img src="./assets/interactive-conflict-resolution.png" alt="Interactive conflict resolution"/>
|
46
|
+
|
47
|
+
This feature can be disabled by passing the `--interactive-resolution false` flag.
|
48
|
+
|
41
49
|
### Git merge driver
|
42
50
|
|
43
51
|
You can setup Kintsugi to automatically resolve conflicts that occur in `pbxproj` files when such conflicts occur.
|
@@ -46,6 +54,8 @@ You can setup Kintsugi to automatically resolve conflicts that occur in `pbxproj
|
|
46
54
|
|
47
55
|
Run `kintsugi install-driver`. This will install Kintsugi as a merge driver globally. Note that Kintsugi needs to be in your `PATH`.
|
48
56
|
|
57
|
+
- Note: You can pass arguments to this command which will then be passed on to Kintsugi when it's executed as a merge driver. For example, you can pass `--interactive-resolution false` to disable interactive conflict resolution.
|
58
|
+
|
49
59
|
❗ Do not install with bundler because the installation might succeed even if Kintsugi is not in `PATH`.
|
50
60
|
|
51
61
|
#### Manual install
|
Binary file
|
data/kintsugi.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.test_files = spec.files.grep(%r{^(spec)/})
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
|
+
spec.add_dependency "tty-prompt", "~> 0"
|
25
26
|
spec.add_dependency "xcodeproj", ">= 1.19.0", "<= 1.22.0"
|
26
27
|
|
27
28
|
spec.add_development_dependency "git", "~> 1.11"
|