Git clone writable

From SlackWiki
Jump to navigation Jump to search
# Annoyingly some 'git clone' files aren't user-writable: dangerously tempts 'sudo rm -rf'!. Bash function.
# Writable git clone
git()
{
  command git "$@"
  if [ $1 = 'clone' ]; then
    d="$@"; d=${d##*/}; d=${d%.git}; d=${d##* }
    #read -p "dir: $d"
    if [ -d "$d" ]; then
      chmod -R u+w $d/.git*
      # Maybe faster than previous line.
      #find $d -iname .git* -perm u-w -exec chmod u+w {} \+
      cd $d
      VERSION=$(git log --pretty=format:'%cd_%h' --date=format:'%Y%m%d' | head -n 1)
      # Maybe faster than above chmod/find.
      #rm -fR .git*
      cd ..
      tar --exclude-vcs -cJvf $d-$VERSION.tar.xz $d
    else echo "save/download error"
    fi
  fi;
}