DirCacheEntry: UPDATE_NEEDED should be in-core flag.
In correspondance to CGit, UPDATE_NEEDED flag should not be written to disk. Furthermore, it currently intersects CGit's CE_EXTENDED flag.
This commit is contained in:
parent
6517a7c923
commit
2eb5426aa9
|
@ -116,7 +116,8 @@ public class DirCacheEntry {
|
|||
|
||||
private static final int ASSUME_VALID = 0x80;
|
||||
|
||||
private static final int UPDATE_NEEDED = 0x40;
|
||||
/** In-core flag signaling that the entry should be considered as modified. */
|
||||
private static final int UPDATE_NEEDED = 0x1;
|
||||
|
||||
/** (Possibly shared) header information storage. */
|
||||
private final byte[] info;
|
||||
|
@ -127,6 +128,9 @@ public class DirCacheEntry {
|
|||
/** Our encoded path name, from the root of the repository. */
|
||||
final byte[] path;
|
||||
|
||||
/** Flags which are never stored to disk. */
|
||||
private byte inCoreFlags;
|
||||
|
||||
DirCacheEntry(final byte[] sharedInfo, final int infoAt,
|
||||
final InputStream in, final MessageDigest md) throws IOException {
|
||||
info = sharedInfo;
|
||||
|
@ -370,7 +374,7 @@ public void setAssumeValid(final boolean assume) {
|
|||
* @return true if this entry should be checked for changes
|
||||
*/
|
||||
public boolean isUpdateNeeded() {
|
||||
return (info[infoOffset + P_FLAGS] & UPDATE_NEEDED) != 0;
|
||||
return (inCoreFlags & UPDATE_NEEDED) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -380,9 +384,9 @@ public boolean isUpdateNeeded() {
|
|||
*/
|
||||
public void setUpdateNeeded(boolean updateNeeded) {
|
||||
if (updateNeeded)
|
||||
info[infoOffset + P_FLAGS] |= UPDATE_NEEDED;
|
||||
inCoreFlags |= UPDATE_NEEDED;
|
||||
else
|
||||
info[infoOffset + P_FLAGS] &= ~UPDATE_NEEDED;
|
||||
inCoreFlags &= ~UPDATE_NEEDED;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue