Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1377440 - Git aliases do not work in sub-dirs of worktree
Summary: Git aliases do not work in sub-dirs of worktree
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: git
Version: 24
Hardware: All
OS: All
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Stodulka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-19 17:33 UTC by Jonathan Wakely
Modified: 2016-10-05 06:22 UTC (History)
8 users (show)

Fixed In Version: git-2.7.4-3.fc24
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-05 06:22:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jonathan Wakely 2016-09-19 17:33:28 UTC
Description of problem:

The version of Git in F24 gives an error when trying to expand an alias in any sub-directory of a worktree created with 'git worktree add'.

Version-Release number of selected component (if applicable):

git-2.7.4-2.fc24.x86_64

How reproducible:

Always.

Steps to Reproduce:

Try to run a git alias from a sub-directory of a new worktree.

$ mkdir -p /tmp/git
$ cd /tmp/git
$ mkdir repo1
$ cd repo1
$ git init
Initialized empty Git repository in /tmp/git/repo1/.git/
$ mkdir foo
$ touch foo/bar
$ git add foo/bar
$ git ci -m 1
[master (root-commit) 7184dab] 1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 foo/bar
$ git branch b
$ git worktree add ../repo2 b
Preparing ../repo2 (identifier repo2)
HEAD is now at 7184dab 1
$ cd ../repo2
$ git config alias.s status
$ git s
On branch b
nothing to commit, working directory clean
$ cd foo
$ git s
fatal: internal error: work tree has already been set
Current worktree: /tmp/git/repo2
New worktree: /tmp/git/repo2/foo



Actual results:

fatal: internal error: work tree has already been set
Current worktree: /tmp/git/repo2
New worktree: /tmp/git/repo2/foo


Expected results:

The alias runs correctly.

Additional info:

This is discussed at http://lists-archives.com/git/855872-worktree-setup-broken-in-subdirs-with-git-alias.html but I don't understand the resolution - is the fix in a newer release? Still buggy and now fixed yet?

In any case this worked fine with F22, but I can't use aliases + worktrees on F24.

Comment 1 Laurent Rineau 2016-09-30 09:46:52 UTC
I have the exact same issue. Fixed upstream in Git v2.8.0.

Reference: http://git.661346.n2.nabble.com/BUG-worktree-setup-broken-in-subdirs-with-git-alias-td7645158.html

Comment 2 Petr Stodulka 2016-10-02 19:52:28 UTC
Thanks for link. It seems that it fixes the bug, according to reproducer.

Comment 3 Fedora Update System 2016-10-03 07:22:47 UTC
git-2.7.4-3.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-b596ee7ca9

Comment 4 Fedora Update System 2016-10-05 06:22:08 UTC
git-2.7.4-3.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.