Re: [bug] Git submodule command interprets switch as argument and switch

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

 



Hi,

R0b0t1 wrote:

> The issue is as follows:
>
> R0b0t1@host:~/devel/project$ git submodule add
> https://github.com/user/project -f
> Cloning into '/home/R0b0t1/devel/project/-f'...

Thanks for reporting.  Confusingly, I think this is intended behavior.
"git help submodule" explains:

	add [-b <branch>] [-f|--force] [--name <name>]
		[--reference <repository>] [--depth <depth>] [--]
		<repository> [<path>]

		Add the given repository as a submodule at the given
		path [etc]

Since the -f comes after <repository>, it is a <path>.

That said, there are a few related things wrong here.

The usage string above says I can put "--" before the <repository> to
make things extra unambiguous.  But when I try that, I get the following
result:

	$ git submodule add -- https://gerrit.googlesource.com/gerrit -f
	Cloning into '/tmp/t/test/-f'...
[...]
	Resolving deltas: 100% (215796/215796), done.
	/usr/lib/git-core/git-submodule: line 261: cd: -f: invalid option
	cd: usage: cd [-L|[-P [-e]] [-@]] [dir]
	Unable to checkout submodule '-f'

If I try to put the "--" between <repository> and <path>, I get another
confusing result:

	$ git submodule add https://gerrit.googlesource.com/gerrit -- -f
	'--' already exists in the index

"git help cli" is supposed to give advice about this kind of thing as
well --- e.g., it gives some sound advice about what form of flags
scripts should use (e.g., to always use the 'stuck' form --name=<name>
instead of --name name).  But it doesn't mention this issue of flags
belonging before other arguments.

Thoughts?

Thanks,
Jonathan



[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