]> source.dussan.org Git - jgit.git/commitdiff
Add support for updateNeeded flag in DirCacheEntry 78/1078/2
authorMatthias Sohn <matthias.sohn@sap.com>
Wed, 7 Jul 2010 23:51:17 +0000 (01:51 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Fri, 9 Jul 2010 12:12:06 +0000 (14:12 +0200)
Change-Id: If06ff41d9ccd422afbc79ecbc3cfdf8bb2508dcd
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java

index 3a6941a6df3fbe98ad7ce0fdc48f3f1a1dbb34fa..7cb1472e46409472fcc4a18979f60c8682bc2ffb 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Copyright (C) 2008-2009, Google Inc.
  * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
+ * Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com>
  * and other copyright owners as documented in the project's IP log.
  *
  * This program and the accompanying materials are made available
@@ -114,6 +115,8 @@ public class DirCacheEntry {
 
        private static final int ASSUME_VALID = 0x80;
 
+       private static final int UPDATE_NEEDED = 0x40;
+
        /** (Possibly shared) header information storage. */
        private final byte[] info;
 
@@ -355,6 +358,25 @@ public class DirCacheEntry {
                        info[infoOffset + P_FLAGS] &= ~ASSUME_VALID;
        }
 
+       /**
+        * @return true if this entry should be checked for changes
+        */
+       public boolean isUpdateNeeded() {
+               return (info[infoOffset + P_FLAGS] & UPDATE_NEEDED) != 0;
+       }
+
+       /**
+        * Set whether this entry must be checked for changes
+        *
+        * @param updateNeeded
+        */
+       public void setUpdateNeeded(boolean updateNeeded) {
+               if (updateNeeded)
+                       info[infoOffset + P_FLAGS] |= UPDATE_NEEDED;
+               else
+                       info[infoOffset + P_FLAGS] &= ~UPDATE_NEEDED;
+       }
+
        /**
         * Get the stage of this entry.
         * <p>