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.

22 lines
757 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. # by uoou, checkout gitlab.com/uoou/dotfiles
  5. git checkout master &&
  6. dotfiles="/home/tiynger/.config/dotfiles/suckless"
  7. project=$(basename $(pwd))
  8. diffdir="${dotfiles}/${project}_diffs/"
  9. olddiffdir="${dotfiles}/${project}_diffs/old/"
  10. rm -rf "$olddiffdir" &&
  11. mkdir -p "$olddiffdir" &&
  12. mkdir -p "$diffdir" &&
  13. mv "$diffdir"*.diff "$olddiffdir" || true &&
  14. make clean && rm -f config.h && git reset --hard origin/base &&
  15. for branch in $(git for-each-ref --format='%(refname)' refs/heads/ | cut -d'/' -f3); do
  16. if [ "$branch" != "master" ];then
  17. git diff base..$branch > "${diffdir}${project}_${branch}.diff"
  18. fi
  19. done