Skip to content
Snippets Groups Projects
  1. Sep 30, 2018
  2. Oct 01, 2018
  3. Nov 03, 2017
  4. Sep 30, 2018
  5. Sep 27, 2018
  6. Sep 22, 2018
    • Boris Feld's avatar
      obsolete: allow multiple predecessors in createmarkers · 6335c0de
      Boris Feld authored
      The logic for this change is similar to the change to `cleanupnodes` that we
      did earlier. Now that the rebase code is trying to record a fold, we need to
      actually record it in the markers. The first step is to have the markers
      creation API able to receive such fold data.
      
      To keep things sane, we restrict fold to on successors.
      6335c0de
  7. Sep 26, 2018
  8. Sep 30, 2018
  9. Sep 27, 2018
  10. Sep 29, 2018
  11. Sep 26, 2018
  12. Sep 29, 2018
  13. Sep 27, 2018
    • Boris Feld's avatar
      pullreport: rev duplicated and extinct into account · a89dd6d0
      Boris Feld authored
      If we already have some obsolete and hidden nodes locally and the server send
      them again to you, it seems useful to point it out instead of being silent about
      it.
      a89dd6d0
    • Boris Feld's avatar
      pullreport: issue a message about "extinct" pulled changesets · f9232b03
      Boris Feld authored
      Changeset pulled from a remote repository while already obsolete locally can
      end up hidden after the pull. Hiding obsolete changesets is a good behavior
      but silently "skipping" some of the pulled content can get confusing.
      
      We now detect this situation and emit a message about it. The message is
      simple and the wording could be improved, however, we focus on the detection
      here. Evolution is still an experimental feature, so the output is open to
      changes.
      
      In particular, we could point out at the latest successors of the obsolete
      changesets, however, it can get tricky is there are many of them. So we delay
      these improvements to another adventure.
      
      Another easy improvement would be to merge this message with the previous line
      about the new nodes and their phases.
      
      This is a good example of cases where we can only transmit a limited amount of
      data to users by default. We need some sort of "transaction journal" we could
      point the user to.
      f9232b03
    • Boris Feld's avatar
      pullreport: skip or rework some early return · b5e12039
      Boris Feld authored
      We are about to add more logic in this report. Before that, we need it to not
      quit so early.
      b5e12039
    • Boris Feld's avatar
      pullreport: skip filtered revs instead of obsolete ones · a477679f
      Boris Feld authored
      Obsolescence is closely related to visibility but still a distinct concept. We
      can receive changesets that are obsolete but visible (eg: when pulling
      orphans). Such changeset should be reported too. In addition, the filtering
      level can be anything, we should respect it.
      a477679f
    • Boris Feld's avatar
      pullreport: add a test to show misreporting of visible changeset · 642cbc22
      Boris Feld authored
      The current code ignores all obsolete changesets including the visible one. We
      add a test showing this behavior before fixing the behavior.
      642cbc22
  14. Sep 26, 2018
  15. Sep 27, 2018
  16. Sep 28, 2018
  17. Sep 27, 2018
    • Boris Feld's avatar
      scmutil: accept multiple predecessors in 'replacements' (API) · b9990353
      Boris Feld authored
      This changeset makes 'cleanupnodes' accepts multiple predecessors as
      `replacements` keys. The same as it accepts multiple successors as
      `replacements` values. To avoid breaking all callers, the old and new ways are
      currently valid at the same time. We'll deprecate and drop the old way later.
      
      This change is the first step toward a better tracking of "fold" event in the
      evolution history. While working on the "rewind" command (in the evolve
      extension), we realized that first class tracking of folds are necessary.
      
      We already have good tracking of splits. When walking the evolution history
      from predecessors to successors, that makes for a clear distinction between
      having multiple successors because of the actual splitting of a changeset or
      content-divergences.
      The "rewind" command allows restoring older evolution of a stack of
      changesets. One of its mode walks the evolution history to automatically find
      appropriate predecessors. This means walking from successors to predecessors.
      In this case, we need to be able to make the same distinction between an
      actual fold and other cases. So we will have to track folds explicitly.
      
      This changesets only focus on making it possible to express fold at the
      `cleanupnodes` API level. The actual tracking will be implemented later.
      b9990353
    • Boris Feld's avatar
      scmutil: expand long "one-liner" · 1c3f1491
      Boris Feld authored
      When a one-liner gets 3 lines longs, it loses its expressivity benefits. We
      expand it into a simple for loop. This makes future changes of the code in
      that area clearer.
      1c3f1491
  18. Sep 20, 2018
    • Boris Feld's avatar
      shelve: find shelvedctx from bundle even if they are already in the repo · d9ba836f
      Boris Feld authored
      We use the new "duplicates" node tracking to find the tip of the bundle even if
      it already exists in the repository.
      
      Such logic is not supposed to be needed in theory. If the shelve was made using
      internal-phase, we already know its node. Otherwise, the bundle content should
      have been stripped. However, handling it makes the shelve code more robust and
      provide a good example of "revduplicates" usage.
      d9ba836f
Loading