git - Abort merge using JGit -


this pretty straightforward: how simulate command git merge --abort in jgit? need "preview" conflicts prior real merge

there no direct equivalent git merge --abort in jgit. code snippet may serve starting point:

// clear merge state repository.writemergecommitmsg( null ); repository.writemergeheads( null );  // reset index , work directory head git.wrap( repository ).reset().setmode( resettype.hard ).call(); 

it empties merge state files , resets index , work directory contents of current head commit.

in order test if 2 commits can merged, use in-core merger. avoid checking out conflicting commit work directory reset them later on.

revcommit parentcommit = mergecommit.getparent( 0 ); revwalk.parseheaders( parentcommit );  resolvemerger merger = ( resolvemerger )mergestrategy.resolve.newmerger( repository, true ); merger.setworkingtreeiterator( new filetreeiterator( repository ) ); merger.setbase( parentcommit.gettree() ); if( !merger.merge( headcommit, mergecommit ) ) {   if( merger.failed() {     throw new illegalstateexception( "should not happen in-core mergers" );   }   // inspect merger.getmergeresults() further details } 

Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -