aboutsummaryrefslogtreecommitdiff
path: root/guix/git.scm
Commit message (Collapse)AuthorAge
* git: Add an exception printer for 'git-error'.Ludovic Courtès2019-02-11
| | | | | * guix/git.scm (print-git-error): New procedure. <top level>: Call 'set-exception-printer!'.
* git: Always use the system certificates by default.Ludovic Courtès2019-02-08
| | | | | | | | | | | | 'guix pull' was always doing it, and now '--with-branch' & co. will do it as well. * guix/git.scm (honor-system-x509-certificates!): New procedure. (%certificates-initialized?): New variable. (with-libgit2): Add call to 'honor-system-x509-certificates!'. * guix/scripts/pull.scm (honor-x509-certificates): Call 'honor-system-x509-certificates!' and fall back to 'honor-lets-encrypt-certificates!'.
* git: Add a 'recursive?' field to <git-checkout> records.Ludovic Courtès2019-02-08
| | | | | | * guix/git.scm (<git-checkout>)[recursive?]: New field. (latest-repository-commit*): Add #:recursive? and honor it. (git-checkout-compiler): Honor the 'recursive?' field of CHECKOUT.
* git: Support recursive updates of submodules.Ludovic Courtès2019-02-08
| | | | | | | | | | | | * guix/git.scm: Autoload (git submodule). (url-cache-directory): Add #:recursive? and honor it. (call-with-repository): New procedure. (with-repository): New macro. (update-submodules): New procedure. (update-cached-checkout): Add #:recursive? and #:log-port and honor them. (latest-repository-commit): Add #:recursive? and honor it. [dot-git?]: Recognize ".git" regular files when RECURSIVE? is true.
* git: Nicely report '--with-commit' errors.Ludovic Courtès2018-11-30
| | | | | | | * guix/git.scm (latest-repository-commit*): Rewrite to catch 'git-error'. * po/guix/POTFILES.in: Add guix/git.scm. * tests/guix-build-branch.sh: Test --with-commit errors.
* guix build: Add '--with-commit'.Ludovic Courtès2018-11-30
| | | | | | | | | | | | | | * guix/git.scm (<git-checkout>)[commit]: New field. (git-checkout-compiler): Honor it. * guix/scripts/build.scm (evaluate-git-replacement-specs): Add 'proc' parameter and honor it. (transform-package-source-branch)[replace]: New procedure. Adjust 'evaluate-git-replacement-specs' accordingly. (transform-package-source-commit): New procedure. (%transformations, %transformation-options) (show-transformation-options-help): Add 'with-commit'. * tests/guix-build-branch.sh: Add test. * doc/guix.texi (Package Transformation Options): Document it.
* git: Add <git-checkout> record type.Ludovic Courtès2018-11-30
| | | | | | * guix/git.scm (<git-checkout>): New record type. (latest-repository-commit*): New procedure. (git-checkout-compiler): New gexp compiler.
* git: 'latest-repository-commit' logs its progress.Ludovic Courtès2018-11-30
| | | | * guix/git.scm (latest-repository-commit): Add #:log-port and honor it.
* git: Choose a saner default for '%repository-cache-directory'.Ludovic Courtès2018-09-17
| | | | | * guix/git.scm (%repository-cache-directory): Use 'cache-directory' by default unless running as root.
* git: Don't require users to specifiy "origin/" for branches.Ludovic Courtès2018-09-05
| | | | | | | | | | | Fixes <https://bugs.gnu.org/32618>. Reported by Eric Brown <brown@fastmail.com>. * guix/git.scm (update-cached-checkout): Remove "origin/" from default REF. Define CANONICAL-REF and use it instead of REF. (latest-repository-commit): Remove "origin/" from default REF. * guix/channels.scm (%default-channels): Remove "origin/" from 'branch'.
* Switch to Guile-Gcrypt.Ludovic Courtès2018-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes (guix hash) and (guix pk-crypto), which now live as part of Guile-Gcrypt (version 0.1.0.) * guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm, tests/hash.scm, tests/pk-crypto.scm: Remove. * configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and LIBGCRYPT_LIBDIR assignments. * m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove. * README: Add Guile-Gcrypt to the dependencies; move libgcrypt as "required unless --disable-daemon". * doc/guix.texi (Requirements): Likewise. * gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm, guix/git.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm, guix/import/gnu.scm, guix/import/hackage.scm, guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm, guix/pki.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/scripts/pack.scm, guix/scripts/publish.scm, guix/scripts/refresh.scm, guix/scripts/substitute.scm, guix/store.scm, guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm, tests/builders.scm, tests/challenge.scm, tests/cpan.scm, tests/crate.scm, tests/derivations.scm, tests/gem.scm, tests/nar.scm, tests/opam.scm, tests/pki.scm, tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm, tests/store.scm, tests/substitute.scm: Adjust imports. * gnu/system/vm.scm: Likewise. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (expression->derivation-in-linux-vm)[config]: Remove. (iso9660-image)[config]: Remove. (qemu-image)[config]: Remove. (system-docker-image)[config]: Remove. * guix/scripts/pack.scm: Adjust imports. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (self-contained-tarball)[build]: Call 'make-config.scm' without #:libgcrypt argument. (squashfs-image)[libgcrypt]: Remove. [build]: Call 'make-config.scm' without #:libgcrypt. (docker-image)[config, json]: Remove. [build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from the imported modules. * guix/self.scm (specification->package): Remove "libgcrypt", add "guile-gcrypt". (compiled-guix): Remove #:libgcrypt. [guile-gcrypt]: New variable. [dependencies]: Add it. [*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call. Add #:extensions. [*config*]: Remove #:libgcrypt from 'make-config.scm' call. (%dependency-variables): Remove %libgcrypt. (make-config.scm): Remove #:libgcrypt. * build-aux/build-self.scm (guile-gcrypt): New variable. (make-config.scm): Remove #:libgcrypt. (build-program)[fake-gcrypt-hash]: New variable. Add (gcrypt hash) to the imported modules. Adjust load path assignments. * gnu/packages/package-management.scm (guix)[propagated-inputs]: Add GUILE-GCRYPT. [arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search path.
* git: Call 'url-cache-directory' outside 'update-cached-checkout'.Oleg Pykhalov2018-07-13
| | | | | | * guix/git.scm (update-cached-checkout): Call 'url-cache-directory' in 'cache-directory' key argument. (latest-repository-commit): Call 'url-cache-directory'.
* git: Increase modularity and expose 'update-cached-checkout'.Ludovic Courtès2018-04-02
| | | | | | | | * guix/git.scm (repository->head-sha1, copy-to-store): Remove. (switch-to-ref): Return the OID of OBJ. (update-cached-checkout): New procedure, with code from 'latest-repository-commit'. (latest-repository-commit): Use it.
* git: 'latest-repository-commit' calls 'repository-close!'.Ludovic Courtès2018-03-26
| | | | | * guix/git.scm (latest-repository-commit): Call 'repository-close!' when it exists.
* git: 'switch-to-ref' accepts short commit IDs.Ludovic Courtès2018-03-18
| | | | | | | | Fixes <https://bugs.gnu.org/30716>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * guix/git.scm (switch-to-ref): When REF is a commit, check the length of COMMIT and use 'object-lookup-prefix' if available.
* git: Do not add '.git' to the store.Ludovic Courtès2017-11-21
| | | | | | | | This makes 'latest-repository-commit' significantly more efficient and reduces disk usage in the store. * guix/git.scm (copy-to-store)[dot-git?]: New procedure. Pass it as the #:select? argument to 'add-to-store'.
* git: Check whether 'clone-init-options' is defined.Ludovic Courtès2017-11-11
| | | | | | | This is a followup to 195f0d05c3f64e17e84b2683a7045a14ec578d61. * guix/git.scm (clone*): Check whether 'clone-init-options' is defined before using it.
* git: Work around wrong default argument of 'clone'.Ludovic Courtès2017-11-10
| | | | | | | Fixes <https://bugs.gnu.org/29238>. Reported by Benjamin Andresen <benny@in-ulm.de>. * guix/git.scm (clone*): Pass second argument to 'clone'.
* Fix ambiguous imports.Ludovic Courtès2017-11-07
| | | | | * gnu/packages/ocaml.scm: Hide 'zip' from (srfi srfi-1). * guix/git.scm: Select 'mkdir-p' from (guix build utils).
* guix: git: Stop using libgit2-shutdown.Mathieu Othacehe2017-07-01
| | | | | * guix/git.scm (with-libgit2): Stop calling (libgit2-shutdown) to prevent segfaults when pointer finalizers are run.
* guix: git: Add new module.Mathieu Othacehe2017-06-09
| | | | | | * guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available.
* Revert "guix: git: Add new module."Leo Famulari2017-05-05
| | | | | | | | | This reverts commit a70b784708fb5e1b78430aa793d89ca04bc641a8. Commit a70b784708f caused `guix pull` to fail: ERROR: In procedure scm-error: ERROR: no code for module (git)
* guix: git: Add new module.Mathieu Othacehe2017-05-05
* guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available.