Dotfiles for different machines on different branches.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
712 B

  1. #!/usr/bin/zsh
  2. # for showing the diffs to the master branch of a git directory according to my suckless patch structure
  3. # e.g. see dwm/st/etc
  4. git checkout master &&
  5. dotfiles="/home/tiynger/.config/dotfiles/suckless"
  6. project=$(basename $(pwd))
  7. diffdir="${dotfiles}/${project}_diffs/"
  8. olddiffdir="${dotfiles}/${project}_diffs/old/"
  9. rm -rf "$olddiffdir" &&
  10. mkdir -p "$olddiffdir" &&
  11. mkdir -p "$diffdir" &&
  12. mv "$diffdir"*.diff "$olddiffdir" || true &&
  13. make clean && rm -f config.h && git reset --hard origin/base &&
  14. for branch in $(git for-each-ref --format='%(refname)' refs/heads/ | cut -d'/' -f3); do
  15. if [ "$branch" != "master" ];then
  16. git diff base..$branch > "${diffdir}${project}_${branch}.diff"
  17. fi
  18. done