Jens Lehmann <Jens.Lehmann@xxxxxx> writes: > After adding a comment, using test instead of [], testing both $a and > $b and assigning each variable on it's own line I get the following > interdiff. Does that make more sense? My earlier request for comment was to say # $a is always longer than $b for such and such reasons to explain why testing $b without testing $a was sufficient. It is obvious (at least to me) that the loop continues as long as $a and $b begin with the same string before their first '/' and removes that common segment from both of them, so I do not think the new comment is absolutely necessary, but it would not hurt to have it, especially it is short enough and to the point. Thanks. > diff --git a/git-submodule.sh b/git-submodule.sh > index 3463d6d..ed76ce2 100755 > --- a/git-submodule.sh > +++ b/git-submodule.sh > @@ -172,9 +172,11 @@ module_clone() > > a=$(cd "$gitdir" && pwd) > b=$(cd "$path" && pwd) > - while [ "$b" ] && [ "${a%%/*}" = "${b%%/*}" ] > + # Remove all common leading directories > + while test -n "$a" && test -n "$b" && test "${a%%/*}" = "${b%%/*}" > do > - a=${a#*/} b=${b#*/}; > + a=${a#*/} > + b=${b#*/} > done > rel=$(echo $a | sed -e 's|[^/]*|..|g') > (clear_local_git_env; cd "$path" && git config core.worktree "$rel/$b") -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html