ezyang / ghstack

Submit stacked diffs to GitHub on the command line

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RuntimeError: git config --default failed with exit code 129

langong347 opened this issue · comments

Bug Report

When submitting commits ghstack was trying to assign option --default to git config but my git does not support it.

Git version: 2.17.1

Error and tracestack:

$ ghstack submit
NB: configuration saved to /data/home/langong/.ghstackrc
$ git remote get-url origin
$ git fetch --prune origin
$ git merge-base origin/main HEAD
$ git rev-list --header '^89c57c311b9361407da3b8fe82a53ed2682e0906' HEAD
$ git rev-list --header '^89c57c311b9361407da3b8fe82a53ed2682e0906^@' 89c57c311b9361407da3b8fe82a53ed2682e0906
$ git rev-parse --show-toplevel
$ git config --default /fsx/users/langong/work/multimodal/.git/hooks --get core.hooksPath
error: unknown option `default'
usage: git config [<options>]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)
    --expiry-date         value is an expiry date

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup
    --show-origin         show origin of config (file, standard input, blob, command line)

ERROR: Fatal exception
Traceback (most recent call last):
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/logs.py", line 107, in manager
    yield
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/__main__.py", line 101, in main
    ghstack.submit.main(
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/submit.py", line 179, in main
    run_pre_ghstack_hook(sh, base, stack[0].oid)
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/submit.py", line 1062, in run_pre_ghstack_hook
    hooks_path = sh.git("config", "--default", default_hooks_path, "--get", "core.hooksPath")
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/shell.py", line 273, in git
    return self._maybe_rstrip(self.sh(*(("git",) + args), **kwargs))
  File "/fsx/users/langong/miniconda3/lib/python3.9/site-packages/ghstack/shell.py", line 210, in sh
    raise RuntimeError(
RuntimeError: git config --default /fsx/users/langong/work/multimodal/.git/hooks --get core.hooksPath failed with exit code 129

Fixed this by commenting out this line here:

run_pre_ghstack_hook(sh, base, stack[0].oid)

Going by git's documentation, it seems the flag was added on 2.18.0 (from 2018): https://git-scm.com/docs/git-config/2.18.0#Documentation/git-config.txt---defaultltvaluegt

Is it possible to update your installed git version?

Yes but I had to install Git from source due to limited sudo rights on our dev machine.
I'll report back if the error is gone.

The error is gong after upgrading git to 2.23.0. Closing the issue. Thanks