git submodule output on invalid command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If you give git submodule an invalid commands, it outputs nothing.
For example:

	Vienna:git pieter$ git submodule satsus
	Vienna:git pieter$

This is because the default command is 'status' and status accepts paths to
limit the output.

I tried to find a fix for this, but git-submodule also allows a syntax
like

	git submodule --cached status
and
	git submodule --cached

so you can't just look at the first argument to see if a command is valid.
Similarly, the default command is 'status', so something like

	Vienna:bonnenteller pieter$ git submodule vendor/
	ef38bc83b7ff4b290a6b1f4d82df03585fbb7529 vendor/plugins/will_paginate (2.3.2)

is also valid. Using that line of reasoning, something like 'git submodule satsus'
is valid and should return nothing, because there are no submodules in
the 'satsus' path. However, I still feel this should produce a warning.

I'm sure there is a nicer way to alert the user than my patch below, which
warns if the user did not supply any valid paths. Anyone else got a more
satisfying approach?

- Pieter

diff --git a/git-submodule.sh b/git-submodule.sh
index 1c39b59..3aae746 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -59,7 +59,12 @@ resolve_relative_url ()
 #
 module_list()
 {
-       git ls-files --stage -- "$@" | grep '^160000 '
+       git ls-files --stage -- "$@" | grep '^160000 ' ||
+       if test -z "$@"; then
+               die "This repository contains no submodules"
+       else
+               die "Could not find any submodules in paths $@"
+       fi
 }
 
 #

--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux