Community
Participate
Working Groups
Eclipse EGit 1.2.0.201112101922 I had a repo setup like this: root-gitrepo-folder/javaproject/ In my workspace, I have a "General" project for root-gitrepo-folder and a Java project for root-gitrepo-folder/javaproject, both team shared. I had a bunch of committed files in javaproject and moved them to root-gitrepo-folder, including the .project file and settings. when trying to commit the changes, I got the exception. I then tried to reproduce the NPE for the purpose of this bug by creating a new repo and a hello world java project then repeating the steps. Instead, I got a IllegalArgumentException. java.lang.NullPointerException at org.eclipse.jgit.treewalk.filter.PathFilter.create(PathFilter.java:77) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:117) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:162) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:196) at org.eclipse.egit.ui.internal.decorators.GitDocument.populate(GitDocument.java:159) at org.eclipse.egit.ui.internal.decorators.GitDocument.onRefsChanged(GitDocument.java:233) at org.eclipse.jgit.events.RefsChangedEvent.dispatch(RefsChangedEvent.java:55) at org.eclipse.jgit.events.RefsChangedEvent.dispatch(RefsChangedEvent.java:47) at org.eclipse.jgit.events.ListenerList.dispatch(ListenerList.java:120) at org.eclipse.jgit.lib.Repository.fireEvent(Repository.java:149) at org.eclipse.jgit.storage.file.RefDirectory.fireRefsChanged(RefDirectory.java:934) at org.eclipse.jgit.storage.file.RefDirectory.putLooseRef(RefDirectory.java:550) at org.eclipse.jgit.storage.file.RefDirectory.stored(RefDirectory.java:540) at org.eclipse.jgit.storage.file.RefDirectoryUpdate.doUpdate(RefDirectoryUpdate.java:124) at org.eclipse.jgit.lib.RefUpdate$1.execute(RefUpdate.java:489) at org.eclipse.jgit.lib.RefUpdate.updateImpl(RefUpdate.java:622) at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:484) at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:463) at org.eclipse.jgit.lib.RefUpdate.forceUpdate(RefUpdate.java:442) at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:232) at org.eclipse.egit.core.op.CommitOperation.commit(CommitOperation.java:255) at org.eclipse.egit.core.op.CommitOperation.access$7(CommitOperation.java:233) at org.eclipse.egit.core.op.CommitOperation$1.run(CommitOperation.java:197) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326) at org.eclipse.egit.core.op.CommitOperation.execute(CommitOperation.java:207) at org.eclipse.egit.ui.internal.commit.CommitUI$2.run(CommitUI.java:219) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) and the IllegalArgumentException java.lang.IllegalArgumentException: Empty path not permitted. at org.eclipse.jgit.treewalk.filter.PathFilter.create(PathFilter.java:80) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:117) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:162) at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:196) at org.eclipse.egit.ui.internal.decorators.GitDocument.populate(GitDocument.java:159) at org.eclipse.egit.ui.internal.decorators.GitDocument.onRefsChanged(GitDocument.java:233) at org.eclipse.jgit.events.RefsChangedEvent.dispatch(RefsChangedEvent.java:55) at org.eclipse.jgit.events.RefsChangedEvent.dispatch(RefsChangedEvent.java:47) at org.eclipse.jgit.events.ListenerList.dispatch(ListenerList.java:120) at org.eclipse.jgit.lib.Repository.fireEvent(Repository.java:149) at org.eclipse.jgit.storage.file.RefDirectory.fireRefsChanged(RefDirectory.java:934) at org.eclipse.jgit.storage.file.RefDirectory.putLooseRef(RefDirectory.java:550) at org.eclipse.jgit.storage.file.RefDirectory.stored(RefDirectory.java:540) at org.eclipse.jgit.storage.file.RefDirectoryUpdate.doUpdate(RefDirectoryUpdate.java:124) at org.eclipse.jgit.lib.RefUpdate$1.execute(RefUpdate.java:489) at org.eclipse.jgit.lib.RefUpdate.updateImpl(RefUpdate.java:622) at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:484) at org.eclipse.jgit.lib.RefUpdate.update(RefUpdate.java:463) at org.eclipse.jgit.lib.RefUpdate.forceUpdate(RefUpdate.java:442) at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:232) at org.eclipse.egit.core.op.CommitOperation.commit(CommitOperation.java:255) at org.eclipse.egit.core.op.CommitOperation.access$7(CommitOperation.java:233) at org.eclipse.egit.core.op.CommitOperation$1.run(CommitOperation.java:197) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326) at org.eclipse.egit.core.op.CommitOperation.execute(CommitOperation.java:207) at org.eclipse.egit.ui.internal.commit.CommitUI$2.run(CommitUI.java:219) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
I forgot to add, I deleted the project javaproject inside Eclipse before committing.
Proposed fix pushed to: http://egit.eclipse.org/r/#change,4985
Merged into master as commit 2f53bccc6ba60b9c3c1ec0ea6ae16df614e192ef