From e2922e4f4cd441a85d6638f74c16b0157d40bfde Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Fri, 5 Jan 2024 07:57:00 -0500
Subject: [PATCH] Added some git aliases for visualizing the timeline

---
 pkgs/dev/git/default.nix | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/pkgs/dev/git/default.nix b/pkgs/dev/git/default.nix
index 93d1b7c..3c8b8d7 100644
--- a/pkgs/dev/git/default.nix
+++ b/pkgs/dev/git/default.nix
@@ -28,9 +28,11 @@
           };
           aliases = {
             # Delimiter use d in every mylog alias as column seperator
-            tree =         "log --full-history --all --graph --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
+            tree =         "log --oneline --graph --simplify-by-decoration --decorate-refs=refs/heads --decorate-refs=refs/tags --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
+            tree-all =         "log --oneline --graph --simplify-by-decoration --all --decorate-refs=refs/heads --decorate-refs=refs/tags --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
             tree-simple =  "log --full-history --all --graph --color --decorate=short          --format=format:'%C(bold blue)%h%C(reset) %C(auto)%d%C(reset)\n         %C(black)[%cr]%C(reset)  %x09%C(black)%an: %s %C(reset)'";
             tree-chrono = "log --full-history --all --graph --color --date=short --date-order  --pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)'";
+            conflict = "--no-pager diff --name-only --diff-filter=U |xargs grep -c '^=======$'";
           };
           ignores = [ "*~" "*.swp" ];
           extraConfig = {
@@ -42,6 +44,7 @@
             # For supercede
             core.symlinks = true;
             safe.directory = "/etc/nixos";
+            merge.conflictstyle = "diff3"
           };
         };
 
@@ -73,10 +76,12 @@
             };
             aliases = {
               # Delimiter use d in every mylog alias as column seperator
-              tree =         "log --full-history --all --graph --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
+              tree =         "log --oneline --graph --simplify-by-decoration --decorate-refs=refs/heads --decorate-refs=refs/tags --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
+              tree-all =         "log --oneline --graph --simplify-by-decoration --all --decorate-refs=refs/heads --decorate-refs=refs/tags --color --date=short --date-order --pretty=format:'%Cred%x09%h %Creset%ad%Cblue%d %Creset %s %C(bold)(%an)%Creset'";
               tree-simple =  "log --full-history --all --graph --color --decorate=short          --format=format:'%C(bold blue)%h%C(reset) %C(auto)%d%C(reset)\n         %C(black)[%cr]%C(reset)  %x09%C(black)%an: %s %C(reset)'";
               tree-chrono = "log --full-history --all --graph --color --date=short --date-order  --pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)'";
               tree-gui =     "gitg";
+              conflict = "--no-pager diff --name-only --diff-filter=U |xargs grep -c '^=======$'";
             };
             ignores = [ "*~" "*.swp" ];
             extraConfig = {
@@ -88,6 +93,7 @@
               # For supercede
               core.symlinks = true;
               safe.directory = "/etc/nixos";
+              merge.conflictstyle = "diff3"
             };
           };
 
-- 
GitLab