Skip to content
  • Georges Racinet's avatar
    Fully native mode: feature flags and `Project#hgitaly1?` · 25538af903cb
    Georges Racinet authored
    Following the examples from
    https://docs.gitlab.com/ce/development/feature_flags/index.html,
    we are introducing two feature flags:
    
    - `hg_fully_native` will be used to switch the whole instance
      to the fully native mode to be developped (HGitaly2 milestone).
    - `hgitaly1_fallback` will be used to get back for a specific project
      to the partial native mode of HGitaly1
    
    The evaluation is done relative to the whole instance or the project.
    Setting these feature flags for a group does nothing. This should
    be good enough for our progressive testing strategy. The documentation
    also warns against using several actors for one feature flag, hence
    we would need a third one to introduce group-level control.
    
    The convenience method `hgitaly1?` on the Project model provides
    a uniform way to know if the project is a Mercurial native one, running
    in HGitaly1 mode. To that end, it combines the `vcs_type` field and
    the feature flag, so that the result is meaningful...
    25538af903cb