<p dir="auto">I would think that the right thing to do here is to silently carry on, if there is no upstream tracking branch than there is nothing to update.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ERROR: Update finished with errors.
=&gt; Package MXNet cannot be updated.
GitError(Code:ERROR, Class:Merge, There is no tracking information for the current branch.)
 in #123 at ./libgit2/libgit2.jl:414 [inlined]
 in with(::Base.LibGit2.##123#128{Base.LibGit2.GitRepo}, ::Void) at ./libgit2/types.jl:638
 in (::Base.LibGit2.##119#124{String,String,Bool,Base.LibGit2.MergeOptions,Base.LibGit2.CheckoutOptions,Base.LibGit2.GitRepo})(::Base.LibGit2.GitReference) at ./libgit2/libgit2.jl:412
 in with(::Base.LibGit2.##119#124{String,String,Bool,Base.LibGit2.MergeOptions,Base.LibGit2.CheckoutOptions,Base.LibGit2.GitRepo}, ::Base.LibGit2.GitReference) at ./libgit2/types.jl:638
 in (::Base.#kw##merge!)(::Array{Any,1}, ::Base.#merge!, ::Base.LibGit2.GitRepo) at ./&lt;missing&gt;:0
 in (::Base.Pkg.Entry.##39#45{CompositeException})(::Base.LibGit2.GitRepo) at ./pkg/entry.jl:428
 in with(::Base.Pkg.Entry.##39#45{CompositeException}, ::Base.LibGit2.GitRepo) at ./libgit2/types.jl:638
 in update(::String, ::Set{String}) at ./pkg/entry.jl:416
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}})() at ./pkg/dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at ./file.jl:59
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at ./pkg/dir.jl:31
 in update() at ./pkg/pkg.jl:210
 in eval(::Module, ::Any) at ./boot.jl:234
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
 in macro expansion at ./REPL.jl:97 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:68
 in update(::String, ::Set{String}) at ./pkg/entry.jl:463
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}})() at ./pkg/dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at ./file.jl:59
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at ./pkg/dir.jl:31
 in update() at ./pkg/pkg.jl:210"><pre class="notranslate"><code class="notranslate">ERROR: Update finished with errors.
=&gt; Package MXNet cannot be updated.
GitError(Code:ERROR, Class:Merge, There is no tracking information for the current branch.)
 in #123 at ./libgit2/libgit2.jl:414 [inlined]
 in with(::Base.LibGit2.##123#128{Base.LibGit2.GitRepo}, ::Void) at ./libgit2/types.jl:638
 in (::Base.LibGit2.##119#124{String,String,Bool,Base.LibGit2.MergeOptions,Base.LibGit2.CheckoutOptions,Base.LibGit2.GitRepo})(::Base.LibGit2.GitReference) at ./libgit2/libgit2.jl:412
 in with(::Base.LibGit2.##119#124{String,String,Bool,Base.LibGit2.MergeOptions,Base.LibGit2.CheckoutOptions,Base.LibGit2.GitRepo}, ::Base.LibGit2.GitReference) at ./libgit2/types.jl:638
 in (::Base.#kw##merge!)(::Array{Any,1}, ::Base.#merge!, ::Base.LibGit2.GitRepo) at ./&lt;missing&gt;:0
 in (::Base.Pkg.Entry.##39#45{CompositeException})(::Base.LibGit2.GitRepo) at ./pkg/entry.jl:428
 in with(::Base.Pkg.Entry.##39#45{CompositeException}, ::Base.LibGit2.GitRepo) at ./libgit2/types.jl:638
 in update(::String, ::Set{String}) at ./pkg/entry.jl:416
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}})() at ./pkg/dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at ./file.jl:59
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at ./pkg/dir.jl:31
 in update() at ./pkg/pkg.jl:210
 in eval(::Module, ::Any) at ./boot.jl:234
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
 in macro expansion at ./REPL.jl:97 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:68
 in update(::String, ::Set{String}) at ./pkg/entry.jl:463
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}})() at ./pkg/dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#update,Tuple{String,Set{String}}}, ::String) at ./file.jl:59
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{Any,N}) at ./pkg/dir.jl:31
 in update() at ./pkg/pkg.jl:210
</code></pre></div>
<p dir="auto">Starting from a tagged version:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; Pkg.checkout(&quot;TaylorSeries&quot;, &quot;warningsv05&quot;)
INFO: Checking out TaylorSeries warningsv05...
ERROR: GitError(Code:ERROR, Class:Merge, There is no tracking information for the current branch.)"><pre class="notranslate"><code class="notranslate">julia&gt; Pkg.checkout("TaylorSeries", "warningsv05")
INFO: Checking out TaylorSeries warningsv05...
ERROR: GitError(Code:ERROR, Class:Merge, There is no tracking information for the current branch.)
</code></pre></div>
<p dir="auto">but this works if <code class="notranslate">master</code> is <code class="notranslate">checkout</code>ed first.</p>