From c68d921be81a916994f50362c5a52fdef06a4a2d Mon Sep 17 00:00:00 2001 From: Giel van Schijndel Date: Wed, 13 Jan 2021 15:23:41 +0100 Subject: [PATCH] fix(fetch): use the correct FETCH_HEAD from within a worktree FETCH_HEAD is one of the symbolic references local to the current worktree and as such should _not_ be looked up in the 'common_dir'. But instead of just hard coding the "right thing" (git_dir) lets defer this to the SymbolicReference class which already contains this knowledge in its 'abspath' property. --- git/remote.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/git/remote.py b/git/remote.py index 06e9d3b75..659166149 100644 --- a/git/remote.py +++ b/git/remote.py @@ -22,8 +22,6 @@ join_path, ) -import os.path as osp - from .config import ( SectionConstraint, cp, @@ -685,7 +683,8 @@ def _get_fetch_info_from_stderr(self, proc, progress): continue # read head information - with open(osp.join(self.repo.common_dir, 'FETCH_HEAD'), 'rb') as fp: + fetch_head = SymbolicReference(self.repo, "FETCH_HEAD") + with open(fetch_head.abspath, 'rb') as fp: fetch_head_info = [line.decode(defenc) for line in fp.readlines()] l_fil = len(fetch_info_lines)