Elia Pinto <gitter.spi...@gmail.com> writes:

> @@ -832,7 +832,7 @@ Maybe you want to use 'update --init'?")"
>                       continue
>               fi
> -             if ! test -d "$sm_path"/.git -o -f "$sm_path"/.git
> +             if ! test -d "$sm_path"/.git && test -f "$sm_path"/.git

Hmmmm.  Is the above correct?

    $ if ! false && true; then echo true; else echo false; fi

In other words, "! cmd1 && cmd2" parses not as "! (cmd1 && cmd2)"
but as "(! cmd1) && cmd2".

It almost makes me wonder if the code may become simpler if we did
it the way in the attached.  That is, "if $sm_path/.git is there
(whether as an embedded repository, or a file pointing to a
repository elsewhere), then grab its HEAD, otherwise $sm_path is a
submodule that hasn't been run 'submodule init' on, so run the whole
nine yards starting from module_clone".

 git-submodule.sh | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/git-submodule.sh b/git-submodule.sh
index e146b83..018f1bb 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -832,15 +832,15 @@ Maybe you want to use 'update --init'?")"
-               if ! test -d "$sm_path"/.git -o -f "$sm_path"/.git
+               if test -e "$sm_path/.git"
-                       module_clone "$sm_path" "$name" "$url" "$reference" 
"$depth" || exit
-                       cloned_modules="$cloned_modules;$name"
-                       subsha1=
-               else
                        subsha1=$(clear_local_git_env; cd "$sm_path" &&
                                git rev-parse --verify HEAD) ||
                        die "$(eval_gettext "Unable to find current revision in 
submodule path '\$displaypath'")"
+               else
+                       module_clone "$sm_path" "$name" "$url" "$reference" 
"$depth" || exit
+                       cloned_modules="$cloned_modules;$name"
+                       subsha1=
                if test -n "$remote"
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to