github / github/app

Collection new-session flow treats parent folder as a Git repository

Open
#3,286 0 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

## Affected version
GitHub Copilot app 1.1.14 on macOS 26.6.2.

## What happened?
A parent folder with no `.git` directory contains three direct child Git repositories, all on `main`. After adding the parent through **Projects -> + -> Open folder**, the app correctly registers it as a collection.

Opening **New session** for the collection shows generic single-repository controls (Project: collection name, Workspace: New worktree, Branch: main). The child repositories are not listed, so their branches and checkout modes cannot be selected.

Logs show the branch resolver targeting the non-Git parent:

```
Failed to get current branch path=~/gitrepos/spec-forge-all
error=git ["symbolic-ref", "HEAD"] failed:
fatal: not a git repository (or any of the parent directories): .git
```

The same failure occurs for `git worktree list`, `for-each-ref`, and `git fetch` against the parent.

## Steps to reproduce
1. Create a parent folder containing multiple direct child Git repositories, with no `.git` at the parent.
2. Add the parent using **Projects -> + -> Open folder**.
3. Click **New session** for the collection.
4. Observe one branch selector for the parent and no child-repository list.

## Expected behavior
Enumerate collection members and allow branch/checkout selection for each child. Run Git branch commands against each child, not the parent folder.

## Additional context
**Local repository** is a partial workaround but does not restore isolated multi-repository worktrees or per-repository branch selection. Related but narrower: #786 covers per-repository default branches.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the New session flow for a collection and the branch resolver shown in the logs, then reproduce with a parent folder containing three direct child repositories and no parent .git directory. Done means the child repositories are listed with per-repository branch and checkout choices, and Git branch, worktree, ref, and fetch commands run against each child rather than the parent.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
desktop, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.