Merge "Remove null access warning in DirCacheCheckout"
This commit is contained in:
commit
8e1bc46061
|
@ -508,7 +508,7 @@ private boolean equalIdAndMode(ObjectId id1, FileMode mode1, ObjectId id2,
|
|||
|
||||
void processEntry(AbstractTreeIterator h, AbstractTreeIterator m,
|
||||
DirCacheBuildIterator i, WorkingTreeIterator f) throws IOException {
|
||||
DirCacheEntry dce;
|
||||
DirCacheEntry dce = i != null ? i.getDirCacheEntry() : null;
|
||||
|
||||
String name = walk.getPathString();
|
||||
|
||||
|
@ -595,7 +595,7 @@ void processEntry(AbstractTreeIterator h, AbstractTreeIterator m,
|
|||
switch (ffMask) {
|
||||
case 0xDDF: // 1 2
|
||||
if (isModified(name)) {
|
||||
conflict(name, i.getDirCacheEntry(), h, m); // 1
|
||||
conflict(name, dce, h, m); // 1
|
||||
} else {
|
||||
update(name, mId, mMode); // 2
|
||||
}
|
||||
|
@ -625,41 +625,40 @@ void processEntry(AbstractTreeIterator h, AbstractTreeIterator m,
|
|||
break;
|
||||
case 0xDF0: // conflict without a rule
|
||||
case 0x0FD: // 15
|
||||
conflict(name, (i != null) ? i.getDirCacheEntry() : null, h, m);
|
||||
conflict(name, dce, h, m);
|
||||
break;
|
||||
case 0xFDF: // 7 8 9
|
||||
if (equalIdAndMode(hId, hMode, mId, mMode)) {
|
||||
if (isModified(name))
|
||||
conflict(name, i.getDirCacheEntry(), h, m); // 8
|
||||
conflict(name, dce, h, m); // 8
|
||||
else
|
||||
update(name, mId, mMode); // 7
|
||||
} else if (!isModified(name))
|
||||
update(name, mId, mMode); // 9
|
||||
else
|
||||
// To be confirmed - this case is not in the table.
|
||||
conflict(name, i.getDirCacheEntry(), h, m);
|
||||
conflict(name, dce, h, m);
|
||||
break;
|
||||
case 0xFD0: // keep without a rule
|
||||
keep(i.getDirCacheEntry());
|
||||
keep(dce);
|
||||
break;
|
||||
case 0xFFD: // 12 13 14
|
||||
if (equalIdAndMode(hId, hMode, iId, iMode)) {
|
||||
dce = i.getDirCacheEntry();
|
||||
if (equalIdAndMode(hId, hMode, iId, iMode))
|
||||
if (f == null || f.isModified(dce, true))
|
||||
conflict(name, dce, h, m);
|
||||
else
|
||||
remove(name);
|
||||
} else
|
||||
conflict(name, i.getDirCacheEntry(), h, m);
|
||||
else
|
||||
conflict(name, dce, h, m);
|
||||
break;
|
||||
case 0x0DF: // 16 17
|
||||
if (!isModified(name))
|
||||
update(name, mId, mMode);
|
||||
else
|
||||
conflict(name, i.getDirCacheEntry(), h, m);
|
||||
conflict(name, dce, h, m);
|
||||
break;
|
||||
default:
|
||||
keep(i.getDirCacheEntry());
|
||||
keep(dce);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -707,7 +706,6 @@ else if (m == null)
|
|||
else
|
||||
update(name, mId, mMode); // 3
|
||||
} else {
|
||||
dce = i.getDirCacheEntry();
|
||||
if (h == null) {
|
||||
/**
|
||||
* <pre>
|
||||
|
@ -747,7 +745,7 @@ else if (m == null)
|
|||
* </pre>
|
||||
*/
|
||||
|
||||
if (dce.getFileMode() == FileMode.GITLINK) {
|
||||
if (iMode == FileMode.GITLINK) {
|
||||
// Submodules that disappear from the checkout must
|
||||
// be removed from the index, but not deleted from disk.
|
||||
remove(name);
|
||||
|
|
Loading…
Reference in New Issue