diff options
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java index b80a46e110..b36f8bc670 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java @@ -42,6 +42,7 @@ import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.RepositoryState; +import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.treewalk.EmptyTreeIterator; import org.eclipse.jgit.treewalk.TreeWalk; @@ -206,12 +207,19 @@ class DecoratableResourceAdapter implements IDecoratableResource { assumeValid = true; } else { if (workspaceIterator != null - && workspaceIterator.isModified(indexEntry, true, true, + && workspaceIterator.isModified(indexEntry, true, config_filemode(), repository.getFS())) dirty = true; } } + private boolean config_filemode() { + StoredConfig config = repository.getConfig(); + Boolean filemode = Boolean.valueOf(config.getBoolean("core", null, //$NON-NLS-1$ + "filemode", true)); //$NON-NLS-1$ + return filemode.booleanValue(); + } + private class RecursiveStateFilter extends TreeFilter { private int filesChecked = 0; |