Folder project silently becomes a collection after a clone is added
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 2.1k
- Forks
- 153
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
[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.
Guía de contribución
Línea de trabajo
Reproduce the Windows flow: create an empty folder project, clone a repository into its root, empty it, and start another folder session. Inspect the persisted projects.container_kind value and the failed folder dispatch, then check archive_session and delete_item for the leftover sidebar row. Done means adding a repository does not silently change the project type, rejected sessions identify the change, and failed rows can be removed.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- git
- Área
- desktop
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100