0
我試圖通過編程來解決合併衝突,即強制合併。 解決合併衝突,如果我嘗試提交我得到下面的異常後:存儲庫狀態在JGit中合併
org.eclipse.jgit.api.errors.WrongRepositoryStateException:無法提交與狀態的存儲庫:合併。
如何更改存儲庫狀態或缺少某些內容。 代碼片段:
if((RepositoryState.SAFE == pullCommand.getRepository().getRepositoryState())) {
PullResult result = pullCommand.call();
if(MergeStatus.CONFLICTING == result.getMergeResult().getMergeStatus()){
mgCmd = git.merge();
mgCmd.include(repo.getRef("refs/remotes/origin/development"));
mgCmd.setStrategy(MergeStrategy.OURS);
mgCmd.setCommit(true);
res = mgCmd.call();
System.out.println("Failing Path ==="+res.getFailingPaths());
pullCommand.getRepository().resolve("C:\\CODE\\thin\\thinclient\\.git");
if(res.getMergeStatus().equals(MergeResult.MergeStatus.CONFLICTING)){
System.out.println("Merge status=========+++"+res.getMergeStatus());
}
謝謝 但是,你的意思是我需要手動更改本地工作目錄中的文件。 如果存在合併衝突,我只想在文件中進行本地更改。我試圖通過編程來實現這一點。我剛開始探索jgit api。你能幫助我知道如何實現這一點。謝謝 – Jenitta
如果MergeStrategy'ÒURS'足夠用於你的用例,你需要告訴PullCommand使用該策略(即'pullCommand.setStrategy(OURS)'。試試吧? –
嗨,我試過pullCommand.setStrategy(OURS)。它按預期工作。非常感謝...... :) – Jenitta