Skip to content

Instantly share code, notes, and snippets.

@arnorhs
Forked from tessro/gist:1515117
Created December 24, 2011 10:40
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save arnorhs/1517095 to your computer and use it in GitHub Desktop.
Save arnorhs/1517095 to your computer and use it in GitHub Desktop.
gitopen - Open all files from a git diff or show command
#!/bin/bash
# This script will open all files from a git diff or a git show in vim.
# My bash skills are a bit primitive so this can probably be done more intelligently
# Usage:
# gitopen -- opens all added files that have changed since HEAD
# gitopen diff HEAD -- these are the default parameters
# gitopen diff master -- opens files that have changed from master
# gitopen show -- opens files that were changed in the last revision (HEAD)
# gitopen show HEAD -- default param, does the same
# gitopen show 4b3ca34 -- opens a particular REV
# It's set to use macvim as the default editor, you can change that easily by
# changing this line:
EDITOR=${EDITOR:-"$HOME/bin/mvim --remote-silent"}
COMMAND=diff
REV=HEAD
if [ $1 ]; then
COMMAND=$1
fi
if [ $2 ]; then
REV=$2
fi
if [ $COMMAND = "show" ]; then
PARAM='--pretty=format: --name-only'
else
PARAM='--name-only'
fi
git $COMMAND $PARAM $REV | xargs $EDITOR
@jhwheeler
Copy link

This is brilliant! Just what I needed. Thank you, @arnorhs! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment