kintsugi 0.6.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|