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