Git thinks a failing command doesn't exist

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

Git thinks a failing command doesn't exist

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:18

Has this been noted before:

    $ git rebase --continue
    .: 986: Can't open /home/avar/g/git/.git/rebase-merge/author-script
    git: 'rebase' is not a git command. See 'git --help'.
    Did you mean this?
            rebase

Rebase failed, but the help mechanism seems to just test the exit
code, or something similar.

Perhaps help_unknown_cmd could just check if the command it's
suggesting == what it says doesn't exist, if so the command probably
failed, but maybe there's a better solution.

Re: Git thinks a failing command doesn't exist

From: Jeff King <hidden>
Date: 2016-06-15 22:49:18

On Wed, Aug 11, 2010 at 07:12:38PM +0000, Ævar Arnfjörð Bjarmason wrote:
Has this been noted before:

    $ git rebase --continue
    .: 986: Can't open /home/avar/g/git/.git/rebase-merge/author-script
    git: 'rebase' is not a git command. See 'git --help'.
    Did you mean this?
            rebase

Rebase failed, but the help mechanism seems to just test the exit
code, or something similar.
Which git version and which platform? There is code in run-command to
check for an exit code of 127 (which is what posix shells should produce
for a missing command), and to set ENOENT in that case, which is what
execv_dashed_external notices for a missing command.

So either your shell is producing that exit code for a different case,
or git is broken.

-Peff

Re: Git thinks a failing command doesn't exist

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:18

On Wed, Aug 11, 2010 at 19:25, Jeff King [off-list ref] wrote:
On Wed, Aug 11, 2010 at 07:12:38PM +0000, Ævar Arnfjörð Bjarmason wrote:
quoted
Has this been noted before:

    $ git rebase --continue
    .: 986: Can't open /home/avar/g/git/.git/rebase-merge/author-script
    git: 'rebase' is not a git command. See 'git --help'.
    Did you mean this?
            rebase

Rebase failed, but the help mechanism seems to just test the exit
code, or something similar.
Which git version and which platform? There is code in run-command to
check for an exit code of 127 (which is what posix shells should produce
for a missing command), and to set ENOENT in that case, which is what
execv_dashed_external notices for a missing command.
It's 1.7.2.1.295.gdf931 on Debian testing. Which is pu as it was on
midnight UTC (I build it from cron) + these patches (which shouldn't
matter):

    # Monkeypatches

                  git cherry-pick 041bc904d2 # t/lib-git-svn.sh: use
$PERL_PATH for perl, not perl from $PATH
    git cherry-pick 855a1f8836 # commit: fix test broken by
jn/commit-no-change-wo-status
    git revert --no-edit 48e46574e6 # rebase -i: add exec command to
launch a shell command
So either your shell is producing that exit code for a different case,
or git is broken.
My shell is Debian /bin/dash 0.5.5.1-6.

Unfortunately the error with rebase was some one-off thing that I
couldn't reproduce. I'm not even sure /what/ I did to make it happen.

Re: Git thinks a failing command doesn't exist

From: Jeff King <hidden>
Date: 2016-06-15 22:49:18

On Wed, Aug 11, 2010 at 07:45:14PM +0000, Ævar Arnfjörð Bjarmason wrote:
quoted
So either your shell is producing that exit code for a different case,
or git is broken.
My shell is Debian /bin/dash 0.5.5.1-6.
Hmm, I can't reproduce here, and I am also using dash as my shell.
Unfortunately the error with rebase was some one-off thing that I
couldn't reproduce. I'm not even sure /what/ I did to make it happen.
OK. The code is _supposed_ to work as you expected, so if it happens
again, I guess try to reproduce and we'll go from there.

-Peff

Re: Git thinks a failing command doesn't exist

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:18

On Wed, Aug 11, 2010 at 19:48, Jeff King [off-list ref] wrote:
On Wed, Aug 11, 2010 at 07:45:14PM +0000, Ævar Arnfjörð Bjarmason wrote:
quoted
quoted
So either your shell is producing that exit code for a different case,
or git is broken.
My shell is Debian /bin/dash 0.5.5.1-6.
Hmm, I can't reproduce here, and I am also using dash as my shell.
quoted
Unfortunately the error with rebase was some one-off thing that I
couldn't reproduce. I'm not even sure /what/ I did to make it happen.
OK. The code is _supposed_ to work as you expected, so if it happens
again, I guess try to reproduce and we'll go from there.
git-rebase must have exited with a code of 127. I tried every exit
code from 1 to 255, and 127 is the only one that does this:

$ head -n2 git-rebase
#!/bin/sh
exit 127

$ ./git rebase --continue
git: 'rebase' is not a git command. See 'git --help'.

Did you mean this?
        rebase
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help