Hello all,

The newt tool supports three "project commands":

* install
* upgrade
* sync

I always have a hard time remembering the particulars of commands like
these.  For example, when other package management systems support both
"update" and "upgrade", I inevitably mix them up.  I propose we remove
"install" and "sync", reducing the list to just one command.

First, here is a refresher for each of these three commands:

INSTALL: Downloads repos that aren't installed yet.  The downloaded
version matches what `project.yml` specifies.

UPGRADE: Performs an INSTALL, and then ensures the installed version of
each repo matches what `project.yml` specifies.  This is similar to
INSTALL, but it also operates on already-installed repos.

SYNC: Fetches and pulls the latest for each repo, but does not change
the branch (version).  Only necessary for Mynewt repo versions that
point to a git branch (e.g., 0.0.0 usually points to "master").

The distinction between these commands is somewhat subtle, so please
ask if it isn't clear.

I would like to remove INSTALL and SYNC.  I propose we do this as
follows:

A. Remove SYNC:
A recent newt change allows us to deprecate SYNC:
https://github.com/apache/mynewt-newt/pull/312.  With this change,
`newt upgrade` always grabs the latest commit for repos with
branch-versions.  So UPGRADE now subsumes SYNC.

B. Remove INSTALL:
I have never found the INSTALL to be very useful.  I find it easier to
simply use UPGRADE instead.  It's just my experience, but there is never
a time when I want to install new repos without updating existing ones.
If you don't want to upgrade existing repos, then you can just not
change their versions in `project.yml`.

Alternatively, we don't have to go so far as to deprecate and remove
these commands.  We could keep them, but just make them synonyms for
`upgrade`.  This is a less disruptive option.

So I see three options:

1. Change nothing.
2. Make "install" and "sync" synonyms for "upgrade".
3. Deprecate "install" and "sync"

My vote is for 3, but I would be happy with 2.

Thoughts?

Chris

Reply via email to