ObjectiveGit-使用-[GTIndex enumerateConflictedFilesWithError:usingBlock:]

时间:2018-08-23 01:12:34

标签: git libgit2 objective-git

在ObjectiveGit(这是libgit2的目标c包装器)中,当我遇到无法自动解决的文件冲突时(这通常意味着我有一个本地提交和远程提交,它们都更改了文件的同一行) ,那么我可以使用内置方法-[GTIndex enumerateConflictedFilesWithError:usingBlock:]来枚举冲突文件。但是,一旦我知道了冲突的文件,我将不知道如何解决该文件。即使我选择硬编码来保留我们的版本而不是THEIR版本,当我使用-[GTIndex addEntry:error:]将其添加到索引中时,回购中似乎也没有任何变化,并且冲突仍然存在。我发现使用-[GTIndex addFile:error:]并传递与OUR值关联的路径会添加文件并解决冲突,但是会添加带有GIT批注(例如<<<<<<<<< HEAD)的文件,以保留本地和远程更改。这些会破坏文件。

有人知道我该如何解决冲突?

有问题的文件和行在这里: https://github.com/jeffreybergier/Hipstapaper/blob/cf1c81cdf38871ad1f5d926faeb9ea64e992f22e/Hipstapaper/Sync_shared/SyncDirectory.swift#L47

和此处(相同文件,不同行): https://github.com/jeffreybergier/Hipstapaper/blob/cf1c81cdf38871ad1f5d926faeb9ea64e992f22e/Hipstapaper/Sync_shared/SyncDirectory.swift#L102

0 个答案:

没有答案