diff options
author | Ori Bernstein <ori@eigenstate.org> | 2022-08-10 11:14:55 +0000 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2022-08-10 11:14:55 +0000 |
commit | 4521ae32bb95562b4210c23bee02a9fe1b1e3137 (patch) | |
tree | 18931bf8150d8788e318e191ed2ee1604c3a47c0 /sys/src | |
parent | ec98c2e178ee0e247e0e425e5e74393c62d4ce36 (diff) |
git/hist: add command to show history of files
Diffstat (limited to 'sys/src')
-rwxr-xr-x | sys/src/cmd/git/hist | 34 | ||||
-rw-r--r-- | sys/src/cmd/git/mkfile | 1 |
2 files changed, 35 insertions, 0 deletions
diff --git a/sys/src/cmd/git/hist b/sys/src/cmd/git/hist new file mode 100755 index 000000000..2c0f64f72 --- /dev/null +++ b/sys/src/cmd/git/hist @@ -0,0 +1,34 @@ +#!/bin/rc +rfork ne + +. /sys/lib/git/common.rc +gitup + +fn dodiff { + while(t=`{read}){ + h=$t(1) + o=.git/fs/object/`{git/query $h~} + c=.git/fs/object/$h + echo 'Hash:' $h + echo -n 'Date: '; date `{walk -em $c/msg} + echo -n 'Author: '; cat $c/author + echo -n 'Message: '; cat $c/msg + echo + for(f in $files){ + curr=$c/tree/$f + prev=$o/tree/$f + if(! test -e $curr) + curr=/dev/null + if(! test -e $prev) + prev=/dev/null + diff -u $prev $curr + } + echo + } +} + +if(~ $#* 0) + die usage: $0 files... + +files=`{cleanname $gitrel/$*} +git/log -s $files | dodiff diff --git a/sys/src/cmd/git/mkfile b/sys/src/cmd/git/mkfile index e8df434ff..d69be86dd 100644 --- a/sys/src/cmd/git/mkfile +++ b/sys/src/cmd/git/mkfile @@ -21,6 +21,7 @@ RC=\ compat\ diff\ export\ + hist\ import\ init\ merge\ |