Skip to content

git v2.27.0-rc0~150^2 changed output on pull breaking GitPython parsing #1014

Closed
@yarikoptic

Description

@yarikoptic

our original issue in datalad: datalad/datalad#4592

found issue in debian initially against fdroidserver then reassigned against GitPython (python3-git pkg)

  File "/build/datalad-0.12.7/.pybuild/cpython3_3.8_datalad/build/datalad/support/gitrepo.py", line 2209, in _call_gitpy_with_progress
    ret = callable(**git_kwargs)
  File "/usr/lib/python3/dist-packages/git/remote.py", line 814, in pull
    res = self._get_fetch_info_from_stderr(proc, progress)
  File "/usr/lib/python3/dist-packages/git/remote.py", line 710, in _get_fetch_info_from_stderr
    output.extend(FetchInfo._from_line(self.repo, err_line, fetch_line)
  File "/usr/lib/python3/dist-packages/git/remote.py", line 710, in <genexpr>
    output.extend(FetchInfo._from_line(self.repo, err_line, fetch_line)
  File "/usr/lib/python3/dist-packages/git/remote.py", line 294, in _from_line
    raise ValueError("Failed to parse line: %r" % line)
ValueError: Failed to parse line: '  git config pull.rebase false  # merge (the default strategy)'

bisected to

d18c950a69f3a24e1e3add3d9fc427641f53e12b is the first bad commit
commit d18c950a69f3a24e1e3add3d9fc427641f53e12b
Author: Alex Henrie alexhenrie24@gmail.com
Date: Mon Mar 9 21:54:20 2020 -0600

pull: warn if the user didn't say whether to rebase or to merge

Often novice Git users forget to say "pull --rebase" and end up with an
unnecessary merge from upstream. What they usually want is either "pull
--rebase" in the simpler cases, or "pull --ff-only" to update the copy
of main integration branches, and rebase their work separately. The
pull.rebase configuration variable exists to help them in the simpler
cases, but there is no mechanism to make these users aware of it.

Issue a warning message when no --[no-]rebase option from the command
line and no pull.rebase configuration variable is given. This will
inconvenience those who never want to "pull --rebase", who haven't had
to do anything special, but the cost of the inconvenience is paid only
once per user, which should be a reasonable cost to help a number of new
users.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

builtin/pull.c | 16 ++++++++++++++++
t/t5521-pull-options.sh | 22 +++++++++++-----------
t/t7601-merge-pull-config.sh | 38 ++++++++++++++++++++++++++++++++++++++
3 files changed, 65 insertions(+), 11 deletions(-)

and manifests in appearing the line

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions