]> git.cworth.org Git - nogit/commitdiff
Add a "nogit log" command
authorCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 00:59:22 +0000 (17:59 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 7 Jul 2020 00:59:22 +0000 (17:59 -0700)
Along with a simple pretty format to back it up (so that we can see
hash, author, and author date, and the diff itself, but not the commit
message which has no meaning in nogit land).

nogit

diff --git a/nogit b/nogit
index 68420025c8dea9e6457e518c3b2b7bc4a01a93b4..9135d4e8894ac0c9557b51d989ed74eed55fe812 100755 (executable)
--- a/nogit
+++ b/nogit
@@ -52,6 +52,10 @@ usage()
     echo "          with an auto-generated commit message)"
     echo ""
     echo "        * Push out any new commits generated locally"
+    echo ""
+    echo "nogit log"
+    echo ""
+    echo "    Display a log of changes"
 }
 
 nogit_clone()
@@ -103,6 +107,9 @@ nogit_clone()
     mkdir -p tmp/.git/info
     echo '* merge=union' > tmp/.git/info/attributes
 
+    # Install the config entry for the pretty format for "nogit log"
+    (cd tmp; git config pretty.nogit "format:%Cblue%h %an (%ad)%Creset")
+
     # Now that we've passed the sanity check, install the cloned .git
     # object store into $NOGIT_DIR, cleanup our temporary files, and
     # checkout the (known to not be conflicting) files.
@@ -129,6 +136,11 @@ nogit_sync()
     echo "Completed nogit sync"
 }
 
+nogit_log()
+{
+    GIT_DIR=$NOGIT_DIR git log -p --pretty=nogit
+}
+
 if [ $# -lt 1 ]; then
     echo "Error: missing command name." >&2
     echo ""
@@ -149,6 +161,9 @@ case "$cmd" in
     sync)
         nogit_sync
        ;;
+    log)
+        nogit_log
+        ;;
     help)
         usage
         true