File: git-svn

package info (click to toggle)
myrepos 1.20141024
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 260 kB
  • ctags: 41
  • sloc: perl: 1,620; makefile: 26
file content (35 lines) | stat: -rw-r--r-- 1,300 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Adds support for git-svn repositories.

# 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
#
# 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 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