mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
fcfe9a451e
Summary: This diff contains proposal for basic rebase model for new checkout. This diff introduces two types of file changes - basic no conflict Actions(that will replace CheckoutPlan actions) and ConflictAction for actions that contain conflicts No conflict actions are produced when comparing two manifests Conflict actions can be produced when rebasing manifests. Eventually we will adjust checkout code to take either list of Actions or Conflict actions and perform corresponding operations on the file. Rebase::rebase is used to generate list of conflict actions when rebasing. Currently `Rebase::rebase` produces list of actions on top of 'base' commit. Before doing actual checkout we will need to take into account what current commit is and adjust this list of actions accordingly (however, this adjustment will be trivial, it won't produce more conflicts) After getting adjusted list of actions, checkout code can roll it out to fs and call merge drivers if needed. In the future, if we will want to allow check in conflicts, we will need to adjust `Rebase::resolve_conflict` to take `ConflictAction` as input, instead of an Action. Reviewed By: DurhamG Differential Revision: D27028001 fbshipit-source-id: b02b7ad8030fcf146b53639d69e66fdc8f38a62d |
||
---|---|---|
.. | ||
hgdemandimport | ||
hgext | ||
mercurial | ||
__init__.py | ||
__main__.py | ||
hooks.py | ||
traceimport.py | ||
tracing.py |