mercurial/helptext/internals/dirstate-v2.txt
changeset 48231 0524c1359bfc
parent 48219 308d9c245337
child 48232 f7fd629ffb98
equal deleted inserted replaced
48230:7ed0fc687220 48231:0524c1359bfc
   370   that represent files tracked in the working directory.
   370   that represent files tracked in the working directory.
   371   (For example, `hg rm` makes a file untracked.)
   371   (For example, `hg rm` makes a file untracked.)
   372   This counter is used to implement `has_tracked_dir`.
   372   This counter is used to implement `has_tracked_dir`.
   373 
   373 
   374 * Offset 30:
   374 * Offset 30:
   375   A single `flags` byte that packs some boolean values as bits.
   375   A `flags` fields  that packs some boolean values as bits of a 16-bit integer.
   376   Starting from least-significant, bit masks are::
   376   Starting from least-significant, bit masks are::
   377 
   377 
   378     WDIR_TRACKED = 1 << 0
   378     WDIR_TRACKED = 1 << 0
   379     P1_TRACKED = 1 << 1
   379     P1_TRACKED = 1 << 1
   380     P2_INFO = 1 << 2
   380     P2_INFO = 1 << 2
   382     HAS_MTIME = 1 << 4
   382     HAS_MTIME = 1 << 4
   383     MODE_EXEC_PERM = 1 << 5
   383     MODE_EXEC_PERM = 1 << 5
   384     MODE_IS_SYMLINK = 1 << 6
   384     MODE_IS_SYMLINK = 1 << 6
   385 
   385 
   386   The meaning of each bit is described below.
   386   The meaning of each bit is described below.
       
   387 
   387   Other bits are unset.
   388   Other bits are unset.
   388 
   389   They may be assigned meaning if the future,
   389 * Offset 31:
   390   with the limitation that Mercurial versions that pre-date such meaning
       
   391   will always reset those bits to unset when writing nodes.
       
   392   (A new node is written for any mutation in its subtree,
       
   393   leaving the bytes of the old node unreachable
       
   394   until the data file is rewritten entirely.)
       
   395 
       
   396 * Offset 32:
   390   A `size` field described below, as a 32-bit integer.
   397   A `size` field described below, as a 32-bit integer.
   391   Unlike in dirstate-v1, negative values are not used.
   398   Unlike in dirstate-v1, negative values are not used.
   392 
   399 
   393 * Offset 35:
   400 * Offset 36:
   394   The seconds component of an `mtime` field described below,
   401   The seconds component of an `mtime` field described below,
   395   as a 32-bit integer.
   402   as a 32-bit integer.
   396   Unlike in dirstate-v1, negative values are not used.
   403   Unlike in dirstate-v1, negative values are not used.
   397 
   404 
   398 * Offset 39:
   405 * Offset 40:
   399   The nanoseconds component of an `mtime` field described below,
   406   The nanoseconds component of an `mtime` field described below,
   400   as a 32-bit integer.
   407   as a 32-bit integer.
   401 
   408 
   402 * (Offset 43: end of this node)
   409 * (Offset 44: end of this node)
   403 
   410 
   404 The meaning of the boolean values packed in `flags` is:
   411 The meaning of the boolean values packed in `flags` is:
   405 
   412 
   406 `WDIR_TRACKED`
   413 `WDIR_TRACKED`
   407     Set if the working directory contains a tracked file at this node’s path.
   414     Set if the working directory contains a tracked file at this node’s path.