public FileMode getIndexFileMode(DirCacheIterator indexIter) {final FileMode wtMode = getEntryFileMode();if (indexIter == null) {return wtMode;}final FileMode iMode = indexIter.getEntryFileMode();if (getOptions().isFileMode() && iMode != FileMode.GITLINK && iMode != FileMode.TREE) {return wtMode;}if (!getOptions().isFileMode()) {if (FileMode.REGULAR_FILE == wtMode&& FileMode.EXECUTABLE_FILE == iMode) {return iMode;}if (FileMode.EXECUTABLE_FILE == wtMode&& FileMode.REGULAR_FILE == iMode) {return iMode;}}if (FileMode.GITLINK == iMode&& FileMode.TREE == wtMode && !getOptions().isDirNoGitLinks()) {return iMode;}if (FileMode.TREE == iMode&& FileMode.GITLINK == wtMode) {return iMode;}return wtMode;}

public FileMode getIndexFileMode ( DirCacheIterator indexIter ) { final FileMode wtMode = getEntryFileMode ( ) ; if ( indexIter == null ) { return wtMode ; } final FileMode iMode = indexIter . getEntryFileMode ( ) ; if ( getOptions ( ) . isFileMode ( ) && iMode != FileMode . GITLINK && iMode != FileMode . TREE ) { return wtMode ; } if ( ! getOptions ( ) . isFileMode ( ) ) { if ( FileMode . REGULAR_FILE == wtMode && FileMode . EXECUTABLE_FILE == iMode ) { return iMode ; } if ( FileMode . EXECUTABLE_FILE == wtMode && FileMode . REGULAR_FILE == iMode ) { return iMode ; } } if ( FileMode . GITLINK == iMode && FileMode . TREE == wtMode && ! getOptions ( ) . isDirNoGitLinks ( ) ) { return iMode ; } if ( FileMode . TREE == iMode && FileMode . GITLINK == wtMode ) { return iMode ; } return wtMode ; }
public virtual FileMode GetIndexFileMode(DirCacheIterator indexIter){FileMode wtMode = EntryFileMode;if (indexIter == null){return wtMode;}if (GetOptions().IsFileMode()){return wtMode;}FileMode iMode = indexIter.EntryFileMode;if (FileMode.REGULAR_FILE == wtMode && FileMode.EXECUTABLE_FILE == iMode){return iMode;}if (FileMode.EXECUTABLE_FILE == wtMode && FileMode.REGULAR_FILE == iMode){return iMode;}return wtMode;}
