forked from andrep/git-svn-clone-externals
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsvn_clone.sh
executable file
·54 lines (48 loc) · 1.19 KB
/
svn_clone.sh
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
##############################################################
#
# clone code from suversion server hisi3531
#
##############################################################
git_repo_default="[email protected]:/opt/NvrSys/hbgk_nvr.git"
svn_repo_default="svn://192.168.5.1/hbgk_nvr"
local_dir_default="source_dir"
svn_branch_default="svn_hbgk_nvr"
if echo $1 | grep -qi "help";then
echo "clone code from version server"
echo "Usage:"
echo "svn_clone [[usrname@]git_repository] [svn_repository] [local_dir]"
echo " dir is a directory will clone to, defautl: current dir"
echo " user used for login a verison server name, defautl: root"
echo
exit
fi
CLONE_PWD=`pwd`
if [ -z $1 ]
then
git_repo=${git_repo_default}
else
git_repo=$1
fi
if [ -z $2 ]
then
svn_repo=${svn_repo_default}
else
svn_repo=$2
fi
if [ -z $3 ]
then
local_dir=${local_dir_default}
else
local_dir=$3
fi
git clone ${git_repo} ${local_dir}
pushd ${local_dir}
echo Enter directory: ${local_dir}
echo clone svn remote ${svn_repo} ...
git config --add svn-remote.svn.url ${svn_repo}
git config --add svn-remote.svn.fetch :refs/remotes/git-svn
git svn fetch
git gc
popd
echo clone ${git_repo} and binding ${svn_repo} success