venv overwrites existing .gitignore
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 77.2k
- Fork
- 35.9k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
Bug report
Bug description
I cloned a github project with an existing .gitignore file.
I created a new python venv inside the cloned project using python3 -m venv .venv .
After creating the new venv, I see that the .gitignore file has been modified.
diff --git a/.gitignore b/.gitignore
index d0258704..f514b74c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,17 +1,2 @@
-.dev
-.idea/
-.hypothesis/
-__pycache__/
-db.sqlite3
-*.sw*
-*.pyc
-venv/
-.venv/
-environment_settings.py
-elm-stuff/
-.coverage
-media
-docker/.env
-node_modules
-package-lock.json
-.sass-cache
+# Created by venv; see https://docs.python.org/3/library/venv.html
+*
I found this documentation on the mentioned url added to the .gitignore file:
Changed in version 3.13: venv now creates a .gitignore file for Git by default.
Environment
- Arch linux 6.14.9
- Python 3.13.3
Expected behaviour
I would expect it to not overwrite an existing .gitignore file, so it only creates it if it isnt present already.
Update
Using
python3 -m venv .venvworks as expected, but I didpython3 -m venv .venv .(trailing dot) which creates a folder with a new venv named.venv, but also creates a venv inside the existing folder., and that's when it overwrites the.gitignore
Please let me know if I'm missing some details or you need further testing for triage the issue.
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
- gh-139130
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il comportamento con python3 -m venv .venv . in un progetto che contiene già un .gitignore, quindi confrontalo con python3 -m venv .venv. Segui l’entry point di python3 -m venv e verifica che la creazione dell’ambiente non sostituisca un .gitignore esistente; conferma il comportamento su Python 3.13.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 35/100