## # systrunk diff [<from>=BASE] [<to>=WKTREE] # # Perform a unified diff (diff -u) between <from> and <to>, which # should be two revisions in the repository. If not supplied, <to> # will be the worktree. Otherwise, there is no way to specify the # worktree. ## function systr_diff { if [ $# -lt 2 ]; then to="." else to=$(systr_repo_resolve_reference "$2") to="$path/revs/$to/" fi if [ $# -lt 1 ]; then from="$BASE" else from=$(systr_repo_resolve_reference "$1") fi from="$path/revs/$from/" diff -ruNd --color=auto --exclude='*.systr' "$from" "$to" } ## # systrunk shortdiff [<from>=BASE] [<to>=WKTREE] # # Indicate only names of files that have been changed, added, # or removed between <from> and <to>, which should be two # revisions in the repository. If not supplied, <to> will be # the worktree. Otherwise, there is no way to specify the # worktree. ## function systr_short_diff { if [ $# -lt 2 ]; then to="." else to=$(systr_repo_resolve_reference "$2") to="$path/revs/$to/" fi if [ $# -lt 1 ]; then from="$BASE" else from=$(systr_repo_resolve_reference "$1") fi if [[ "$from" == "NULL" ]]; then exit fi from="$path/revs/$from/" diff -qr --exclude='*.systr' "$from" "$to" }