update: clarify docs
diff --git a/alldocs.go b/alldocs.go index 1461e7d..293e44b 100644 --- a/alldocs.go +++ b/alldocs.go
@@ -67,21 +67,21 @@ Update a local dependency Usage: - gvt update [-all] import + gvt update [ -all | importpath ] -update will replaces the source with the latest available from the head of the master branch. +update replaces the source with the latest available from the head of the fetched branch. -Updating from one copy of a dependency to another comes with several restrictions. -The first is you can only update to the head of the branch your dependency was vendored from, switching branches is not supported. -The second restriction is if you have used -tag or -revision while vendoring a dependency, your dependency is "headless" -(to borrow a term from git) and cannot be updated. +Updating from one copy of a dependency to another is ONLY possible when the +dependency was fetched by branch, without using -tag or -revision. It will be +updated to the HEAD of that branch, switching branches is not supported. -To update across branches, or from one tag/revision to another, you must first use delete to remove the dependency, then -fetch [-tag | -revision | -branch ] [-precaire] to replace it. +To update across branches, or from one tag/revision to another, you must first +use delete to remove the dependency, then fetch [ -tag | -revision | -branch ] +to replace it. Flags: -all - will update all dependencies in the manifest, otherwise only the dependency supplied. + update all dependencies in the manifest. -precaire allow the use of insecure protocols.
diff --git a/update.go b/update.go index a7d4d43..41b2fa4 100644 --- a/update.go +++ b/update.go
@@ -21,30 +21,30 @@ var cmdUpdate = &Command{ Name: "update", - UsageLine: "update [-all] import", + UsageLine: "update [ -all | importpath ]", Short: "update a local dependency", - Long: `update will replaces the source with the latest available from the head of the master branch. + Long: `update replaces the source with the latest available from the head of the fetched branch. -Updating from one copy of a dependency to another comes with several restrictions. -The first is you can only update to the head of the branch your dependency was vendored from, switching branches is not supported. -The second restriction is if you have used -tag or -revision while vendoring a dependency, your dependency is "headless" -(to borrow a term from git) and cannot be updated. +Updating from one copy of a dependency to another is ONLY possible when the +dependency was fetched by branch, without using -tag or -revision. It will be +updated to the HEAD of that branch, switching branches is not supported. -To update across branches, or from one tag/revision to another, you must first use delete to remove the dependency, then -fetch [-tag | -revision | -branch ] [-precaire] to replace it. +To update across branches, or from one tag/revision to another, you must first +use delete to remove the dependency, then fetch [ -tag | -revision | -branch ] +to replace it. Flags: -all - will update all dependencies in the manifest, otherwise only the dependency supplied. + update all dependencies in the manifest. -precaire allow the use of insecure protocols. `, Run: func(args []string) error { if len(args) != 1 && !updateAll { - return fmt.Errorf("update: import path or --all flag is missing") + return fmt.Errorf("update: import path or -all flag is missing") } else if len(args) == 1 && updateAll { - return fmt.Errorf("update: you cannot specify path and --all flag at once") + return fmt.Errorf("update: you cannot specify path and -all flag at once") } m, err := vendor.ReadManifest(manifestFile())