Skip to content
Snippets Groups Projects
  1. Dec 06, 2021
  2. Dec 09, 2021
    • Simon Sapin's avatar
      rhg: Set second_ambiguous as needed in post-status fixup · 112184713852
      Simon Sapin authored
      This fixes an intermittent bug that manifested only in test-revert.t,
      and unfortunately not on CI. On a fast enough machine we could have:
      
      1. A file is modified
      2. `rhg status` writes an updated dirstate-v1
      3. The same file is modified again
      
      … all within the same integer second. Because the dirstate-v1 file format
      does not store sub-second precision, step 2 must write the file’s mtime
      as "unknown" because of the possibility of step 3.
      
      However, most of the code now handles timestamps with nanosecond precision
      in order to take advantage of it in dirstate-v2. `second_ambiguous` must
      be set for timestamps that become ambiguous if sub-second precision is dropped
      (such as through serialization in dirstate-v1 format).
      
      Differential Revision: https://phab.mercurial-scm.org/D11889
      112184713852
    • Simon Sapin's avatar
      dirstate: Document Timestamp.second_ambiguous · c8ca21962ff4
      Simon Sapin authored
      Differential Revision: https://phab.mercurial-scm.org/D11888
      c8ca21962ff4
  3. Dec 07, 2021
  4. Dec 08, 2021
  5. Dec 06, 2021
  6. Dec 07, 2021
  7. Dec 06, 2021
  8. Dec 04, 2021
  9. Dec 03, 2021
  10. Dec 04, 2021
  11. Nov 30, 2021
  12. Nov 25, 2021
  13. Nov 26, 2021
  14. Dec 07, 2021
  15. Nov 25, 2021
  16. Dec 02, 2021
  17. Nov 29, 2021
  18. Mar 22, 2021
  19. Nov 29, 2021
  20. Nov 26, 2021
  21. Dec 03, 2021
  22. Dec 06, 2021
  23. Dec 04, 2021
  24. Nov 16, 2021
    • Arseniy Alekseyev's avatar
      rhg: add support for narrow clones and sparse checkouts · 005ae1a343f8
      Arseniy Alekseyev authored
      This adds a minimal support that can be implemented without parsing the narrowspec.
      We can parse the narrowspec and add support for more operations later.
      
      The reason we need so few code changes is as follows:
      
      Most operations need no special treatment of sparse because
      some of them only read dirstate (`rhg files` without `-r`),
      which bakes in the filtering,
      some of them only read store (`rhg files -r`, `rhg cat`),
      and some of them read no data at all (`rhg root`, `rhg debugrequirements`).
      
      `status` is the command that might care about sparse, so we just disable
      rhg on it.
      
      For narrow clones, `rhg files` clearly needs the narrowspec to work
      correctly, so we fall back.
      `rhg cat` seems to work consistently with `hg cat` if the file exists.
      If the file is hidden by narrow spec, the error message is different and confusing, so
      that's something that we should improve in follow-up patches.
      
      Differential Revision: https://phab.mercurial-scm.org/D11764
      005ae1a343f8
  25. Dec 03, 2021
Loading