diff options
author | Matthias Sohn | 2012-09-01 20:41:38 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2012-09-01 20:41:38 +0000 |
commit | a4fa75eb5abc37dd8e39c93e080b028f15380d24 (patch) | |
tree | bcb45f28535957c973cdcf0e3a10ec767592b48e | |
parent | 8425aaa3874ba87b7a2e4eb3960a23eed3c17523 (diff) | |
parent | eeccca2e7b46c9dde28c9075b25bdcfe29cad2a5 (diff) | |
download | egit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.tar.gz egit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.tar.xz egit-a4fa75eb5abc37dd8e39c93e080b028f15380d24.zip |
Merge "Expand LF to CRLF in input to compare editors."
-rw-r--r-- | org.eclipse.egit.core/META-INF/MANIFEST.MF | 3 | ||||
-rw-r--r-- | org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java | 16 |
2 files changed, 16 insertions, 3 deletions
diff --git a/org.eclipse.egit.core/META-INF/MANIFEST.MF b/org.eclipse.egit.core/META-INF/MANIFEST.MF index 095649a751..46cebff294 100644 --- a/org.eclipse.egit.core/META-INF/MANIFEST.MF +++ b/org.eclipse.egit.core/META-INF/MANIFEST.MF @@ -41,5 +41,6 @@ Import-Package: org.eclipse.jgit.api;version="[2.1.0,2.2.0)", org.eclipse.jgit.transport;version="[2.1.0,2.2.0)", org.eclipse.jgit.treewalk;version="[2.1.0,2.2.0)", org.eclipse.jgit.treewalk.filter;version="[2.1.0,2.2.0)", - org.eclipse.jgit.util;version="[2.1.0,2.2.0)" + org.eclipse.jgit.util;version="[2.1.0,2.2.0)", + org.eclipse.jgit.util.io;version="[2.1.0,2.2.0) diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java index 9bf7990dc1..9988cd1aac 100644 --- a/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java +++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/internal/storage/BlobStorage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (C) 2006, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2006, 2012 Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * Copyright (C) 2011, Dariusz Luksza <dariusz@luksza.org> * @@ -26,6 +26,8 @@ import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.treewalk.WorkingTreeOptions; +import org.eclipse.jgit.util.io.AutoCRLFInputStream; import org.eclipse.osgi.util.NLS; /** Accesses a blob from Git. */ @@ -62,7 +64,17 @@ class BlobStorage implements IStorage { return new ByteArrayInputStream(new byte[0]); try { - return db.open(blobId, Constants.OBJ_BLOB).openStream(); + WorkingTreeOptions workingTreeOptions = db.getConfig().get(WorkingTreeOptions.KEY); + switch (workingTreeOptions.getAutoCRLF()) { + case INPUT: + // When autocrlf == input the working tree could be either CRLF or LF, i.e. the comparison + // itself should ignore line endings. + case FALSE: + return db.open(blobId, Constants.OBJ_BLOB).openStream(); + case TRUE: + default: + return new AutoCRLFInputStream(db.open(blobId, Constants.OBJ_BLOB).openStream(), true); + } } catch (MissingObjectException notFound) { throw new CoreException(Activator.error(NLS.bind( CoreText.BlobStorage_blobNotFound, blobId.name(), path), |