public
Last active — forked from mojodna/git-svn-diff.sh

git-svn-diff.sh

  • Download Gist
gistfile1.sh
Shell
1 2 3 4 5 6 7 8 9 10
#!/bin/sh
#
# git-svn-diff
# Generate an SVN-compatible diff against the tip of the tracking branch
TRACKING_BRANCH=`git config --get svn-remote.svn.fetch | sed -e 's/.*:refs\/remotes\///'`
REV=`git svn find-rev $(git rev-list --date-order --max-count=1 $TRACKING_BRANCH)`
git diff --no-prefix $(git rev-list --date-order --max-count=1 $TRACKING_BRANCH) $* |
sed -e "s/^+++ .*/& (working copy)/" -e "s/^--- .*/& (revision $REV)/" \
-e "s/^diff --git [^[:space:]]*/Index:/" \
-e "s/^index.*/===================================================================/"

Line 26 has a sed syntax issue that prevents it from running on my OS X setup. I get this error:

sed: 1: "/--- \/dev\/null/{ N; s ...": bad flag in substitute command: '}'

You need a semicolon before the ending curly brace. Fixed here in my fork.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.