aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-07-28 17:38:19 +0200
committerLudovic Courtès <ludo@gnu.org>2017-08-02 00:04:00 +0200
commit59a16275189f55ddd692b0ea5b415c706fa1fd69 (patch)
treea4df38ed0673dc57da7cd168092b2f25feb7492f /doc/guix.texi
parent7441f1dbd77b09f6170858795bc7deea6280b972 (diff)
downloadgnu-guix-59a16275189f55ddd692b0ea5b415c706fa1fd69.tar
gnu-guix-59a16275189f55ddd692b0ea5b415c706fa1fd69.tar.gz
pull: Fetch source code from Git.
* guix/scripts/pull.scm (%snapshot-url, with-environment-variable) (with-PATH): Remove. (ensure-guile-git!): New procedure. (%repository-url): New variable. (%default-options): Add 'repository-url' and 'ref'. (show-help, %options): Add '--commit' and '--url'. (temporary-directory, first-directory, interned-then-deleted) (unpack): Remove. (build-from-source): Rename 'tarball' to 'source'. Remove call to 'unpack'. (build-and-install): Rename 'tarball' to 'source'. (honor-lets-encrypt-certificates!, report-git-error): New procedures. (with-git-error-handling): New macro. (guix-pull)[fetch-tarball]: Remove. Wrap body in 'with-git-error-handling'. Rewrite to use 'latest-repository-commit'. * build-aux/build-self.scm (build): Print an error message and exit when GUILE-GIT is #f. * doc/guix.texi (Invoking guix pull): Mention Git. Document '--commit' and '--branch'.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi25
1 files changed, 10 insertions, 15 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 7957565e85..0ea677387b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2477,7 +2477,8 @@ Packages are installed or upgraded to the latest version available in
the distribution currently available on your local machine. To update
that distribution, along with the Guix tools, you must run @command{guix
pull}: the command downloads the latest Guix source code and package
-descriptions, and deploys it.
+descriptions, and deploys it. Source code is downloaded from a
+@uref{https://git-scm.com, Git} repository.
On completion, @command{guix package} will use packages and package
versions from this just-retrieved copy of Guix. Not only that, but all
@@ -2503,24 +2504,18 @@ but it supports the following options:
Produce verbose output, writing build logs to the standard error output.
@item --url=@var{url}
-Download the source tarball of Guix from @var{url}.
+Download Guix from the Git repository at @var{url}.
-By default, the tarball is taken from its canonical address at
+By default, the source is taken from its canonical Git repository at
@code{gnu.org}, for the stable branch of Guix.
-With some Git servers, this can be used to deploy any version of Guix.
-For example, to download and deploy version 0.12.0 of Guix from the
-canonical Git repo:
-
-@example
-guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.12.0.tar.gz
-@end example
-
-It can also be used to deploy arbitrary Git revisions:
+@item --commit=@var{commit}
+Deploy @var{commit}, a valid Git commit ID represented as a hexadecimal
+string.
-@example
-guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/74d862e8a.tar.gz
-@end example
+@item --branch=@var{branch}
+Deploy the tip of @var{branch}, the name of a Git branch available on
+the repository at @var{url}.
@item --bootstrap
Use the bootstrap Guile to build the latest Guix. This option is only