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. |