view .shell.d/50.git_functions.sh @ 439:2325dea339ca

smailq: vendor script to ease handling outgoing mail From commit 5b83ca873f1dc9117a9b3590f0aa07fe2806fce9 of http://git.sthu.org/repos/smailq.git - documented at https://www.sthu.org/code/smailq.html.
author Augie Fackler <raf@durin42.com>
date Sat, 15 Jul 2017 12:57:17 -0400
parents 0cd241f35c40
children
line wrap: on
line source

# git utility functions

function git_next_unmerged_file() {
  git status | egrep '(unmerged|both modified)' | head -n 1 | sed 's/.*:   //'
}
alias git-next-unmerged-file=git_next_unmerged_file

function git_repack_all() {
  for repo in $(find . | \
      grep '/objects/pack/' | \
      sed -e 's%\.git/objects/pack/.*%%' | \
      sed -e 's%git/objects/pack/.*%git%' | sort | uniq) ; do
    pushd $repo
    git repack -ad --window 100
    git gc --prune="`date`"
    popd
  done
}
alias git-repack-all=git_repack_all

function git_fsck_all() {
  for repo in $(find . | \
      grep '/objects/pack/' | \
      sed -e 's%\.git/objects/pack/.*%%' | \
      sed -e 's%git/objects/pack/.*%git%' | sort | uniq) ; do
    pushd $repo
    git fsck
    popd
  done
}
alias git-fsck-all=git_fsck_all