Skip to content
Snippets Groups Projects
  1. Feb 06, 2014
    • Mads Kiilerich's avatar
      discovery: improve "note: unsynced remote changes!" warning · 8a9e0b523d2d
      Mads Kiilerich authored
      This message frequently caused confusion. "unsynced" is not a well established
      user-facing concept in Mercurial and the message was not very specific or
      helpful.
      
      Instead, show a message like:
        remote has heads on branch 'default' that are not known locally: 6c0482d977a3
      
      This message will also (when relevant) be shown before aborting on "push
      creates new remote head".
      
      A similar (but actually very different) message was addressed in 6b618aa08b6e.
      8a9e0b523d2d
  2. Feb 12, 2014
    • Pierre-Yves David's avatar
      import: move tryone closure in cmdutil · ce3f3082ec45
      Pierre-Yves David authored
      We extract the `tryone` function into the `cmdutil` module. A lot of the command
      context have to be passed to the utility function, but having and explicit
      declaration will allow extension to wrap it. This will allows use to make
      changeset evolution related experiment in dedicated extension.
      
      Improving the API of this function is noble goal but outside of the scope of
      this patches.
      ce3f3082ec45
  3. Feb 13, 2014
  4. Feb 12, 2014
  5. Jan 17, 2014
  6. Feb 13, 2014
  7. Jan 31, 2014
    • Pierre-Yves David's avatar
      pull: move changeset pulling in its own function · 7b5ec1c7e8e2
      Pierre-Yves David authored
      pull: move changeset pulling in its own function
      
      Now that every necessary information is held in the `pulloperation` object, we
      can finally extract the changeset pulling to it's own function.
      
      This changeset is pure code movement only.
      7b5ec1c7e8e2
  8. Feb 11, 2014
    • Pierre-Yves David's avatar
      pull: move `fetch` subset into the object · 76e66654f74e
      Pierre-Yves David authored
      Tree discovey use a `fetch` variable to know what is being pulled. We move this
      information in the `pulloperation` object. This make it possible to extract the
      changeset pulling logic into its own function.
      76e66654f74e
  9. Jan 31, 2014
    • Pierre-Yves David's avatar
      pull: make pulled subset a propertycache of the pull object · f715cc0b5107
      Pierre-Yves David authored
      The computation of the subset is simple operation using two useful pull
      information (1) the set of common changeset before the pull (2) the set of
      pulled changeset. We move this data into the `pulloperation` object since some
      phase will need them. And we turn the pulled subset computation behind a
      property case as multiple pull phase will need it.
      f715cc0b5107
    • Pierre-Yves David's avatar
      pull: move phases synchronisation in its own function · 0c469df6e914
      Pierre-Yves David authored
      Now that every necessary information is held in the `pulloperation` object, we
      can finally extract the phase synchronisation phase to it's own function.
      
      This changeset is pure code movement only.
      0c469df6e914
    • Pierre-Yves David's avatar
      pull: move pulled subset into the object · de2544933139
      Pierre-Yves David authored
      We compute the set of local changeset that were target of the pull. This is then
      used by phases logic to decide which part of the history should have it phase
      updated.
      
      We move this information into the object to allow extraction of phase
      synchronisation in its own function.
      
      I expect obsolete marker exchange to use it too in the future.
      de2544933139
  10. Feb 06, 2014
  11. Feb 12, 2014
  12. Feb 06, 2014
  13. Jan 31, 2014
    • Pierre-Yves David's avatar
      push: feed pulloperation object to _pullobsolete function · 80628d4069be
      Pierre-Yves David authored
      We now have all necessary information in the `pulloperation` object itself.
      80628d4069be
    • Pierre-Yves David's avatar
      pull: move transaction logic into the pull object · 2607a21bb40b
      Pierre-Yves David authored
      Most local change that occurs during a pull are doing within a `transaction`.
      Currently this mean (1) adding new changeset (2) adding obsolescence markers. We
      want the two operations to be done in the same transaction. However we do not
      want to create a transaction if nothing is added to the repo. Creating an empty
      transaction would drop the previous transaction data and confuse tool and people
      who are still using rollback.
      
      So the current pull code has some logic to create and handle this transaction on
      demand. We are moving this logic in to the `pulloperation` object itself to
      simplify this lazy creation logic through all different par of the push.
      
      Note that, in the future, other part of pull (phases, bookmark) will probably
      want to be part of the transaction too.
      2607a21bb40b
    • Pierre-Yves David's avatar
      pull: move obsolescence marker exchange in the exchange module · 1180c6ec5695
      Pierre-Yves David authored
      The obsolescence marker exchange code was already extracted during a previous
      cycle. We are moving the extracted functio in this module. This function will
      read and write data in the `pulloperation` object and I prefer to have all core
      function collaborating through this object in the same place.
      
      This changeset is pure code movement only. Code change for direct consumption of
      the `pulloperation` object will come later.
      1180c6ec5695
  14. Feb 01, 2014
  15. Jan 31, 2014
  16. Jan 27, 2014
  17. Feb 12, 2014
  18. Jan 31, 2014
    • Pierre-Yves David's avatar
      exchange: extract pull function from localrepo · 6b4c789d618d
      Pierre-Yves David authored
      The localrepo class if far too big. Push and pull logic are extracted and
      reworked to better fit with the fact we exchange more than bundle now.
      
      This changeset extract the pulh code. later changeset will slowly slice it into
      smaller brick.
      
      The localrepo.pull method is kept for now to limit impact on user code. But it
      will be ultimately removed, now that the public API is hold by peer.
      6b4c789d618d
    • Pierre-Yves David's avatar
      push: extract new common set computation from phase synchronisation · 7d0bbb6dd730
      Pierre-Yves David authored
      Now that every necessary information is held in the `pushoperation` object, we
      can extract the new common set computation to it's own function.
      
      This changeset is pure code movement only.
      7d0bbb6dd730
    • Pierre-Yves David's avatar
      push: move `commonheads` into the push object · ef880ced6d07
      Pierre-Yves David authored
      The phase synchronisation start by computing the new set of common head between
      local and remote and then do the phase synchronisation on this set. This new
      common set logic will eventually be used by the obsolescence markers exchange.
      So we are going to split the long phase synchronisation in two.
      ef880ced6d07
    • Pierre-Yves David's avatar
      push: move discovery in its own function · 233623d58c9a
      Pierre-Yves David authored
      Now that every necessary information is held in the `pushoperation` object, we
      can extract the discovery logic to it's own function.
      
      This changeset is pure code movement only.
      233623d58c9a
    • Pierre-Yves David's avatar
      push: move outgoing check logic in its own function · 170f71061069
      Pierre-Yves David authored
      Now that every necessary information is held in the `pushoperation` object, we
      can extract the part responsible of aborting the push to it's own function.
      
      This changeset is mostly pure code movement. the exception is the fact this
      function returns a value to decide if changeset bundle should be pushed.
      170f71061069
    • Pierre-Yves David's avatar
      push: move `incoming` into the push object · d032417db243
      Pierre-Yves David authored
      The fact that there is some unknown changes on remote one of the result of
      discovery. It is then used by some push validation logic.
      
      We move it in the object to be able to extract the said logic.
      d032417db243
    • Pierre-Yves David's avatar
      push: move changeset push logic in its own function · f1b532a310e4
      Pierre-Yves David authored
      Now that every necessary information is held in the `pushoperation` object, we
      can extract the logic pushing changeset  to it's own function.
      
      This changeset is pure code movement only.
      f1b532a310e4
    • Pierre-Yves David's avatar
      push: move `remoteheads` into the push object · 0031ef5df586
      Pierre-Yves David authored
      The heads of the remote repository are used to detect race when pushing
      changeset. We now store this information in `pushoperation` object  to allow
      extraction of the changeset pushing part.
      0031ef5df586
Loading