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

Reply via email to