(address . guix-patches@gnu.org)(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)
* gnu/packages/version-control.scm (git-subtree): New variable.
---
gnu/packages/version-control.scm | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
Toggle diff (55 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index cbf5ce7d8..d4c8acb51 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
-;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -50,6 +50,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages documentation)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages cook)
@@ -375,6 +376,31 @@ everything from small to very large projects with speed and efficiency.")
(license license:gpl2)
(home-page "https://git-scm.com/")))
+(define-public git-subtree
+ (package (inherit git)
+ (name "git-subtree")
+ (outputs '("out"))
+ (arguments
+ `(#:make-flags
+ (list (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "SHELL_PATH="
+ (assoc-ref %build-inputs "bash")
+ "/bin/sh"))
+ ;; Don't run tests because this assumes that we've built git in a
+ ;; parent directory.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _ (chdir "contrib/subtree"))))))
+ (native-inputs
+ `(("bash" ,bash)))
+ (inputs '())
+ (synopsis "Merge git subtrees and split repository into subtrees")
+ (description "This package provides the @code{subtree} subcommand for git.
+Subtrees allow subprojects to be included within a subdirectory of the main
+project, optionally including the subproject's entire history.")))
+
(define-public libgit2
(package
(name "libgit2")
--
2.15.1