Skip to content

Commit d288404

Browse files
dakhubgitgitster
authored andcommitted
git-commit.sh: Shell script cleanup
This moves "shift" out of the argument processing "case". It also replaces quite a bit of expr calls with ${parameter#word} constructs, and uses ${parameter:+word} for avoiding conditionals where possible. Signed-off-by: David Kastrup <dak@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 76bf8d0 commit d288404

File tree

1 file changed

+14
-58
lines changed

1 file changed

+14
-58
lines changed

git-commit.sh

Lines changed: 14 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -98,117 +98,85 @@ do
9898
no_edit=t
9999
log_given=t$log_given
100100
logfile="$1"
101-
shift
102101
;;
103102
-F*|-f*)
104103
no_edit=t
105104
log_given=t$log_given
106-
logfile=`expr "z$1" : 'z-[Ff]\(.*\)'`
107-
shift
105+
logfile="${1#-[Ff]}"
108106
;;
109107
--F=*|--f=*|--fi=*|--fil=*|--file=*)
110108
no_edit=t
111109
log_given=t$log_given
112-
logfile=`expr "z$1" : 'z-[^=]*=\(.*\)'`
113-
shift
110+
logfile="${1#*=}"
114111
;;
115112
-a|--a|--al|--all)
116113
all=t
117-
shift
118114
;;
119115
--au=*|--aut=*|--auth=*|--autho=*|--author=*)
120-
force_author=`expr "z$1" : 'z-[^=]*=\(.*\)'`
121-
shift
116+
force_author="${1#*=}"
122117
;;
123118
--au|--aut|--auth|--autho|--author)
124119
case "$#" in 1) usage ;; esac
125120
shift
126121
force_author="$1"
127-
shift
128122
;;
129123
-e|--e|--ed|--edi|--edit)
130124
edit_flag=t
131-
shift
132125
;;
133126
-i|--i|--in|--inc|--incl|--inclu|--includ|--include)
134127
also=t
135-
shift
136128
;;
137129
--int|--inte|--inter|--intera|--interac|--interact|--interacti|\
138130
--interactiv|--interactive)
139131
interactive=t
140-
shift
141132
;;
142133
-o|--o|--on|--onl|--only)
143134
only=t
144-
shift
145135
;;
146136
-m|--m|--me|--mes|--mess|--messa|--messag|--message)
147137
case "$#" in 1) usage ;; esac
148138
shift
149139
log_given=m$log_given
150-
if test "$log_message" = ''
151-
then
152-
log_message="$1"
153-
else
154-
log_message="$log_message
140+
log_message="${log_message:+${log_message}
155141
156-
$1"
157-
fi
142+
}$1"
158143
no_edit=t
159-
shift
160144
;;
161145
-m*)
162146
log_given=m$log_given
163-
if test "$log_message" = ''
164-
then
165-
log_message=`expr "z$1" : 'z-m\(.*\)'`
166-
else
167-
log_message="$log_message
147+
log_message="${log_message:+${log_message}
168148
169-
`expr "z$1" : 'z-m\(.*\)'`"
170-
fi
149+
}${1#-m}"
171150
no_edit=t
172-
shift
173151
;;
174152
--m=*|--me=*|--mes=*|--mess=*|--messa=*|--messag=*|--message=*)
175153
log_given=m$log_given
176-
if test "$log_message" = ''
177-
then
178-
log_message=`expr "z$1" : 'z-[^=]*=\(.*\)'`
179-
else
180-
log_message="$log_message
154+
log_message="${log_message:+${log_message}
181155
182-
`expr "z$1" : 'zq-[^=]*=\(.*\)'`"
183-
fi
156+
}${1#*=}"
184157
no_edit=t
185-
shift
186158
;;
187159
-n|--n|--no|--no-|--no-v|--no-ve|--no-ver|--no-veri|--no-verif|\
188160
--no-verify)
189161
verify=
190-
shift
191162
;;
192163
--a|--am|--ame|--amen|--amend)
193164
amend=t
194165
use_commit=HEAD
195-
shift
196166
;;
197167
-c)
198168
case "$#" in 1) usage ;; esac
199169
shift
200170
log_given=t$log_given
201171
use_commit="$1"
202172
no_edit=
203-
shift
204173
;;
205174
--ree=*|--reed=*|--reedi=*|--reedit=*|--reedit-=*|--reedit-m=*|\
206175
--reedit-me=*|--reedit-mes=*|--reedit-mess=*|--reedit-messa=*|\
207176
--reedit-messag=*|--reedit-message=*)
208177
log_given=t$log_given
209-
use_commit=`expr "z$1" : 'z-[^=]*=\(.*\)'`
178+
use_commit="${1#*=}"
210179
no_edit=
211-
shift
212180
;;
213181
--ree|--reed|--reedi|--reedit|--reedit-|--reedit-m|--reedit-me|\
214182
--reedit-mes|--reedit-mess|--reedit-messa|--reedit-messag|\
@@ -218,23 +186,20 @@ $1"
218186
log_given=t$log_given
219187
use_commit="$1"
220188
no_edit=
221-
shift
222189
;;
223190
-C)
224191
case "$#" in 1) usage ;; esac
225192
shift
226193
log_given=t$log_given
227194
use_commit="$1"
228195
no_edit=t
229-
shift
230196
;;
231197
--reu=*|--reus=*|--reuse=*|--reuse-=*|--reuse-m=*|--reuse-me=*|\
232198
--reuse-mes=*|--reuse-mess=*|--reuse-messa=*|--reuse-messag=*|\
233199
--reuse-message=*)
234200
log_given=t$log_given
235-
use_commit=`expr "z$1" : 'z-[^=]*=\(.*\)'`
201+
use_commit="${1#*=}"
236202
no_edit=t
237-
shift
238203
;;
239204
--reu|--reus|--reuse|--reuse-|--reuse-m|--reuse-me|--reuse-mes|\
240205
--reuse-mess|--reuse-messa|--reuse-messag|--reuse-message)
@@ -243,32 +208,26 @@ $1"
243208
log_given=t$log_given
244209
use_commit="$1"
245210
no_edit=t
246-
shift
247211
;;
248212
-s|--s|--si|--sig|--sign|--signo|--signof|--signoff)
249213
signoff=t
250-
shift
251214
;;
252215
-t|--t|--te|--tem|--temp|--templ|--templa|--templat|--template)
253216
case "$#" in 1) usage ;; esac
254217
shift
255218
templatefile="$1"
256219
no_edit=
257-
shift
258220
;;
259221
-q|--q|--qu|--qui|--quie|--quiet)
260222
quiet=t
261-
shift
262223
;;
263224
-v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
264225
verbose=t
265-
shift
266226
;;
267227
-u|--u|--un|--unt|--untr|--untra|--untrac|--untrack|--untracke|\
268228
--untracked|--untracked-|--untracked-f|--untracked-fi|--untracked-fil|\
269229
--untracked-file|--untracked-files)
270230
untracked_files=t
271-
shift
272231
;;
273232
--)
274233
shift
@@ -281,6 +240,7 @@ $1"
281240
break
282241
;;
283242
esac
243+
shift
284244
done
285245
case "$edit_flag" in t) no_edit= ;; esac
286246

@@ -441,12 +401,8 @@ esac
441401

442402
if test t = "$verify" && test -x "$GIT_DIR"/hooks/pre-commit
443403
then
444-
if test "$TMP_INDEX"
445-
then
446-
GIT_INDEX_FILE="$TMP_INDEX" "$GIT_DIR"/hooks/pre-commit
447-
else
448-
GIT_INDEX_FILE="$USE_INDEX" "$GIT_DIR"/hooks/pre-commit
449-
fi || exit
404+
GIT_INDEX_FILE="${TMP_INDEX:-${USE_INDEX}}" "$GIT_DIR"/hooks/pre-commit \
405+
|| exit
450406
fi
451407

452408
if test "$log_message" != ''

0 commit comments

Comments
 (0)