On Mon, Sep 12, 2016 at 1:09 AM, Thomas Gummerer <t.gumme...@gmail.com> wrote:
> On 09/12, Pranit Bauva wrote:
>> Hey everyone,
>> One of my friend was trying to add files using the command `git add
>> .*` and got an error that "fatal: ..: '..' is outside repository"
>> which did seem a little obvious to me. But then I tried to reproduce
>> it in my machine with `git add ".*"` and it didn't error out. I am
>> currently using git 2.9.3 on Ubuntu 15.04 while he is using git 1.9.1
>> on Ubuntu 16.04. What might have gone wrong?
> The difference seems to be that you quoted the .*, which leaves the .*
> in place for gits internal pathspec machinery, which then only
> considers paths inside of the repository.
> The non quoted version your friend used meanwhile is expanded by the
> shell itself, which seems to be expanding it to ., the current
> directory, and .., the parent directory. This behaviour also depends
> on the shell used, for me .* in bash includes the current as well as
> the parent directory, while .* in zsh doesn't include either of these.
This seems to be a reasonable reason. I had guessed the behaviour of
the shell but didn't really know what was happening with the quoted
version. And I guess it cannot really be fixed because it depends on
the shell. I tried it out on bash though forgot to mention it. Thanks
for the help!