kintsugi 0.6.2 → 0.7.0
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 +210 -116
- data/lib/kintsugi/cli.rb +25 -8
- 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 +686 -108
- 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: bd0bf9dde374b1b29b0e386ff0f4f051f6686e04b140199c8b62d6a73c053285
|
4
|
+
data.tar.gz: 8845644c3e18fb6244f402d2b432966a0f6e437ced4f441cdd1d43a06369ef51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fd505102998df8f7b0c16d7a0fe7b437e5b6402db784383f752f7b0272fe5b7f2ab2c7b9c18e3de2ee3c071b5cf21577bb4089c792a6ca15286efa3f1f9ae7d
|
7
|
+
data.tar.gz: 85d252a8135e10b536b042156dc787e9a8d9ac5286736d01113ea4380a49d049f8837430d15490f15c3d14cbdf0f7a3cf75ac5dc4f2047bef55cc7f6fb00f837
|
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"
|