X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/177abc159286a0e1c19614a169aeae6036b5955a..9bb2d93cc4f0a0c55d1d6634a52ddf20db9853f3:/lib/git-svn diff --git a/lib/git-svn b/lib/git-svn index 4edda1d..212923a 100644 --- a/lib/git-svn +++ b/lib/git-svn @@ -3,14 +3,33 @@ # To make mr use this file, add a line like this inside the [DEFAULT] # section of your ~/.mrconfig #include = cat /usr/share/mr/git-svn - -git_test = test -d "$MR_REPO"/.git && ! test -d "$MR_REPO"/.git/svn/git-svn -git_svn_test = test -d "$MR_REPO"/.git/svn/git-svn -git_svn_update = git-svn fetch -git_svn_status = git status "$@" || true -git_svn_commit = git-svn dcommit +# +# Note that by default this makes mr update do a git svn fetch. +# Some might prefer it to do a git svn rebase, if you do, you can +# configure that as follows in your ~/.mrconfig: +#git_svn_update = git svn rebase +git_svn_update = git svn fetch +git_svn_status = git status -s "$@" || true; git --no-pager log --branches --not --remotes --simplify-by-decoration --decorate --oneline || true +git_svn_commit = git svn dcommit +git_svn_push = git svn dcommit git_svn_record = git commit -a "$@" git_svn_diff = git diff "$@" -git_svn_log = git log "$@" +git_svn_log = git svn log "$@" + +git_test = perl: + -d "$ENV{MR_REPO}/.git" && + `GIT_CONFIG="$ENV{MR_REPO}"/.git/config git config --get svn-remote.svn.url` eq "" + +git_svn_test = perl: + -d "$ENV{MR_REPO}/.git" && + `GIT_CONFIG="$ENV{MR_REPO}"/.git/config git config --get svn-remote.svn.url` ne "" + +git_svn_register = + url="`LC_ALL=C git config --get svn-remote.svn.url`" || true + if [ -z "$url" ]; then + error "cannot determine git svn url" + fi + echo "Registering git svn url: $url in $MR_CONFIG" + mr -c "$MR_CONFIG" config "`pwd`" checkout="git svn clone '$url' '$MR_REPO'" # vim:sw=8:sts=0:ts=8:noet