我正在使用Objective-Git.我无法使用以下方法:
- (GTIndex *)merge:(GTTree *)otherTree ancestor:(GTTree *)ancestorTree error:(NSError **)error
没有返回错误,但返回的索引为空,当它存在时,所有属性都为零.合并操作不会发生,我无法写出树,因为我无法获得尝试合并产生的索引.
有没有人设法使用目标git成功执行合并 - 如何?救命!
GTBranch *branch1 = branches[0]; GTCommit *commit1 = [branch1 targetCommitAndReturnError:NULL]; GTOID *oid1 = commit1.OID; GTTree *tree1 = commit1.tree; GTBranch *branch2 = branches[1]; GTCommit *commit2 = [branch2 targetCommitAndReturnError:NULL]; GTTree *tree2 = commit2.tree; GTOID *oid2 = commit2.OID; GTRepository *repo = branch1.repository; NSError *error; GTCommit *ancestor = [repo mergeBaseBetweenFirstOID:oid1 secondOID:oid2 error:&error]; if (error){ NSLog(@"%@", error.description); } GTTree *ancTree = ancestor.tree; NSError *someError; NSLog(@"attempting merge into ""%@"" from ""%@"" with ancestor ""%@""", commit2.message, commit1.message,ancestor.message); GTIndex *mergedIndex = [tree2 merge:tree1 ancestor: ancTree error:&someError]; //returns index not backed by existing repo --> index_file_path = nil, all attributes of git_index are nil if (someError){ NSLog(@"%@", someError.description); } NSError *theError; GTTree *mergedtree = [mergedIndex writeTree:&theError]; //can't write out the tree as the index given back by merge: ancestor: error: does not reference a repo if (theError){ NSLog(@"%@",theError); } } }
Arthur Schre.. 5
通过将树合并在一起返回的索引不会绑定到存储库.不幸的是,将索引作为树写入特定存储库(git_index_write_tree_to
)的操作尚未通过Objective-Git公开.
您可能希望在其问题跟踪器中打开票证.
通过将树合并在一起返回的索引不会绑定到存储库.不幸的是,将索引作为树写入特定存储库(git_index_write_tree_to
)的操作尚未通过Objective-Git公开.
您可能希望在其问题跟踪器中打开票证.