1
1
: included from 6002 and others
2
2
3
- [ -d .git/refs/tags ] || mkdir -p .git/refs/tags
3
+ mkdir -p .git/refs/tags
4
4
5
- : > sed.script
5
+ > sed.script
6
6
7
- # Answer the sha1 has associated with the tag. The tag must exist in .git or .git/refs/tags
8
- tag ()
9
- {
7
+ # Answer the sha1 has associated with the tag. The tag must exist in .git/refs/tags
8
+ tag () {
10
9
_tag=$1
11
- [ -f .git/refs/tags/$_tag ] || error " tag: \" $_tag \" does not exist"
12
- cat .git/refs/tags/$_tag
10
+ test -f " .git/refs/tags/$_tag " || error " tag: \" $_tag \" does not exist"
11
+ cat " .git/refs/tags/$_tag "
13
12
}
14
13
15
14
# Generate a commit using the text specified to make it unique and the tree
16
15
# named by the tag specified.
17
- unique_commit ()
18
- {
16
+ unique_commit () {
19
17
_text=$1
20
- _tree=$2
18
+ _tree=$2
21
19
shift 2
22
- echo $_text | git commit-tree $( tag $_tree ) " $@ "
20
+ echo " $_text " | git commit-tree $( tag " $_tree " ) " $@ "
23
21
}
24
22
25
23
# Save the output of a command into the tag specified. Prepend
26
24
# a substitution script for the tag onto the front of sed.script
27
- save_tag ()
28
- {
25
+ save_tag () {
29
26
_tag=$1
30
- [ -n " $_tag " ] || error " usage: save_tag tag commit-args ..."
27
+ test -n " $_tag " || error " usage: save_tag tag commit-args ..."
31
28
shift 1
32
- " $@ " > .git/refs/tags/$_tag
29
+ " $@ " > " .git/refs/tags/$_tag "
33
30
34
- echo " s/$( tag $_tag ) /$_tag /g" > sed.script.tmp
35
- cat sed.script >> sed.script.tmp
31
+ echo " s/$( tag $_tag ) /$_tag /g" > sed.script.tmp
32
+ cat sed.script >> sed.script.tmp
36
33
rm sed.script
37
34
mv sed.script.tmp sed.script
38
35
}
39
36
40
37
# Replace unhelpful sha1 hashses with their symbolic equivalents
41
- entag ()
42
- {
38
+ entag () {
43
39
sed -f sed.script
44
40
}
45
41
46
42
# Execute a command after first saving, then setting the GIT_AUTHOR_EMAIL
47
43
# tag to a specified value. Restore the original value on return.
48
- as_author ()
49
- {
44
+ as_author () {
50
45
_author=$1
51
46
shift 1
52
- _save=$GIT_AUTHOR_EMAIL
47
+ _save=$GIT_AUTHOR_EMAIL
53
48
54
49
GIT_AUTHOR_EMAIL=" $_author "
55
50
export GIT_AUTHOR_EMAIL
@@ -63,45 +58,41 @@ as_author()
63
58
fi
64
59
}
65
60
66
- commit_date ()
67
- {
68
- _commit= $1
69
- git cat-file commit $_commit | sed -n " s/^committer .*> \([0-9]*\) .*/\1/p"
61
+ commit_date () {
62
+ _commit= $1
63
+ git cat-file commit $_commit |
64
+ sed -n " s/^committer .*> \([0-9]*\) .*/\1/p"
70
65
}
71
66
72
- on_committer_date ()
73
- {
74
- _date=$1
75
- shift 1
76
- GIT_COMMITTER_DATE=" $_date "
77
- export GIT_COMMITTER_DATE
78
- " $@ "
79
- unset GIT_COMMITTER_DATE
67
+ on_committer_date () {
68
+ _date=$1
69
+ shift 1
70
+ GIT_COMMITTER_DATE=" $_date "
71
+ export GIT_COMMITTER_DATE
72
+ " $@ "
73
+ unset GIT_COMMITTER_DATE
80
74
}
81
75
82
76
# Execute a command and suppress any error output.
83
- hide_error ()
84
- {
77
+ hide_error () {
85
78
" $@ " 2> /dev/null
86
79
}
87
80
88
- check_output ()
89
- {
81
+ check_output () {
90
82
_name=$1
91
83
shift 1
92
- if eval " $* " | entag > $_name .actual
84
+ if eval " $* " | entag > " $_name .actual"
93
85
then
94
- test_cmp $_name .expected $_name .actual
86
+ test_cmp " $_name .expected" " $_name .actual"
95
87
else
96
- return 1;
88
+ return 1
97
89
fi
98
90
}
99
91
100
92
# Turn a reasonable test description into a reasonable test name.
101
93
# All alphanums translated into -'s which are then compressed and stripped
102
94
# from front and back.
103
- name_from_description ()
104
- {
95
+ name_from_description () {
105
96
perl -pe '
106
97
s/[^A-Za-z0-9.]/-/g;
107
98
s/-+/-/g;
@@ -119,9 +110,11 @@ name_from_description()
119
110
test_output_expect_success ()
120
111
{
121
112
_description=$1
122
- _test=$2
123
- [ $# -eq 2 ] || error " usage: test_output_expect_success description test <<EOF ... EOF"
124
- _name=$( echo $_description | name_from_description)
125
- cat > $_name .expected
113
+ _test=$2
114
+ test $# -eq 2 ||
115
+ error " usage: test_output_expect_success description test <<EOF ... EOF"
116
+
117
+ _name=$( echo $_description | name_from_description)
118
+ cat > " $_name .expected"
126
119
test_expect_success " $_description " " check_output $_name \" $_test \" "
127
120
}
0 commit comments