Skip to content
Snippets Groups Projects
  1. May 31, 2023
  2. May 24, 2023
    • Pierre-Yves David's avatar
      rewrite: simplify the `retained_extras` extra logic · cbcbf63b
      Pierre-Yves David authored
      First, we move the definition of value outside of the rebase extensions, as this
      apply to all rebase-like operation and some live in other place (like evolve).
      
      Second we make it a simple set, so that it is easy for an extension to add a new
      value in it.
      
      Third, we move the associated logic in core too. That make it easily available
      to other extensions.
      
      Fourth we simplify it usage, as the verbose version of the filtering is just a
      handful on line long, we are just going to test all the value for updates, so
      the Projection overlay is not bringing much here.
      
      Note that, we make it a module level set, is a key is worth preserving it is
      probably worth preserving in all cases. This was already the behavior prior to
      this change.
      cbcbf63b
  3. May 29, 2023
    • Pierre-Yves David's avatar
      stream-clone: smoothly detect and handle a case were a revlog is split · 54604240
      Pierre-Yves David authored
      This detect and handle the most common case for a race condition around stream
      and revlog splitting. The one were the revlog is split between the initial
      collection of data and the time were we start considering stream that data.
      
      In such case, we repatch an inlined version of that revlog together when this
      happens. This is necessary as stream-v2 promised a specific number of bytes and
      a specific number of files to the client. In stream-v3, we will have the
      opportunity to just send a split revlog instead.
      
      Getting a better version of the protocol for stream-v3 is still useful, but it
      is no longer a blocket to fix that race condition.
      
      Note that another, rarer race condition exist, were the revlog is split while
      we creating the revlog and extracing content from it. This can be dealt with
      later.
      54604240
    • Pierre-Yves David's avatar
      stream-clone: implement decidated `get_streams` method for revlog · 9caa860d
      Pierre-Yves David authored
      For revlog, we can do better using the maximum linkrev expected. This approach
      open the way to dealing with a much larger set of non-trivial changes, like
      splitting of inline revlogs.
      
      We will actually tackle this issue in the next changesets (thanks to this one).
      9caa860d
  4. May 28, 2023
  5. May 29, 2023
  6. May 28, 2023
    • Pierre-Yves David's avatar
      revlog: add a `get_revlog` method · 32837c7e
      Pierre-Yves David authored
      This might seen weird, but I actually thing we have been needing this for a
      long time. There is multiple object that kind of pretend being revlogs while
      actually wrapping the actual revlog. Since multiple code needs to access the
      actuel revlog. See documentation for more details.
      
      Expect cleanup of various places one the current series is done.
      32837c7e
  7. May 29, 2023
  8. May 28, 2023
  9. May 29, 2023
  10. May 28, 2023
  11. May 27, 2023
  12. May 29, 2023
  13. May 27, 2023
  14. May 29, 2023
  15. May 28, 2023
  16. May 29, 2023
  17. Feb 02, 2023
  18. Feb 03, 2023
  19. Feb 02, 2023
Loading