aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/version-control.scm52
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 04d28044dd..fd90513000 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2279,3 +2279,55 @@ used to keep a folder in sync between computers.")
;; The web app is released under the AGPLv3+.
(license (list license:gpl3+
license:agpl3+))))
+
+(define-public git-when-merged
+ ;; Use an unreleased version to get a PY3 compatibility fix.
+ (let ((commit "ab6af7865a0ba55ba364a6c507e0be6f84f31c6d"))
+ (package
+ (name "git-when-merged")
+ (version (string-append "1.2.0-" (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mhagger/git-when-merged/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0iyk2psf97bc9h43m89p3xjmm79fsx99i7px29g4lcnmdy5kmz0p"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "bin/git-when-merged"
+ (string-append (assoc-ref outputs "out")
+ "/bin"))
+ #t))
+ (add-before 'install 'patch-git
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((git (string-append (assoc-ref inputs "git")
+ "/bin/git")))
+ (substitute* "bin/git-when-merged"
+ (("'git'") (string-append "'" git "'")))
+ #t)))
+ (add-after 'install 'wrap-script
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/git-when-merged")
+ `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+ #t)))))
+ (inputs
+ `(("git" ,git)
+ ("python" ,python-wrapper)))
+ (home-page "https://github.com/mhagger/git-when-merged")
+ (synopsis "Determine when a commit was merged into a Git branch")
+ (description "This Git extension defines a subcommand,
+@code{when-merged}, whose core operation is to find the merge that brought a
+given commit into the specified ref(s). It has various options that control
+how information about the merge is displayed.")
+ (license license:gpl2))))