diff options
author | Laurent Goubet | 2013-05-13 14:34:24 +0000 |
---|---|---|
committer | Laurent Goubet | 2013-05-13 14:51:47 +0000 |
commit | 47ea039d0608ec694239ad1a0c661c6b6319bbe6 (patch) | |
tree | 9fc1e427f4570e8838d38fec08ed93dfff2aedf7 | |
parent | 51438d9da015b53b85c0af00fd6e388aa4ff6ddf (diff) | |
download | egit-47ea039d0608ec694239ad1a0c661c6b6319bbe6.tar.gz egit-47ea039d0608ec694239ad1a0c661c6b6319bbe6.tar.xz egit-47ea039d0608ec694239ad1a0c661c6b6319bbe6.zip |
NPE synchronizing remote branches with files not present in "left" side
Bug: 407016
Change-Id: I96f9d912f2b48654fc3cd5473988b0b1d50ddf70
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronizeParticipant.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronizeParticipant.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronizeParticipant.java index 6e87a186b3..93056b574a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronizeParticipant.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronizeParticipant.java @@ -49,6 +49,7 @@ import org.eclipse.egit.core.synchronize.dto.GitSynchronizeDataSet; import org.eclipse.egit.ui.Activator; import org.eclipse.egit.ui.UIPreferences; import org.eclipse.egit.ui.internal.FileRevisionTypedElement; +import org.eclipse.egit.ui.internal.GitCompareFileRevisionEditorInput; import org.eclipse.egit.ui.internal.UIText; import org.eclipse.egit.ui.internal.synchronize.model.GitModelBlob; import org.eclipse.jface.preference.IPreferenceStore; @@ -239,7 +240,11 @@ public class GitModelSynchronizeParticipant extends ModelSynchronizeParticipant try { final IFileRevision revision = ((GitResourceVariantTreeSubscriber) subscriber) .getSourceFileRevision((IFile) resource); - if (!(revision instanceof WorkspaceFileRevision)) { + if (revision == null) { + final ITypedElement newSource = new GitCompareFileRevisionEditorInput.EmptyTypedElement( + resource.getName()); + ((ResourceDiffCompareInput) input).setLeft(newSource); + } else if (!(revision instanceof WorkspaceFileRevision)) { final ITypedElement newSource = new FileRevisionTypedElement( revision, getLocalEncoding(resource)); ((ResourceDiffCompareInput) input).setLeft(newSource); |