diff options
author | Stefan Lay | 2010-09-14 10:46:24 +0000 |
---|---|---|
committer | Stefan Lay | 2010-09-14 10:46:24 +0000 |
commit | 62ca55d4f0ddac76b888e5931f6e1b3c077bcf4c (patch) | |
tree | 2e65f2fe59c25b185ae2ce60eec2f47e07df46c7 /org.eclipse.egit.ui | |
parent | 3357d4e2ba49e1b6a43991a251c1fcb157aa632e (diff) | |
download | egit-62ca55d4f0ddac76b888e5931f6e1b3c077bcf4c.tar.gz egit-62ca55d4f0ddac76b888e5931f6e1b3c077bcf4c.tar.xz egit-62ca55d4f0ddac76b888e5931f6e1b3c077bcf4c.zip |
Take core.filemode into account in for dirty decoration
A resource was marked as dirty when the file mode differed even if
the config setting core.filemode was set to false. This is fixed with
this commit.
Bug: 307560
Change-Id: I68de4a298653e0e23030fe053f73bfa3c5df74b6
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
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; |