@matheusbsbs / matheus-bagliano / commits / 69a636ad1a
Fork 0

rebase: clearer names for directory variables

Instead of using the old variable name 'dotest' for "$GIT_DIR"/rebase-merge and no variable for "$GIT_DIR"/rebase-apply, introduce two variables 'merge_dir' and 'apply_dir' for these paths. Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Martin von Zweigbergk committed Feb 6, 2011 at 13:43 UTC 69a636ad1ac73a596d8c99a4206a6475b15e8d8d
1 file changed +71 -70
git-rebase.sh
+71 -70
@@ -46,7 +46,8 @@ unset newbase
46 strategy=recursive
47 strategy_opts=
48 do_merge=
49 -dotest="$GIT_DIR"/rebase-merge
49 +merge_dir="$GIT_DIR"/rebase-merge
50 +apply_dir="$GIT_DIR"/rebase-apply
51 prec=4
52 verbose=
53 diffstat=
@@ -58,7 +59,7 @@ allow_rerere_autoupdate=
59
60 continue_merge () {
61 test -n "$prev_head" || die "prev_head must be defined"
61 - test -d "$dotest" || die "$dotest directory does not exist"
62 + test -d "$merge_dir" || die "$merge_dir directory does not exist"
63
64 unmerged=$(git ls-files -u)
65 if test -n "$unmerged"
@@ -68,7 +69,7 @@ continue_merge () {
69 die "$RESOLVEMSG"
70 fi
71
71 - cmt=`cat "$dotest/current"`
72 + cmt=`cat "$merge_dir/current"`
73 if ! git diff-index --quiet --ignore-submodules HEAD --
74 then
75 if ! git commit --no-verify -C "$cmt"
@@ -81,7 +82,7 @@ continue_merge () {
82 then
83 printf "Committed: %0${prec}d " $msgnum
84 fi
84 - echo "$cmt $(git rev-parse HEAD^0)" >> "$dotest/rewritten"
85 + echo "$cmt $(git rev-parse HEAD^0)" >> "$merge_dir/rewritten"
86 else
87 if test -z "$GIT_QUIET"
88 then
@@ -93,22 +94,22 @@ continue_merge () {
94
95 prev_head=`git rev-parse HEAD^0`
96 # save the resulting commit so we can read-tree on it later
96 - echo "$prev_head" > "$dotest/prev_head"
97 + echo "$prev_head" > "$merge_dir/prev_head"
98
99 # onto the next patch:
100 msgnum=$(($msgnum + 1))
100 - echo "$msgnum" >"$dotest/msgnum"
101 + echo "$msgnum" >"$merge_dir/msgnum"
102 }
103
104 call_merge () {
104 - cmt="$(cat "$dotest/cmt.$1")"
105 - echo "$cmt" > "$dotest/current"
105 + cmt="$(cat "$merge_dir/cmt.$1")"
106 + echo "$cmt" > "$merge_dir/current"
107 hd=$(git rev-parse --verify HEAD)
108 cmt_name=$(git symbolic-ref HEAD 2> /dev/null || echo HEAD)
108 - msgnum=$(cat "$dotest/msgnum")
109 - end=$(cat "$dotest/end")
109 + msgnum=$(cat "$merge_dir/msgnum")
110 + end=$(cat "$merge_dir/end")
111 eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
111 - eval GITHEAD_$hd='$(cat "$dotest/onto_name")'
112 + eval GITHEAD_$hd='$(cat "$merge_dir/onto_name")'
113 export GITHEAD_$cmt GITHEAD_$hd
114 if test -n "$GIT_QUIET"
115 then
@@ -138,9 +139,9 @@ call_merge () {
139
140 move_to_original_branch () {
141 test -z "$head_name" &&
141 - head_name="$(cat "$dotest"/head-name)" &&
142 - onto="$(cat "$dotest"/onto)" &&
143 - orig_head="$(cat "$dotest"/orig-head)"
142 + head_name="$(cat "$merge_dir"/head-name)" &&
143 + onto="$(cat "$merge_dir"/onto)" &&
144 + orig_head="$(cat "$merge_dir"/orig-head)"
145 case "$head_name" in
146 refs/*)
147 message="rebase finished: $head_name onto $onto"
@@ -154,12 +155,12 @@ move_to_original_branch () {
155
156 finish_rb_merge () {
157 move_to_original_branch
157 - git notes copy --for-rewrite=rebase < "$dotest"/rewritten
158 + git notes copy --for-rewrite=rebase < "$merge_dir"/rewritten
159 if test -x "$GIT_DIR"/hooks/post-rewrite &&
159 - test -s "$dotest"/rewritten; then
160 - "$GIT_DIR"/hooks/post-rewrite rebase < "$dotest"/rewritten
160 + test -s "$merge_dir"/rewritten; then
161 + "$GIT_DIR"/hooks/post-rewrite rebase < "$merge_dir"/rewritten
162 fi
162 - rm -r "$dotest"
163 + rm -r "$merge_dir"
164 say All done.
165 }
166
@@ -183,7 +184,7 @@ is_interactive () {
184 export GIT_EDITOR
185 fi
186
186 - test -n "$interactive_rebase" || test -f "$dotest"/interactive
187 + test -n "$interactive_rebase" || test -f "$merge_dir"/interactive
188 }
189
190 run_pre_rebase_hook () {
@@ -195,7 +196,7 @@ run_pre_rebase_hook () {
196 fi
197 }
198
198 -test -f "$GIT_DIR"/rebase-apply/applying &&
199 +test -f "$apply_dir"/applying &&
200 die 'It looks like git-am is in progress. Cannot rebase.'
201
202 is_interactive "$@" && exec git-rebase--interactive "$@"
@@ -210,7 +211,7 @@ do
211 OK_TO_SKIP_PRE_REBASE=
212 ;;
213 --continue)
213 - test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply ||
214 + test -d "$merge_dir" -o -d "$apply_dir" ||
215 die "No rebase in progress?"
216
217 git update-index --ignore-submodules --refresh &&
@@ -219,13 +220,13 @@ do
220 echo "mark them as resolved using git add"
221 exit 1
222 }
222 - if test -d "$dotest"
223 + if test -d "$merge_dir"
224 then
224 - prev_head=$(cat "$dotest/prev_head")
225 - end=$(cat "$dotest/end")
226 - msgnum=$(cat "$dotest/msgnum")
227 - onto=$(cat "$dotest/onto")
228 - GIT_QUIET=$(cat "$dotest/quiet")
225 + prev_head=$(cat "$merge_dir/prev_head")
226 + end=$(cat "$merge_dir/end")
227 + msgnum=$(cat "$merge_dir/msgnum")
228 + onto=$(cat "$merge_dir/onto")
229 + GIT_QUIET=$(cat "$merge_dir/quiet")
230 continue_merge
231 while test "$msgnum" -le "$end"
232 do
@@ -235,28 +236,28 @@ do
236 finish_rb_merge
237 exit
238 fi
238 - head_name=$(cat "$GIT_DIR"/rebase-apply/head-name) &&
239 - onto=$(cat "$GIT_DIR"/rebase-apply/onto) &&
240 - orig_head=$(cat "$GIT_DIR"/rebase-apply/orig-head) &&
241 - GIT_QUIET=$(cat "$GIT_DIR"/rebase-apply/quiet)
239 + head_name=$(cat "$apply_dir"/head-name) &&
240 + onto=$(cat "$apply_dir"/onto) &&
241 + orig_head=$(cat "$apply_dir"/orig-head) &&
242 + GIT_QUIET=$(cat "$apply_dir"/quiet)
243 git am --resolved --3way --resolvemsg="$RESOLVEMSG" &&
244 move_to_original_branch
245 exit
246 ;;
247 --skip)
247 - test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply ||
248 + test -d "$merge_dir" -o -d "$apply_dir" ||
249 die "No rebase in progress?"
250
251 git reset --hard HEAD || exit $?
251 - if test -d "$dotest"
252 + if test -d "$merge_dir"
253 then
254 git rerere clear
254 - prev_head=$(cat "$dotest/prev_head")
255 - end=$(cat "$dotest/end")
256 - msgnum=$(cat "$dotest/msgnum")
255 + prev_head=$(cat "$merge_dir/prev_head")
256 + end=$(cat "$merge_dir/end")
257 + msgnum=$(cat "$merge_dir/msgnum")
258 msgnum=$(($msgnum + 1))
258 - onto=$(cat "$dotest/onto")
259 - GIT_QUIET=$(cat "$dotest/quiet")
259 + onto=$(cat "$merge_dir/onto")
260 + GIT_QUIET=$(cat "$merge_dir/quiet")
261 while test "$msgnum" -le "$end"
262 do
263 call_merge "$msgnum"
@@ -265,31 +266,31 @@ do
266 finish_rb_merge
267 exit
268 fi
268 - head_name=$(cat "$GIT_DIR"/rebase-apply/head-name) &&
269 - onto=$(cat "$GIT_DIR"/rebase-apply/onto) &&
270 - orig_head=$(cat "$GIT_DIR"/rebase-apply/orig-head) &&
271 - GIT_QUIET=$(cat "$GIT_DIR"/rebase-apply/quiet)
269 + head_name=$(cat "$apply_dir"/head-name) &&
270 + onto=$(cat "$apply_dir"/onto) &&
271 + orig_head=$(cat "$apply_dir"/orig-head) &&
272 + GIT_QUIET=$(cat "$apply_dir"/quiet)
273 git am -3 --skip --resolvemsg="$RESOLVEMSG" &&
274 move_to_original_branch
275 exit
276 ;;
277 --abort)
277 - test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply ||
278 + test -d "$merge_dir" -o -d "$apply_dir" ||
279 die "No rebase in progress?"
280
281 git rerere clear
282
282 - test -d "$dotest" || dotest="$GIT_DIR"/rebase-apply
283 + test -d "$merge_dir" || merge_dir="$apply_dir"
284
284 - head_name="$(cat "$dotest"/head-name)" &&
285 + head_name="$(cat "$merge_dir"/head-name)" &&
286 case "$head_name" in
287 refs/*)
288 git symbolic-ref HEAD $head_name ||
289 die "Could not move back to $head_name"
290 ;;
291 esac
291 - git reset --hard $(cat "$dotest/orig-head")
292 - rm -r "$dotest"
292 + git reset --hard $(cat "$merge_dir/orig-head")
293 + rm -r "$merge_dir"
294 exit
295 ;;
296 --onto)
@@ -388,31 +389,31 @@ test $# -gt 2 && usage
389
390 if test $# -eq 0 && test -z "$rebase_root"
391 then
391 - test -d "$dotest" -o -d "$GIT_DIR"/rebase-apply || usage
392 - test -d "$dotest" -o -f "$GIT_DIR"/rebase-apply/rebasing &&
392 + test -d "$merge_dir" -o -d "$apply_dir" || usage
393 + test -d "$merge_dir" -o -f "$apply_dir"/rebasing &&
394 die 'A rebase is in progress, try --continue, --skip or --abort.'
395 fi
396
396 -# Make sure we do not have $GIT_DIR/rebase-apply
397 +# Make sure we do not have $apply_dir or $merge_dir
398 if test -z "$do_merge"
399 then
399 - if mkdir "$GIT_DIR"/rebase-apply 2>/dev/null
400 + if mkdir "$apply_dir" 2>/dev/null
401 then
401 - rmdir "$GIT_DIR"/rebase-apply
402 + rmdir "$apply_dir"
403 else
404 echo >&2 '
405 It seems that I cannot create a rebase-apply directory, and
406 I wonder if you are in the middle of patch application or another
407 rebase. If that is not the case, please
407 - rm -fr '"$GIT_DIR"'/rebase-apply
408 + rm -fr '"$apply_dir"'
409 and run me again. I am stopping in case you still have something
410 valuable there.'
411 exit 1
412 fi
413 else
413 - if test -d "$dotest"
414 + if test -d "$merge_dir"
415 then
415 - die "previous rebase directory $dotest still exists." \
416 + die "previous rebase directory $merge_dir still exists." \
417 'Try git rebase (--continue | --abort | --skip)'
418 fi
419 fi
@@ -561,35 +562,35 @@ then
562 git am $git_am_opt --rebasing --resolvemsg="$RESOLVEMSG" &&
563 move_to_original_branch
564 ret=$?
564 - test 0 != $ret -a -d "$GIT_DIR"/rebase-apply &&
565 - echo $head_name > "$GIT_DIR"/rebase-apply/head-name &&
566 - echo $onto > "$GIT_DIR"/rebase-apply/onto &&
567 - echo $orig_head > "$GIT_DIR"/rebase-apply/orig-head &&
568 - echo "$GIT_QUIET" > "$GIT_DIR"/rebase-apply/quiet
565 + test 0 != $ret -a -d "$apply_dir" &&
566 + echo $head_name > "$apply_dir/head-name" &&
567 + echo $onto > "$apply_dir/onto" &&
568 + echo $orig_head > "$apply_dir/orig-head" &&
569 + echo "$GIT_QUIET" > "$apply_dir/quiet"
570 exit $ret
571 fi
572
573 # start doing a rebase with git-merge
574 # this is rename-aware if the recursive (default) strategy is used
575
575 -mkdir -p "$dotest"
576 -echo "$onto" > "$dotest/onto"
577 -echo "$onto_name" > "$dotest/onto_name"
576 +mkdir -p "$merge_dir"
577 +echo "$onto" > "$merge_dir/onto"
578 +echo "$onto_name" > "$merge_dir/onto_name"
579 prev_head=$orig_head
579 -echo "$prev_head" > "$dotest/prev_head"
580 -echo "$orig_head" > "$dotest/orig-head"
581 -echo "$head_name" > "$dotest/head-name"
582 -echo "$GIT_QUIET" > "$dotest/quiet"
580 +echo "$prev_head" > "$merge_dir/prev_head"
581 +echo "$orig_head" > "$merge_dir/orig-head"
582 +echo "$head_name" > "$merge_dir/head-name"
583 +echo "$GIT_QUIET" > "$merge_dir/quiet"
584
585 msgnum=0
586 for cmt in `git rev-list --reverse --no-merges "$revisions"`
587 do
588 msgnum=$(($msgnum + 1))
588 - echo "$cmt" > "$dotest/cmt.$msgnum"
589 + echo "$cmt" > "$merge_dir/cmt.$msgnum"
590 done
591
591 -echo 1 >"$dotest/msgnum"
592 -echo $msgnum >"$dotest/end"
592 +echo 1 >"$merge_dir/msgnum"
593 +echo $msgnum >"$merge_dir/end"
594
595 end=$msgnum
596 msgnum=1