DYD
Daily diff.
This command line tool facilitates the viewing of git diffs across multiple projects, across multiple days. See what you're doing across teams, and across all the git repos your teams manage.
Installation
cargo install dyd
Configure git with a GUI difftool:
[]
= Kaleidoscope
= Kaleidoscope
[]
= false
[]
= ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[]
= ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
= true
Usage
Create a manifest file at dyd.toml with the following format:
= "3 days ago"
# " ^^^^ days | weeks | months
## difftool = "my diff tool"
[]
[]
= "DYD"
= "git@github.com:synchronal/dyd"
[]
= "TUI"
= "git@github.com:fdehau/tui-rs"
Ensure that your shell is authorized with the origin. DYD will not route input to the SSH agent.
ssh-add ~/.ssh/id_ed25519
Open the diff tool:
dyd -m dyd.toml
dyd --manifest dyd.toml
Keymap:
h l <left> <right> <tab> - switch panes
j k <up> <down> - change current selection
d - open git gui difftool
q <esc> - quit
Other difftools
IntelliJ IDEA:
[]
= intellij
[]
= /Applications/IntelliJ\\ IDEA\\ CE.app/Contents/MacOS/idea diff $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE")
Manifest:
= "git difftool --dir-diff -g -y"
TODO:
- gitx
- kdiff3
- ???