github / github/app

Folder project silently becomes a collection after a clone is added

Ouverte
#3,282 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Aucune donnée de langage
Étoiles
2.1k
Forks
153
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

[Filed by Copilot on behalf of @bghgary]

## Problem

In GitHub Copilot app 1.1.14 on Windows, a folder project created at an empty path silently changes from `folder` to `collection` after a Git clone is placed in its root. The value is persisted as `projects.container_kind`; removing the clone or emptying the directory does not restore the project.

## Reproduction

1. Create a folder project at an empty directory and start a folder session successfully.
2. Clone a Git repository into that project root.
3. Remove the clone or empty the root.
4. Start another folder session.

The dispatch fails with `has no associated worktree`, which points to a worktree problem rather than the project's changed classification. After backing up the database, restoring only the stored kind made the same project start folder sessions again without an app restart.

The failed dispatch also leaves a sidebar row that cannot be cleaned up normally: `archive_session` fails with `fatal: not a git repository: (NULL)`, while `delete_item` reports success but leaves the row.

## Expected

Adding a repository under a folder project should not silently change the project type. If conversion is intentional, the app should warn before changing it, identify that change when a folder dispatch is rejected, and allow the failed session row to be removed.

## Related

[github/app#1955](https://github.com/github/app/issues/1955) fixed folder-project creation selecting a nested `.git` directory in v1.1.7. This case happens after a valid folder project has already been created and used.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le flux Windows : créez un projet de dossier vide, clonez un dépôt dans sa racine, videz-le et démarrez une autre session de dossier. Inspectez la valeur persistée de projects.container_kind et le dispatch de dossier échoué, puis vérifiez archive_session et delete_item pour la ligne de barre latérale restante. C’est terminé lorsqu’ajouter un dépôt ne modifie pas silencieusement le type de projet, que les sessions rejetées identifient la modification et que les lignes ayant échoué peuvent être supprimées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
git
Domaine
desktop
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.