diff options
Diffstat (limited to 'gnu/packages/version-control.scm')
-rw-r--r-- | gnu/packages/version-control.scm | 66 |
1 files changed, 56 insertions, 10 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index f8b88975ac..6726bc339b 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -31,13 +31,14 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> +;;; Copyright © 2021 François J. <francois-oss@avalenn.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,9 @@ as well as the classic centralized workflow.") ("bash" ,bash-minimal) ("bash-for-tests" ,bash) ("gettext" ,gettext-minimal) + ;; To build the man pages from the git sources, we would need a dependency + ;; on a full XML tool chain, and building it actually takes ages. So we + ;; use this lazy approach and use released tarball. ("git-manpages" ,(origin (method url-fetch) @@ -1264,7 +1268,7 @@ lot easier.") (define-public stgit (package (name "stgit") - (version "1.0") + (version "1.1") (source (origin (method git-fetch) @@ -1273,7 +1277,7 @@ lot easier.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0dixgvjlsk3xisj8blzdhh0nphm5zqkjbj081wgsba52z4zq1y0q")))) + (base32 "1jp74qsgw3f9c8xgaaqvmhfh4ar3n1ns5ncm8glvqyywlxldxi0n")))) (build-system python-build-system) (native-inputs `(("perl" ,perl))) @@ -1316,7 +1320,7 @@ manipulate them in various ways.") (define-public vcsh (package (name "vcsh") - (version "1.20151229") + (version "1.20190621") (source (origin (method git-fetch) @@ -1325,7 +1329,7 @@ manipulate them in various ways.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1grpj45nbpv4j60vd2kg4rj53zrm0bc0h9l4pfd3c2mwbvywm6ab")))) + (base32 "1s9l47wm9r7sndcgc778mq60wkzkhvfv7rkrwci5kjvw8vsddvcc")))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) @@ -1336,9 +1340,18 @@ manipulate them in various ways.") ("perl-shell-command" ,perl-shell-command) ("perl-test-most" ,perl-test-most))) (arguments - '(#:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'build)) + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (add-after 'install 'install-bash-completion + ;; As of 1.20190621, zsh completion is installed by default but bash + ;; completion is not. Do so manually. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (completions (string-append out "/etc/bash_completion.d"))) + (mkdir-p completions) + (copy-file "_vcsh_bash" (string-append completions "/vcsh")))))) #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:test-target "test")) @@ -1919,14 +1932,14 @@ RCS, PRCS, and Aegis packages.") (define-public cvs-fast-export (package (name "cvs-fast-export") - (version "1.55") + (version "1.56") (source (origin (method url-fetch) (uri (string-append "http://www.catb.org/~esr/cvs-fast-export/" "cvs-fast-export-" version ".tar.gz")) (sha256 (base32 - "06y2myhhv2ap08bq7d7shq0b7lq6wgznwrpz6622xq66cxkf2n5g")))) + "058bzp3npng48ascls943m16kgvrl0h197a10brf7mvx8zpfc7sc")))) (build-system gnu-build-system) (arguments '(#:phases @@ -3071,3 +3084,36 @@ If several repos are related, it helps to see their status together.") makes a directory under a specific root directory (by default @file{~/ghq}) using the remote repository URL's host and path.") (license license:expat))) + +(define-public git-filter-repo + (package + (name "git-filter-repo") + (version "2.29.0") + (source + (origin + ;; Use a release tarball instead of 'git-fetch' because it contains + ;; pre-compiled man-pages which are too hard to build in this context + ;; as it depends on Git's Makefile. + (method url-fetch) + (uri (string-append "https://github.com/newren/git-filter-repo/releases/" + "download/v" version + "/git-filter-repo-" version ".tar.xz")) + (sha256 + (base32 + "00nn7k9jqrybb762486fmigsnbcn9lbvimgpfvvarz4ikdp9y9pb")))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("git-filter-repo" "libexec/git-core/") + ("Documentation/man1/" "share/man/man1") + ("/" "" #:include ())))) + (inputs `(("python" ,python))) ;for the shebang + (home-page "https://github.com/newren/git-filter-repo") + (synopsis "Quickly rewrite Git repository history") + (description + "@command{git filter-repo} is a versatile tool for rewriting history, +which roughly falls into the same space of tool like git filter-branch but +with more capabilities. @command{git filter-repo} is now recommended by the +Git project instead of @command{git filter-branch}.") + (license (list license:expat ;; Main license. + license:gpl2)))) ;; For test harness. |