From 9152cd9ad0806401a257089efd450726a1cda506 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 24 Jan 2008 13:41:05 -0500 Subject: [PATCH 1/1] merge git-svn support from Bastian Kleineidam's implementation Adds register command, and better tests. Use git-svn log. I left the update command using git-svn fetch instead of git-svn rebase for now, may change this later. --- debian/changelog | 3 ++- lib/git-svn | 20 +++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 44d5de3..2f1e8e1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,8 @@ mr (0.21) UNRELEASED; urgency=low * Add lib/git-svn, which can be included to add support for git-svn - repositories. + repositories. Thanks to Clifford W. Hansen and Bastian Kleineidam + for implementations. Closes: #462408 -- Joey Hess Sat, 19 Jan 2008 13:18:17 -0500 diff --git a/lib/git-svn b/lib/git-svn index 4edda1d..416a2f9 100644 --- a/lib/git-svn +++ b/lib/git-svn @@ -4,13 +4,27 @@ # 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_test = + test -d "$MR_REPO"/.git && + test -z "`git config --get svn-remote.svn.url`" + +git_svn_test = + test -d "$MR_REPO"/.git && + test -n "`git config --get svn-remote.svn.url`" + +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'" + git_svn_update = git-svn fetch git_svn_status = git status "$@" || true git_svn_commit = 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 "$@" # vim:sw=8:sts=0:ts=8:noet -- 2.39.5