Add an --only flag to disable features by default

Review Request #10181 — Created Sept. 25, 2018 and submitted

Information

Review Board
release-2.5.x
d39551f...

Reviewers

Our previous workflow for running a specific set of prepare-dev.py was
to to pass an argument for each section we did not want to run. e.g., to
run only the dependency installation, you would run:

./contrib/internal/prepare-dev.py --no-db --no-media.

That is, each action was enabled by default and you had to disable
everything you didn't want to run. As more features get added to
prepare-dev.py, it becomes less user friendly to force the user to
specify the complement of the features that they don't want to run.

Now we have an --only option which inverts our usual behaviour. In
other words, to run only the dependency installation as above, you
would run

./contrib/internal/prepare-dev.py --only --deps

This allows the user to more easily specify and run a minimal part of
prepare-dev.py's actions, as opposed to the old behaviour which
assumed you wanted to run a maximal part of its actions.

Ran ./contrib/internal/prepare-dev.py --only --deps and only deps
were installed.

Description From Last Updated

Typo in summary: feautres

daviddavid

Typos in description: depenency compliment installtion

daviddavid

Can you do one per line? Same below.

chipx86chipx86

I feel like this could be a bit more specific in its behavior. How about: Disable all features by default …

chipx86chipx86
brennie
david
  1. 
      
  2. Show all issues

    Typo in summary: feautres

  3. 
      
brennie
david
  1. Ship It!

  2. 
      
david
  1. 
      
  2. Show all issues

    Typos in description:

    depenency
    compliment
    installtion

  3. 
      
brennie
chipx86
  1. 
      
  2. contrib/internal/prepare-dev.py (Diff revision 2)
     
     
    Show all issues

    Can you do one per line?

    Same below.

  3. contrib/internal/prepare-dev.py (Diff revision 2)
     
     
     
     
    Show all issues

    I feel like this could be a bit more specific in its behavior. How about:

    Disable all features by default (implying --no-* for each option) unless specifically enabled (.e.g, --media --deps)

  4. 
      
brennie
david
  1. Ship It!
  2. 
      
brennie
Review request changed
Status:
Completed
Change Summary:
Pushed to release-2.5.x (7878cec)