about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/version-management/git-and-tools
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-27 21:04:56 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-27 21:04:56 +0000
commita4e6c7d26af697f4346cacb7ab18dcd7fcfc056e (patch)
tree47950e79183035018882419c4eff5047d1537b99 /nixpkgs/pkgs/applications/version-management/git-and-tools
parent5b00523fb58512232b819a301c4309f579c7f09c (diff)
parent22a3bf9fb9edad917fb6cd1066d58b5e426ee975 (diff)
downloadnixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar.gz
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar.bz2
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar.lz
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar.xz
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.tar.zst
nixlib-a4e6c7d26af697f4346cacb7ab18dcd7fcfc056e.zip
Merge commit '22a3bf9fb9edad917fb6cd1066d58b5e426ee975'
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/git-and-tools')
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/fast-export/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix50
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/Gemfile.lock2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-my/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-open/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-radar/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-recent/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-stree/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-test/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-trim/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix19
-rwxr-xr-xnixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh7
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git2cl/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix543
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitflow/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/lefthook/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/legit/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/deps.nix273
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/svn2git/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix2
64 files changed, 1089 insertions, 141 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index 0d7729684163..b225782f2864 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -27,7 +27,7 @@ in
     '';
 
     meta = with stdenv.lib; {
-      homepage = https://rtyley.github.io/bfg-repo-cleaner/;
+      homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
       # Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
       description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
       longDescription = ''
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock
index 61159eb3ee9e..27a6e2c8dd03 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/Gemfile.lock
@@ -24,4 +24,4 @@ DEPENDENCIES
   atlassian-stash
 
 BUNDLED WITH
-   1.13.6
+   2.1.4
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix
index fda89e331809..68edb8503bfc 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/bitbucket-server-cli/default.nix
@@ -13,7 +13,7 @@ bundlerEnv rec {
 
   meta = with lib; {
     description = "A command line interface to interact with BitBucket Server (formerly Atlassian Stash)";
-    homepage    = https://bitbucket.org/atlassian/bitbucket-server-cli;
+    homepage    = "https://bitbucket.org/atlassian/bitbucket-server-cli";
     license     = licenses.mit;
     maintainers = with maintainers; [ jgertm nicknovitski ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 203926550628..121a6cf64ea1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -76,8 +76,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://git.zx2c4.com/cgit/about/;
-    repositories.git = git://git.zx2c4.com/cgit;
+    homepage = "https://git.zx2c4.com/cgit/about/";
+    repositories.git = "git://git.zx2c4.com/cgit";
     description = "Web frontend for git repositories";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
index 454458cdec66..22d289d549af 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Converts a Darcs repository into a Git repository";
-    homepage = http://www.sanityinc.com/articles/converting-darcs-repositories-to-git;
+    homepage = "http://www.sanityinc.com/articles/converting-darcs-repositories-to-git";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
index c4a99cf18584..4d6b0511a2ab 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
@@ -30,13 +30,9 @@ let
 
   diff-so-fancy = callPackage ./diff-so-fancy { };
 
-  gh = callPackage ./gh {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  gh = callPackage ./gh { };
 
-  ghq = callPackage ./ghq {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  ghq = callPackage ./ghq { };
 
   git = appendToName "minimal" gitBase;
 
@@ -67,13 +63,13 @@ let
 
   git-appraise = callPackage ./git-appraise {};
 
-  git-bug = callPackage ./git-bug {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  git-bug = callPackage ./git-bug { };
 
   # support for bugzilla
   git-bz = callPackage ./git-bz { };
 
+  git-cinnabar = callPackage ./git-cinnabar { };
+
   git-codeowners = callPackage ./git-codeowners { };
 
   git-codereview = callPackage ./git-codereview { };
@@ -140,9 +136,7 @@ let
 
   git-subrepo = callPackage ./git-subrepo { };
 
-  git-subtrac = callPackage ./git-subtrac {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  git-subtrac = callPackage ./git-subtrac { };
 
   git-sync = callPackage ./git-sync { };
 
@@ -173,23 +167,21 @@ let
 
   gita = python3Packages.callPackage ./gita {};
 
+  gitbatch = callPackage ./gitbatch { };
+
   gitflow = callPackage ./gitflow { };
 
   gitstatus = callPackage ./gitstatus { };
 
   grv = callPackage ./grv { };
 
-  hub = callPackage ./hub {
-    inherit (darwin) Security;
-  };
+  hub = callPackage ./hub { };
 
-  lab = callPackage ./lab {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  lab = callPackage ./lab { };
 
-  lefthook = callPackage ./lefthook {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  lefthook = callPackage ./lefthook { };
+
+  legit = callPackage ./legit { };
 
   pass-git-helper = python3Packages.callPackage ./pass-git-helper { };
 
@@ -197,6 +189,8 @@ let
 
   qgit = qt5.callPackage ./qgit { };
 
+  scmpuff = callPackage ./scmpuff { };
+
   stgit = callPackage ./stgit { };
 
   subgit = callPackage ./subgit { };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
index dff06d384dc7..7bdeae65899c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -1,17 +1,20 @@
-{ lib, fetchFromGitHub, rustPlatform }:
+{ lib, fetchFromGitHub, rustPlatform, llvmPackages }:
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.0.17";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "1j01h60snciqp4psyxf67j3gbmi02c1baprsg9frzjacawbx8cz7";
+    sha256 = "0cpd60861k9nd2gbzyb2hg5npnkgvsnyrvv7mlm30vb1833gz94z";
   };
 
-  cargoSha256 = "176bfd57gc9casvk0p10ilvzw3q3rkkv7qflja778vrwr9zrmkzq";
+  LLVM_CONFIG_PATH = "${llvmPackages.llvm}/bin/llvm-config";
+  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+
+  cargoSha256 = "12gl50q5hf6nq571fqxfv61z4mwfjyw4jb2yqyqbsinwj2frwaxn";
 
   meta = with lib; {
     homepage = "https://github.com/dandavison/delta";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 96216e76fd31..ae064cb7b5ed 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/so-fancy/diff-so-fancy;
+    homepage = "https://github.com/so-fancy/diff-so-fancy";
     description = "Good-looking diffs filter for git";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index c9fd33312d72..22009f10d44f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "190107";
 
   src = fetchgit {
-    url = git://repo.or.cz/fast-export.git;
+    url = "git://repo.or.cz/fast-export.git";
     rev = "v${version}";
     sha256 = "14azfps9jd5anivcvfwflgsvqdyy6gm9jy284kzx2ng9f7871d14";
   };
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Import mercurial into git";
-    homepage = https://repo.or.cz/w/fast-export.git;
+    homepage = "https://repo.or.cz/w/fast-export.git";
     license = licenses.gpl2;
     maintainers = [ maintainers.koral ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
index e655813d3403..acd09f0d0c0d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, buildGoModule, installShellFiles, Security }:
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
 
 buildGoModule rec {
   pname = "gh";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "10vylfsc8lldmr1l6r882sx87pgxl687k419c19faq90vd403i14";
+    sha256 = "0na8zfvcmdy968i47x6qd1jwfaphy5h18ff7ym5sxyia9a27yhf8";
   };
 
-  modSha256 = "03m193ny5z77yy586cwh099ypi1lmhb5vdj7d4kphxycnvpndr66";
+  modSha256 = "102v30wr9wmd6n20qdvgs5mp2s639pwbqqd71r8q52f42p694bi1";
 
   buildFlagsArray = [
     "-ldflags=-X github.com/cli/cli/command.Version=${version}"
@@ -20,7 +20,6 @@ buildGoModule rec {
   subPackages = [ "cmd/gh" ];
 
   nativeBuildInputs = [ installShellFiles ];
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
   postInstall = ''
     for shell in bash fish zsh; do
       $out/bin/gh completion -s $shell > gh.$shell
@@ -28,7 +27,7 @@ buildGoModule rec {
     done
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "GitHub CLI tool";
     homepage = "https://cli.github.com/";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
index 34829c14b7bb..f9d8eab8e55a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/ghq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub, Security }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "ghq";
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   modSha256 = "0hlbhky3c6zva9khn73n6xgq57k5p8anskxy3g2m0wzhr72cyc41";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
-
   buildFlagsArray = ''
     -ldflags=
       -X=main.Version=${version}
@@ -27,7 +25,7 @@ buildGoModule rec {
 
   meta = {
     description = "Remote repository management made easy";
-    homepage = https://github.com/x-motemen/ghq;
+    homepage = "https://github.com/x-motemen/ghq";
     maintainers = with stdenv.lib.maintainers; [ sigma ];
     license = stdenv.lib.licenses.mit;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix
index 3118eaab19b4..ad07a3dba3c8 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-metadata-gui/default.nix
@@ -18,7 +18,7 @@ buildPythonApplication rec {
   propagatedBuildInputs = [ pyqt5 git-annex-adapter ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/alpernebbi/git-annex-metadata-gui;
+    homepage = "https://github.com/alpernebbi/git-annex-metadata-gui";
     description = "Graphical interface for git-annex metadata commands";
     maintainers = with maintainers; [ dotlambda ];
     license = licenses.gpl3Plus;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix
index 8dd44287b509..addfd1f5041b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-dbx/default.nix
@@ -19,7 +19,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "A git-annex special remote for Dropbox";
-    homepage = https://pypi.org/project/git-annex-remote-dbx/;
+    homepage = "https://pypi.org/project/git-annex-remote-dbx/";
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
index 5d4d9b86d83f..260e8024a8cc 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/DanielDent/git-annex-remote-rclone;
+    homepage = "https://github.com/DanielDent/git-annex-remote-rclone";
     description = "Use rclone supported cloud storage providers with git-annex";
     license = licenses.gpl3;
     maintainers = [ maintainers.montag451 ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
index 081341957035..bcfc33e55e4c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "git-annex-utils";
   version = "0.04-3-g531bb33";
   src = fetchgit {
-    url = http://git.mysteryvortex.com/repositories/git-annex-utils.git;
+    url = "http://git.mysteryvortex.com/repositories/git-annex-utils.git";
     rev = "531bb33";
     sha256 = "1sv7s2ykc840cjwbfn7ayy743643x9i1lvk4cd55w9l052xvzj65";
   };
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       This is a set of utilities that are handy to use with git-annex repositories.
       Currently there is only one utility gadu, a du like utility for annexed files.
     '';
-    homepage = http://git-annex.mysteryvortex.com/git-annex-utils.html;
+    homepage = "http://git-annex.mysteryvortex.com/git-annex-utils.html";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ woffs ];
     platforms = stdenv.lib.platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix
index daa0af43879d..7796f08c8a46 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-appraise/default.nix
@@ -16,7 +16,7 @@ buildGoPackage rec {
 
   meta = {
     description = "Distributed code review system for Git repos";
-    homepage = https://github.com/google/git-appraise;
+    homepage = "https://github.com/google/git-appraise";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.vdemeester ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix
index 32b9c8a980dc..cd35c98a9696 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-big-picture/default.nix
@@ -22,7 +22,7 @@ python2Packages.buildPythonApplication rec {
 
   meta = {
     description = "Tool for visualization of Git repositories";
-    homepage = https://github.com/esc/git-big-picture;
+    homepage = "https://github.com/esc/git-big-picture";
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.nthorne ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
index fdb5a6c53fdf..3ca25d6cf13e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
@@ -1,24 +1,22 @@
-{ stdenv, buildGoModule, fetchFromGitHub, Security }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "git-bug";
-  version = "0.7.0";
-  rev = "71580c41a931a1ad2c04682e0fd701661b716c95";
+  version = "0.7.1"; # the `rev` below pins the version of the source to get
+  rev = "2d64b85db71a17ff3277bbbf7ac9d8e81f8e416c";
   goPackagePath = "github.com/MichaelMure/git-bug";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "MichaelMure";
     repo = "git-bug";
-    sha256 = "0mhqvcwa6y3hrrv88vbp22k7swzr8xw6ipm80gdpx85yp8j2wdkh";
+    sha256 = "01ab3mlwh5g1vr3x85fppflg18gb8ip9mjfsp2b5rfigd9lxyyns";
   };
 
-  modSha256 = "1cfn49cijiarzzczrpd28x1k7ib98xyzlvn3zghwk2ngfgiah3ld";
-
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  modSha256 = "05wxvzsbhvz15596019vs7h09kynfsfjx3i5xyrl5xjzdxbaqbrq";
 
   buildFlagsArray = ''
-    -ldflags= 
+    -ldflags=
       -X ${goPackagePath}/commands.GitCommit=${rev}
       -X ${goPackagePath}/commands.GitLastTag=${version}
       -X ${goPackagePath}/commands.GitExactTag=${version}
@@ -32,7 +30,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     description = "Distributed bug tracker embedded in Git";
-    homepage = https://github.com/MichaelMure/git-bug;
+    homepage = "https://github.com/MichaelMure/git-bug";
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ royneary ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
index 5edf9a7b5a53..7f199894924e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
       Chromium on Linux.
     '';
     license = licenses.gpl2Plus;
-    homepage = http://git.fishsoup.net/cgit/git-bz/;
+    homepage = "http://git.fishsoup.net/cgit/git-bz/";
 
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
new file mode 100644
index 000000000000..679e8dbdf507
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, makeWrapper
+, curl, libiconv, mercurial, zlib
+}:
+
+let
+  python3 = mercurial.python;
+in
+
+stdenv.mkDerivation rec {
+  pname = "git-cinnabar";
+  version = "0.5.4";
+
+  src = fetchFromGitHub {
+    owner = "glandium";
+    repo = "git-cinnabar";
+    rev = version;
+    sha256 = "1cjn2cc6mj4m736wxab9s6qx83p5n5ha8cr3x84s9ra6rxs8d7pi";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ autoconf makeWrapper ];
+  buildInputs = [ curl zlib ] ++ lib.optional stdenv.isDarwin libiconv;
+
+  # Ignore submodule status failing due to no git in environment.
+  makeFlags = [ "SUBMODULE_STATUS=yes" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    install git-cinnabar-helper $out/bin
+    install git-cinnabar git-remote-hg $out/libexec
+    cp -r cinnabar mercurial $out/libexec
+
+    for pythonBin in git-cinnabar git-remote-hg; do
+        makeWrapper $out/libexec/$pythonBin $out/bin/$pythonBin \
+            --prefix PATH : ${lib.getBin python3}/bin \
+            --prefix GIT_CINNABAR_EXPERIMENTS , python3 \
+            --set PYTHONPATH ${mercurial}/${python3.sitePackages}
+    done
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/glandium/git-cinnabar";
+    description = "git remote helper to interact with mercurial repositories";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 5d1a06e03974..858383f96641 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -27,7 +27,7 @@ in buildPythonApplication rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/git-cola/git-cola;
+    homepage = "https://github.com/git-cola/git-cola";
     description = "A sleek and powerful Git GUI";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
index df0b1e78d274..487f9b9625f4 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://www.agwa.name/projects/git-crypt;
+    homepage = "https://www.agwa.name/projects/git-crypt";
     description = "Transparent file encryption in git";
     longDescription = ''
       git-crypt enables transparent encryption and decryption of files in a git
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index cfdcd80f38b7..f2afdd941fe4 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/tj/git-extras;
+    homepage = "https://github.com/tj/git-extras";
     description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/Gemfile.lock b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/Gemfile.lock
index 0ac7907fe55d..12c58d72103a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/Gemfile.lock
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/Gemfile.lock
@@ -23,4 +23,4 @@ DEPENDENCIES
   git_fame
 
 BUNDLED WITH
-   1.14.6
+   2.1.4
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/default.nix
index f4aa4878f62f..782579c70446 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-fame/default.nix
@@ -13,7 +13,7 @@ bundlerEnv {
     description = ''
       A command-line tool that helps you summarize and pretty-print collaborators based on contributions
       '';
-    homepage    = http://oleander.io/git-fame-rb;
+    homepage    = "http://oleander.io/git-fame-rb";
     license     = licenses.mit;
     maintainers = with maintainers; [ expipiplus1 nicknovitski ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
index d8125f604bf6..5c3b27ad614c 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
@@ -29,7 +29,7 @@ buildRustPackage rec {
 
   meta = with stdenv.lib; {
     description = "Quickly and easily fetch .gitignore templates from gitignore.io";
-    homepage = https://github.com/sondr3/git-ignore;
+    homepage = "https://github.com/sondr3/git-ignore";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.sondr3 ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
index 528a96c9903a..721a7784e9ca 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-imerge/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ] ; 
  
   meta = with stdenv.lib; {
-    homepage = https://github.com/mhagger/git-imerge;
+    homepage = "https://github.com/mhagger/git-imerge";
     description = "Perform a merge between two branches incrementally";
     license = licenses.gpl2;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 40da9045b817..42be3f7d3547 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -24,7 +24,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    homepage = https://github.com/VirtusLab/git-machete;
+    homepage = "https://github.com/VirtusLab/git-machete";
     description = "Git repository organizer and rebase/merge workflow automation tool";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-my/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-my/default.nix
index 8a5ec250932d..2a8a262bf304 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-my/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-my/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description =
       "List remote branches if they're merged and/or available locally";
-    homepage = https://github.com/davidosomething/git-my;
+    homepage = "https://github.com/davidosomething/git-my";
     license = licenses.free;
     maintainers = with maintainers; [ bb010g ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
index a7abd1eeaf46..d5278d9d2417 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = https://github.com/lesfurets/git-octopus;
+    homepage = "https://github.com/lesfurets/git-octopus";
     description = "The continuous merge workflow";
     license = licenses.lgpl3;
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-open/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-open/default.nix
index 1cc3f365ea88..10f221b63882 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-open/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-open/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/paulirish/git-open;
+    homepage = "https://github.com/paulirish/git-open";
     description = "Open the GitHub page or website for a repository in your browser";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-radar/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
index 9fb9d4de6e3d..fc4b5850f5c7 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-radar/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/michaeldfallen/git-radar;
+    homepage = "https://github.com/michaeldfallen/git-radar";
     license = licenses.mit;
     description = "A tool you can add to your prompt to provide at-a-glance information on your git repo";
     platforms = with platforms; linux ++ darwin;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
index 628c7dbac7f3..99b64e012eae 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/paulirish/git-recent;
+    homepage = "https://github.com/paulirish/git-recent";
     description = "See your latest local git branches, formatted real fancy";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
index 4e6e450657d2..04787b0ce25b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://spwhitton.name/tech/code/git-remote-gcrypt;
+    homepage = "https://spwhitton.name/tech/code/git-remote-gcrypt";
     description = "A git remote helper for GPG-encrypted remotes";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ellis montag451 ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
index 28e63c4f1662..37c06d3a85e2 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = https://github.com/mnauw/git-remote-hg;
+    homepage = "https://github.com/mnauw/git-remote-hg";
     description = "Semi-official Mercurial bridge from Git project";
     license = licenses.gpl2;
     maintainers = [ ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
index 8477dfac5856..140c2647be22 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "A bash-tool to store your private data inside a git repository";
-    homepage = https://git-secret.io;
+    homepage = "https://git-secret.io";
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.lo1tuma ];
     platforms = stdenv.lib.platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix
index 1da8f2a4a5ed..1beff2a118df 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-secrets/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Prevents you from committing secrets and credentials into git repositories";
-    homepage = https://github.com/awslabs/git-secrets;
+    homepage = "https://github.com/awslabs/git-secrets";
     license = licenses.asl20;
     platforms = platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-stree/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
index ae40e011f858..dc636571acc0 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A better Git subtree helper command";
-    homepage = http://deliciousinsights.github.io/git-stree;
+    homepage = "http://deliciousinsights.github.io/git-stree";
     license = licenses.mit;
     maintainers = [ maintainers.benley ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index 54543bb48419..708014e4af8d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/ingydotnet/git-subrepo;
+    homepage = "https://github.com/ingydotnet/git-subrepo";
     description = "Git submodule alternative";
     license = licenses.mit;
     platforms = platforms.unix ++ platforms.darwin;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
index 9ccf3c606a2a..07c63ea0119b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub, Security }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "git-subtrac";
@@ -13,9 +13,7 @@ buildGoModule rec {
 
   modSha256 = "147vzllp1gydk2156hif313vwykagrj35vaiqy1swqczxs7p9hhs";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Keep the content for your git submodules all in one place: the parent repo";
     homepage = "https://github.com/apenwarr/git-subtrac";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
index 7fa15c668099..bba355095558 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A script to automatically synchronize a git repository";
-    homepage = https://github.com/simonthum/git-sync;
+    homepage = "https://github.com/simonthum/git-sync";
     maintainers = with stdenv.lib.maintainers; [ imalison ];
     license = stdenv.lib.licenses.cc0;
     platforms = with stdenv.lib.platforms; unix;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-test/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-test/default.nix
index e55799c27521..27f9bcffa34e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-test/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-test/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Test your commits";
-    homepage = https://github.com/spotify/git-test;
+    homepage = "https://github.com/spotify/git-test";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-trim/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
index ab558ec42d92..0a3360b33b0d 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-trim/default.nix
@@ -2,23 +2,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-trim";
-  version = "0.2.4";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "foriequal0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gfmv9bwhh6bv0s9kfbxq9wsvrk3zz3ibavbpp9l8cpqc3145pqy";
+    sha256 = "06wni47s8yq274bh5f7bcy0sah23938kjiw5pdxnma5kwwnrccrr";
   };
 
-  cargoSha256 = "0xklczk4vbh2mqf76r3rsfyclyza9imf6yss7vbkm9w4ir3ar9f3";
+  cargoSha256 = "06ndja8212xy4rybh1117wijsyj70w4z8h6km538a7598s49vzdk";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   postInstall = ''
-    install -Dm644 docs/git-trim.md.1 $out/share/man/man1/git-trim.1
+    install -Dm644 -t $out/share/man/man1/ docs/git-trim.1
   '';
 
   # fails with sandbox
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
index 5ccd5c9c59ea..ef6ebbe6813b 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.25.1";
+  version = "2.26.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2";
+    sha256 = "0s03ix9j1h0yychkh1l1cgpr1l9lwzn3rprl08rk8ii5ix02i0l8";
   };
 
   outputs = [ "out" ];
@@ -95,7 +95,15 @@ stdenv.mkDerivation {
   ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
   ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"])
   ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
-  ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1";
+  ++ stdenv.lib.optional withpcre2 "USE_LIBPCRE2=1"
+  # git-gui refuses to start with the version of tk distributed with
+  # macOS Catalina. We can prevent git from building the .app bundle
+  # by specifying an invalid tk framework. The postInstall step will
+  # then ensure that git-gui uses tcl/tk from nixpkgs, which is an
+  # acceptable version.
+  #
+  # See https://github.com/Homebrew/homebrew-core/commit/dfa3ccf1e7d3901e371b5140b935839ba9d8b706
+  ++ stdenv.lib.optional stdenv.isDarwin "TKFRAMEWORK=/nonexistent";
 
 
   postBuild = ''
@@ -181,7 +189,7 @@ stdenv.mkDerivation {
       ln -s $out/libexec/git-core/git-http-backend $out/bin/git-http-backend
     '' + stdenv.lib.optionalString perlSupport ''
       # wrap perl commands
-      makeWrapper "$out/share/git/contrib/credential/netrc/git-credential-netrc" $out/bin/git-credential-netrc \
+      makeWrapper "$out/share/git/contrib/credential/netrc/git-credential-netrc.perl" $out/bin/git-credential-netrc \
                   --set PERL5LIB   "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}"
       wrapProgram $out/libexec/git-core/git-cvsimport \
                   --set GITPERLLIB "$out/${perlPackages.perl.libPrefix}:${perlPackages.makePerlPath perlLibs}"
@@ -232,7 +240,6 @@ stdenv.mkDerivation {
        for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do
          sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \
                 -e "s|exec wish|exec '${tk}/bin/wish'|g" \
-                -e "s|exec \"[^\"]*/MacOS/Wish\"|exec '${tk}/bin/wish'|g" \
                 "$out/$prog"
        done
        ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/gitk
@@ -323,7 +330,7 @@ stdenv.mkDerivation {
 
 
   meta = {
-    homepage = https://git-scm.com/;
+    homepage = "https://git-scm.com/";
     description = "Distributed version control system";
     license = stdenv.lib.licenses.gpl2;
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
index a9fa18be1558..d0bc413fb893 100755
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/update.sh
@@ -5,14 +5,15 @@ set -eu -o pipefail
 
 oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')"
 latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')"
+targetVersion="${1:-latestTag}"
 
-if [ ! "${oldVersion}" = "${latestTag}" ]; then
-  update-source-version git "${latestTag}"
+if [ ! "${oldVersion}" = "${targetVersion}" ]; then
+  update-source-version git "${targetVersion}"
   nixpkgs="$(git rev-parse --show-toplevel)"
   default_nix="$nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix"
   nix-build -A git
   git add "${default_nix}"
-  git commit -m "git: ${oldVersion} -> ${latestTag}"
+  git commit -m "git: ${oldVersion} -> ${targetVersion}"
 else
   echo "git is already up-to-date"
 fi
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git2cl/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git2cl/default.nix
index 036f8b4114e2..34417cfaa8c8 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git2cl/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git2cl/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = https://savannah.nongnu.org/projects/git2cl;
+    homepage = "https://savannah.nongnu.org/projects/git2cl";
     description = "Convert git logs to GNU style ChangeLog files";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
index 22bd0e66c151..c9d188e10e5a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gita/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "0.9.9";
+  version = "0.10.5";
   pname = "gita";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1si2f9nyisbrvv8cvrjxj8r4cbrgc97ic0wdlbf34gvp020dsmgv";
+    sha256 = "1xggslmrrfszpl190klkc97fnl88gml1bnkmkzp6aimdch66g4jg";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +21,7 @@ buildPythonApplication rec {
 
   meta = with lib; {
     description = "A command-line tool to manage multiple git repos";
-    homepage = https://github.com/nosarthur/gita;
+    homepage = "https://github.com/nosarthur/gita";
     license = licenses.mit;
     maintainers = with maintainers; [ seqizz ];
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix
new file mode 100644
index 000000000000..2b372cc0e213
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "gitbatch-unstable";
+  version = "2019-12-19";
+
+  goPackagePath = "github.com/isacikgoz/gitbatch";
+
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "isacikgoz";
+    repo = "gitbatch";
+    rev = "381b0df7f86056c625c0d4d2d979733c1ee5def7";
+    sha256 = "sha256:0613vfqdn3k0w7fm25rqnqdr67w9vii3i56dfslqcn1vqjfrff3q";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Running git UI commands";
+    homepage = "https://github.com/isacikgoz/gitbatch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ teto ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix
new file mode 100644
index 000000000000..53784b4eacf0
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix
@@ -0,0 +1,543 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/alcortesm/tgz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alcortesm/tgz";
+      rev = "9c5fe88206d7";
+      sha256 = "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/anmitsu/go-shlex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/anmitsu/go-shlex";
+      rev = "648efa622239";
+      sha256 = "10rgdp5d106iisgz25ic8k6f44s9adh4sjh6fyxq9ccm21gw49b7";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/emirpasic/gods";
+    fetch = {
+      type = "git";
+      url = "https://github.com/emirpasic/gods";
+      rev = "v1.9.0";
+      sha256 = "1zhkppqzy149fp561pif8d5d92jd9chl3l9z4yi5f8n60ibdmmjf";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/flynn/go-shlex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flynn/go-shlex";
+      rev = "3f9db97f8568";
+      sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/gliderlabs/ssh";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gliderlabs/ssh";
+      rev = "v0.1.1";
+      sha256 = "0bylkc7yg8bxxffhchikcnzwli5n95cfmbji6v2a4mn1h5n36mdm";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-context";
+      rev = "d14ea06fba99";
+      sha256 = "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jessevdk/go-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jessevdk/go-flags";
+      rev = "v1.4.0";
+      sha256 = "0algnnigph27spgn655zm4723yfjxjjvlf4k14z9drj3682df25a";
+    };
+  }
+  {
+    goPackagePath = "github.com/jroimartin/gocui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jroimartin/gocui";
+      rev = "v0.4.0";
+      sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47";
+    };
+  }
+  {
+    goPackagePath = "github.com/kevinburke/ssh_config";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kevinburke/ssh_config";
+      rev = "81db2a75821e";
+      sha256 = "0hwmv2h83aa7r6l7yqwsxdyldnlhb4gbbkc3ww9nys7impjcjnsp";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.1";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.1";
+      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.7";
+      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.4";
+      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.0.0";
+      sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
+    };
+  }
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "288510b9734e";
+      sha256 = "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-buffruneio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-buffruneio";
+      rev = "v0.2.0";
+      sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.4.0";
+      sha256 = "1y1qjcg19z7q9sy32rhc148kdql2aw7xkcm9d6r1blrl0mdgpx0w";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.1.2";
+      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.3";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
+    };
+  }
+  {
+    goPackagePath = "github.com/src-d/gcfg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/src-d/gcfg";
+      rev = "v1.4.0";
+      sha256 = "044j95skmyrwjw5fwjk6ka32rjgsg0ar0mfp9np19sh1acwv4x4r";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "d75b2dcb6bc8";
+      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
+    };
+  }
+  {
+    goPackagePath = "github.com/xanzy/ssh-agent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xanzy/ssh-agent";
+      rev = "v0.2.0";
+      sha256 = "069nlriymqswg52ggiwi60qhwrin9nzhd2g65a7h59z2qbcvk2hy";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "505ab145d0a9";
+      sha256 = "1vbsvcvmjz6c00p5vf8ls533p52fx2y3gy6v4k5qrdlzl4wf0i5s";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "161cd47e91fd";
+      sha256 = "0254ld010iijygbzykib2vags1dc0wlmcmhgh4jl8iny159lhbcv";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "e225da77a7e6";
+      sha256 = "0bh3583smcfw6jw3w6lp0za93rz7hpxfdz8vhxng75b7a6vdlw4p";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "a9d3bda3a223";
+      sha256 = "1w45zc13xrjzl19s1sx74r5mg3lf2z2nm13wygcdq5r5pyjlhdz9";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/src-d/go-billy.v4";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/src-d/go-billy.v4";
+      rev = "v4.2.1";
+      sha256 = "1n8nc0m2hidbrlcl643cd0bdm07pjr0qji47gbfpfj99791sv1d1";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/src-d/go-git-fixtures.v3";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/src-d/go-git-fixtures.v3";
+      rev = "v3.1.1";
+      sha256 = "1fq3j5chck6883jbn33gwm6dxdgzsphjq97psyn81hz9bc1ili8p";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/src-d/go-git.v4";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/src-d/go-git.v4";
+      rev = "v4.10.0";
+      sha256 = "18bx3m5ddvb20figd8pc3lgf9hn85pifc6xy72bb83lv2nxii2rx";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/warnings.v0";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/warnings.v0";
+      rev = "v0.1.2";
+      sha256 = "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitflow/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
index 57af13f597a7..1307573990a9 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/petervanderdoes/gitflow;
+    homepage = "https://github.com/petervanderdoes/gitflow";
     description = "Extend git with the Gitflow branching model";
     longDescription = ''
       A set of scripts that provide high-level repository operations
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index a444ab05039f..26b736b8b6fa 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "10x faster implementation of `git status` command";
-    homepage = https://github.com/romkatv/gitstatus;
+    homepage = "https://github.com/romkatv/gitstatus";
     license = [ licenses.gpl3 ];
 
     maintainers = with maintainers; [ mmlb hexa ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
index e6b746233fe1..8c915762b6ef 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/grv/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, curl, libgit2, ncurses, pkgconfig, readline }:
+{ stdenv, buildGoPackage, fetchFromGitHub, curl, ncurses, pkgconfig, readline
+, cmake }:
 let
-  version = "0.3.1";
+  version = "0.3.2";
 in
 buildGoPackage {
   pname = "grv";
   inherit version;
 
-  buildInputs = [ ncurses readline curl libgit2 ];
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses readline curl ];
+  nativeBuildInputs = [ pkgconfig cmake ];
 
   goPackagePath = "github.com/rgburke/grv";
 
@@ -15,7 +16,7 @@ buildGoPackage {
     owner = "rgburke";
     repo = "grv";
     rev = "v${version}";
-    sha256 = "16ylapsibqrqwx45l4ypr3av07rd1haf10v838mjqsakf8l1xc0b";
+    sha256 = "0bpjsk35rlp56z8149z890adnhmxyh743vsls3q86j4682b83kyf";
     fetchSubmodules = true;
   };
 
@@ -23,11 +24,25 @@ buildGoPackage {
     rm util/update_latest_release.go
   '';
 
-  buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ];
+  postConfigure = ''
+    cd $NIX_BUILD_TOP/go/src/$goPackagePath
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    make build-only
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D grv $bin/bin/grv
+    runHook postInstall
+  '';
 
   meta = with stdenv.lib; {
     description = "GRV is a terminal interface for viewing Git repositories";
-    homepage = https://github.com/rgburke/grv;
+    homepage = "https://github.com/rgburke/grv";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ andir ];
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
index f868c6b3c8fa..8890cd5eb238 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, groff, Security, utillinux }:
+{ stdenv, buildGoPackage, fetchFromGitHub, groff, utillinux }:
 
 buildGoPackage rec {
   pname = "hub";
@@ -17,7 +17,6 @@ buildGoPackage rec {
   };
 
   nativeBuildInputs = [ groff utillinux ];
-  buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   postPatch = ''
     patchShebangs .
@@ -37,7 +36,7 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     description = "Command-line wrapper for git that makes you better at GitHub";
     license = licenses.mit;
-    homepage = https://hub.github.com/;
+    homepage = "https://hub.github.com/";
     maintainers = with maintainers; [ the-kenny globin ];
     platforms = with platforms; unix;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
index 8780ce4a2205..5a00d6b1f86f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub, Security }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "lab";
@@ -15,8 +15,6 @@ buildGoModule rec {
 
   modSha256 = "03fqa7s6729g0a6ffiyc61dkldpi7vg8pvvpqak4c0mqi1dycivd";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
-
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
@@ -28,7 +26,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
-    homepage = https://zaquestion.github.io/lab;
+    homepage = "https://zaquestion.github.io/lab";
     license = licenses.cc0;
     maintainers = with maintainers; [ marsam dtzWill ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
index c80cff15265e..9fc89d520ae9 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/lefthook/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoModule, fetchFromGitHub, Security }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "lefthook";
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   modSha256 = "0ih11gw2y9dhv3zw1fzjmdfjln5h6zg1bj7sl68cglf6743siqnq";
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
-
   meta = with stdenv.lib; {
     description = "Fast and powerful Git hooks manager for any type of projects";
     homepage = "https://github.com/Arkweid/lefthook";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/legit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/legit/default.nix
new file mode 100644
index 000000000000..7dbdd6071a57
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/legit/default.nix
@@ -0,0 +1,30 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "legit";
+  version = "1.2.0";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "0ngh3ar6v15516f52j21k6qz7hykmxfjadhb2rakvl27b5xvjy1c";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    click
+    clint
+    crayons
+    GitPython
+    six
+  ];
+
+  # Prevent tests from trying to create configuration in /homeless-shelter.
+  preCheck = ''
+    export HOME=$PWD/test-home
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/frostming/legit";
+    description = "Git for Humans, Inspired by GitHub for Mac";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ryneeverett ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index 74fad30b8a9a..24743b21a4dd 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -17,7 +17,7 @@ mkDerivation rec {
 
   meta = with lib; {
     license = licenses.gpl2;
-    homepage = https://github.com/tibirna/qgit;
+    homepage = "https://github.com/tibirna/qgit";
     description = "Graphical front-end to Git";
     maintainers = with maintainers; [ peterhoeg markuskowa ];
     inherit (qtbase.meta) platforms;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix
new file mode 100644
index 000000000000..de8cb396b7fc
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "scmpuff";
+  version = "0.3.0";
+  goPackagePath = "github.com/mroth/scmpuff";
+
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "mroth";
+    repo = pname;
+    rev = "56dc2041f2c45ab15d41e63058c1c44fff905e81";
+    sha256 = "0zrzzcs0i13pfwcqh8qb0sji54vh37rdr7qasg57y56cqpx16vl3";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Add numbered shortcuts to common git commands";
+    homepage = "https://github.com/mroth/scmpuff";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+    platforms = concatLists (with platforms; [ linux darwin windows ]);
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/deps.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/deps.nix
new file mode 100644
index 000000000000..da9052f9bb7b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/scmpuff/deps.nix
@@ -0,0 +1,273 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/armon/consul-api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/consul-api";
+      rev = "eb2c6b5be1b6";
+      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/etcd";
+      rev = "v3.3.10";
+      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-etcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-etcd";
+      rev = "v2.0.0";
+      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cpuguy83/go-md2man";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cpuguy83/go-md2man";
+      rev = "v1.0.10";
+      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev = "v1.8.0";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "v1.1.2";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.2.0";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/russross/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/russross/blackfriday";
+      rev = "v1.5.2";
+      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev = "v1.1.2";
+      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev = "v1.3.0";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "v0.0.4";
+      sha256 = "1k7dq78fjz94lzifsprkmiv93swwzwcbg1vd64v20wvnga8v254b";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev = "v1.0.0";
+      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.3";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev = "v1.3.2";
+      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+  {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "d75b2dcb6bc8";
+      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
+    };
+  }
+  {
+    goPackagePath = "github.com/xordataexchange/crypt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xordataexchange/crypt";
+      rev = "b2862e3d0a77";
+      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "505ab145d0a9";
+      sha256 = "1vbsvcvmjz6c00p5vf8ls533p52fx2y3gy6v4k5qrdlzl4wf0i5s";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "a5c9d58dba9a";
+      sha256 = "02qv5i7yps35p7fa81345qz7k8i73gkigj69anwmpw9rhpmzayf9";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index ac11e7469e50..1fd70aab4611 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
     longDescription = "Create writable Git mirror of a local or remote Subversion repository and use both Subversion and Git as long as you like. You may also do a fast one-time import from Subversion to Git.";
-    homepage = http://subgit.com;
+    homepage = "http://subgit.com";
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
index 92d7fd4e3dab..fc33478964f6 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   NIX_LDFLAGS = "-lsvn_fs-1";
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/svn-all-fast-export/svn2git;
+    homepage = "https://github.com/svn-all-fast-export/svn2git";
     description = "A fast-import based converter for an svn repo to git repos";
     license = licenses.gpl3;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index 821ecf3e3d8f..1683a9bea137 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = https://github.com/nirvdrum/svn2git;
+    homepage = "https://github.com/nirvdrum/svn2git";
     description = "Tool for importing Subversion repositories into git";
     license = stdenv.lib.licenses.mit;
 
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 424694d7262b..cb03a9b42a25 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45, fetchpatch
+{ stdenv, fetchFromGitHub, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45
 , readline, makeWrapper, git, libiconv, autoreconfHook, findXMLCatalogs, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1lrzgnq8ywq28qd4xyd0y5qfv3j25ra81lcbdqqfywasl8lwz3lf";
+    sha256 = "0wxcbfqsk8p84zizy6lf3gp5j122wrf8c7xlipki6nhcfhksn33b";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];
@@ -25,24 +25,19 @@ stdenv.mkDerivation rec {
       rm -f contrib/config.make-*
   '';
 
-  patches = [
-    # Fix memory leak. Remove with the next release
-    (fetchpatch {
-      url = "https://github.com/jonas/tig/commit/6202c6032f17438a2facb23f02e330b9d0566d9d.patch";
-      sha256 = "15zn8hw9y7bqa1np4mj0qnm2z86nif7qwh7wc4vgy2rwxdil85bd";
-    })
-  ];
-
   enableParallelBuilding = true;
 
   installPhase = ''
     make install
     make install-doc
 
+    # fixes tig-completion __git-complete dependency
+    sed -i '1s;^;source ${git}/share/bash-completion/completions/git\n;' contrib/tig-completion.bash
+
     substituteInPlace contrib/tig-completion.zsh \
-      --replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/etc/bash_completion.d/tig-completion.bash"
+      --replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/share/bash-completion/completions/tig"
 
-    install -D contrib/tig-completion.bash $out/etc/bash_completion.d/tig-completion.bash
+    install -D contrib/tig-completion.bash $out/share/bash-completion/completions/tig
     install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig
     cp contrib/vim.tigrc $out/etc/
 
@@ -51,7 +46,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://jonas.github.io/tig/;
+    homepage = "https://jonas.github.io/tig/";
     description = "Text-mode interface for git";
     maintainers = with maintainers; [ bjornfor domenkozar qknight globin ];
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
index 3b8affb57edf..589d53b3cfaa 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       encryption password can safely commit changes to the repository's
       non-encrypted files.
     '';
-    homepage = https://github.com/elasticdog/transcrypt;
+    homepage = "https://github.com/elasticdog/transcrypt";
     license = licenses.mit;
     maintainers = [ maintainers.elasticdog ];
     platforms = platforms.all;