view .shell.d/50.git_functions.sh @ 391:24d75bc4a3a1

hgimp: add support for using --partial on imported patches Most of the time that's not what I want, but recently it was useful a couple of times in a row.
author Augie Fackler <raf@durin42.com>
date Wed, 16 Mar 2016 14:32:55 -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