Hi Chris, Yes! I'm also for option 3. Lets deprecate for next (1.8) release (make those print proper warning info when used) and just remove for 1.9.
On Mon, 5 Aug 2019 at 18:47, Christopher Collins <ch...@runtime.io> wrote: > 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 > -- pozdrawiam Szymon K. Janc