From 037d62a9966743cf7130193fa08d5182df251b27 Mon Sep 17 00:00:00 2001 From: Giel van Schijndel Date: Wed, 13 Jan 2021 15:23:41 +0100 Subject: 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 06e9d3b7..65916614 100644 --- a/git/remote.py +++ b/git/remote.py @@ -22,8 +22,6 @@ from git.util import ( join_path, ) -import os.path as osp - from .config import ( SectionConstraint, cp, @@ -685,7 +683,8 @@ class Remote(LazyMixin, Iterable): 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) -- cgit v1.2.1