comparison .shell.d/50.vcs_functions.sh @ 133:5b0b8ad2cb2c

vcs_functions: some versions of the shell don't like - in function names.
author Augie Fackler <durin42@gmail.com>
date Tue, 18 Aug 2009 10:13:19 -0500
parents 1286c27cf0c0
children 59ea03d7029a
comparison
equal deleted inserted replaced
132:82fd8ff94de8 133:5b0b8ad2cb2c
6 ( wcroot ; 6 ( wcroot ;
7 hg -R .hg/patches $@ 7 hg -R .hg/patches $@
8 ) 8 )
9 } 9 }
10 10
11 function ez-svn-sync() { 11 function ezsvnsync() {
12 local url 12 local url
13 local repo 13 local repo
14 repo=$1 14 repo=$1
15 url=$2 15 url=$2
16 svnadmin create $repo 16 svnadmin create $repo
18 echo 'exit 0' >> $repo/hooks/pre-revprop-change 18 echo 'exit 0' >> $repo/hooks/pre-revprop-change
19 chmod +x $repo/hooks/pre-revprop-change 19 chmod +x $repo/hooks/pre-revprop-change
20 svnsync init file://`pwd`/$repo $url 20 svnsync init file://`pwd`/$repo $url
21 svnsync sync file://`pwd`/$repo 21 svnsync sync file://`pwd`/$repo
22 } 22 }
23 alias ez-svn-sync=ezsvnsync
23 24
24 # Function to grab the url of an svn wc 25 # Function to grab the url of an svn wc
25 function svnurlof() { 26 function svnurlof() {
26 local url 27 local url
27 url=`svn info $1 2> /dev/null | grep '^URL: ' | sed 's/URL: //'` 28 url=`svn info $1 2> /dev/null | grep '^URL: ' | sed 's/URL: //'`
40 echo -n 'No repo found (tried svn, git-svn, hgsvnclient)' 41 echo -n 'No repo found (tried svn, git-svn, hgsvnclient)'
41 fi 42 fi
42 echo $url 43 echo $url
43 } 44 }
44 45
45 function hg-svn-merge-branch() { 46 function hgsvnmergebranch() {
46 local targetrev 47 local targetrev
47 local striprev 48 local striprev
48 targetrev=$(hg id | cut -d ' ' -f 1) 49 targetrev=$(hg id | cut -d ' ' -f 1)
49 hg merge $1 50 hg merge $1
50 hg ci -m "Merging $1" 51 hg ci -m "Merging $1"
51 striprev=$(hg id | cut -d ' ' -f 1) 52 striprev=$(hg id | cut -d ' ' -f 1)
52 hg co $targetrev 53 hg co $targetrev
53 hg diff -r$targetrev:$striprev | hg import - -m "Merged branch $1." 54 hg diff -r$targetrev:$striprev | hg import - -m "Merged branch $1."
54 hg strip $striprev 55 hg strip $striprev
55 } 56 }
56 57 alias hg-svn-merge-branch=hgsvnmergebranch
57 function hg-svn-rebase-all() { 58
59 function hgsvnrebaseall() {
58 for b in `hg log -u 'Augie Fackler <durin42@gmail.com>' --template '{branches}\n' | sort | uniq` 60 for b in `hg log -u 'Augie Fackler <durin42@gmail.com>' --template '{branches}\n' | sort | uniq`
59 do 61 do
60 echo "rebase $b" 62 echo "rebase $b"
61 hg co $b 63 hg co $b
62 if [[ "$?" != "0" ]] ; then 64 if [[ "$?" != "0" ]] ; then
69 else 71 else
70 echo "Skip $b since it has a merge." 72 echo "Skip $b since it has a merge."
71 fi 73 fi
72 done 74 done
73 } 75 }
74 76 alias hg-svn-rebase-all=hgsvnrebaseall
75 function hg-ammend() { 77
78 function hgamend() {
76 hg qimport -r . && hg qref && hg qfin qtip 79 hg qimport -r . && hg qref && hg qfin qtip
77 } 80 }
78 81 alias hg-amend=hgamend
79 function hg-svn-mkbranch() { 82
83 function hgsvnmkbranch() {
80 local upstream 84 local upstream
81 upstream=$(hg paths default | sed 's%/*$%%') 85 upstream=$(hg paths default | sed 's%/*$%%')
82 local branchname 86 local branchname
83 if [ "x$1" = "x" ] ; then 87 if [ "x$1" = "x" ] ; then
84 echo 'Must provide new branch name.' 88 echo 'Must provide new branch name.'
99 }'` 103 }'`
100 104
101 branchname=$br 105 branchname=$br
102 echo svn cp $upstream/$branchname $upstream/branches/$1 106 echo svn cp $upstream/$branchname $upstream/branches/$1
103 } 107 }
108 alias hg-svn-mkbranch=hgsvnmkbranch
104 109
105 # Function to clean locks out of svn wcs 110 # Function to clean locks out of svn wcs
106 function clean_svn_source_trees() { 111 function clean_svn_source_trees() {
107 for aa in */ ; do 112 for aa in */ ; do
108 pushd $aa > /dev/null 113 pushd $aa > /dev/null