diff options
author | Christian Halstrick <christian.halstrick@sap.com> | 2012-03-02 03:46:03 -0500 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org <gerrit@eclipse.org> | 2012-03-02 03:46:03 -0500 |
commit | 3083146d136c5561d4c87c03efcb184ef4816abe (patch) | |
tree | ed45adf2000cfa345f7d13165f34550a85d570e1 | |
parent | d023f2c78bb18ae81817436fb592cd51283eede4 (diff) | |
parent | 0fb0e8440507e3e969432ea1115b806e5e04138c (diff) | |
download | jgit-3083146d136c5561d4c87c03efcb184ef4816abe.tar.gz jgit-3083146d136c5561d4c87c03efcb184ef4816abe.zip |
Merge "Reuse existing modes and ids"
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java index 58b691228d..50d4c5e4a4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java @@ -577,13 +577,11 @@ public class DirCacheCheckout { int ffMask = 0; if (h != null) - ffMask = FileMode.TREE.equals(h.getEntryFileMode()) ? 0xD00 : 0xF00; + ffMask = FileMode.TREE.equals(hMode) ? 0xD00 : 0xF00; if (i != null) - ffMask |= FileMode.TREE.equals(i.getEntryFileMode()) ? 0x0D0 - : 0x0F0; + ffMask |= FileMode.TREE.equals(iMode) ? 0x0D0 : 0x0F0; if (m != null) - ffMask |= FileMode.TREE.equals(m.getEntryFileMode()) ? 0x00D - : 0x00F; + ffMask |= FileMode.TREE.equals(mMode) ? 0x00D : 0x00F; // Check whether we have a possible file/folder conflict. Therefore we // need a least one file and one folder. @@ -599,7 +597,7 @@ public class DirCacheCheckout { if (isModified(name)) { conflict(name, i.getDirCacheEntry(), h, m); // 1 } else { - update(name, m.getEntryObjectId(), m.getEntryFileMode()); // 2 + update(name, mId, mMode); // 2 } break; @@ -623,7 +621,7 @@ public class DirCacheCheckout { // are found later break; case 0xD0F: // 19 - update(name, mId, m.getEntryFileMode()); + update(name, mId, mMode); break; case 0xDF0: // conflict without a rule case 0x0FD: // 15 @@ -634,9 +632,9 @@ public class DirCacheCheckout { if (isModified(name)) conflict(name, i.getDirCacheEntry(), h, m); // 8 else - update(name, mId, m.getEntryFileMode()); // 7 + update(name, mId, mMode); // 7 } else if (!isModified(name)) - update(name, mId, m.getEntryFileMode()); // 9 + update(name, mId, mMode); // 9 else // To be confirmed - this case is not in the table. conflict(name, i.getDirCacheEntry(), h, m); @@ -656,7 +654,7 @@ public class DirCacheCheckout { break; case 0x0DF: // 16 17 if (!isModified(name)) - update(name, mId, m.getEntryFileMode()); + update(name, mId, mMode); else conflict(name, i.getDirCacheEntry(), h, m); break; @@ -679,7 +677,7 @@ public class DirCacheCheckout { // make sure not to overwrite untracked files if (f != null) { // A submodule is not a file. We should ignore it - if (!FileMode.GITLINK.equals(m.getEntryFileMode())) { + if (!FileMode.GITLINK.equals(mMode)) { // a dirty worktree: the index is empty but we have a // workingtree-file if (mId == null @@ -703,11 +701,11 @@ public class DirCacheCheckout { */ if (h == null) - update(name, mId, m.getEntryFileMode()); // 1 + update(name, mId, mMode); // 1 else if (m == null) remove(name); // 2 else - update(name, mId, m.getEntryFileMode()); // 3 + update(name, mId, mMode); // 3 } else { dce = i.getDirCacheEntry(); if (h == null) { @@ -772,12 +770,12 @@ public class DirCacheCheckout { // For submodules just update the index with the new SHA-1 if (dce != null && FileMode.GITLINK.equals(dce.getFileMode())) { - update(name, mId, m.getEntryFileMode()); + update(name, mId, mMode); } else if (dce != null && (f == null || f.isModified(dce, true))) { conflict(name, dce, h, m); } else { - update(name, mId, m.getEntryFileMode()); + update(name, mId, mMode); } } else { keep(dce); |