File tree 1 file changed +22
-31
lines changed
1 file changed +22
-31
lines changed Original file line number Diff line number Diff line change 3
3
# copy the svn remote url of current svn directory.
4
4
#
5
5
# @Usage
6
- # $ ./svn-url.sh
6
+ # $ ./cp-svn-url.sh
7
+ # $ ./cp-svn-url.sh /path/to/svn/work/dir
7
8
#
8
9
# @author ivanzhangwb
9
-
10
- PROG=` basename $0 `
10
+ readonly PROG=` basename $0 `
11
11
12
12
usage () {
13
13
cat << EOF
25
25
exit $1
26
26
}
27
27
28
- ARGS=` getopt -a -o h -l help -- " $@ " `
29
- [ $? -ne 0 ] && usage 1
30
- eval set -- " ${ARGS} "
31
-
32
- while true ; do
33
- case " $1 " in
34
- -h|--help)
35
- usage
36
- ;;
37
- --)
38
- shift
39
- break
40
- ;;
41
- esac
28
+ for a in " $@ " ; do
29
+ [ -h = " $a " -o --help = " $1 " ] && usage
42
30
done
43
31
44
32
[ $# -gt 1 ] && { echo At most 1 local directory is need! ; usage 1; }
45
33
46
- dir=" ${1} "
47
- dir=${dir:- .}
34
+ readonly dir=" ${1:- .} "
48
35
49
- url=$( svn info " ${dir} " | awk ' /^URL: /{print $2}' )
36
+ readonly url=$( svn info " ${dir} " | awk ' /^URL: /{print $2}' )
50
37
if [ -z " ${url} " ]; then
51
38
echo " Fail to get svn url!" 1>&2
52
39
exit 1
53
40
fi
54
41
55
- name=$( uname | tr A-Z a-z)
56
-
57
- case " ${name} " in
58
- darwin* )
59
- echo -n " ${url} " | pbcopy ;;
60
- cygwin* )
61
- echo -n " ${url} " | clip ;;
62
- * )
63
- echo -n " ${url} " | xsel -b ;;
64
- esac
42
+ copy () {
43
+ local name=$( uname | tr A-Z a-z)
44
+
45
+ case " ${name} " in
46
+ darwin* )
47
+ pbcopy ;;
48
+ cygwin* )
49
+ clip ;;
50
+ mingw* )
51
+ clip ;;
52
+ * )
53
+ xsel -b ;;
54
+ esac
55
+ }
65
56
66
- [ $? == 0 ] && echo " ${url} copied!" || exit 2
57
+ echo -n " ${url} " | copy && echo " ${url} copied!"
You can’t perform that action at this time.
0 commit comments