posit-dev / posit-dev/rsconnect-python
support following symlinks
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 37
- Forks
- 28
- Ø Merge
- 1 T. 3 Std.
- Gemergte PRs (30 T.)
- 7
Beschreibung
In my case, the app.py is a symlink to a file in the parent directory (long story, but there is a good reason for this). When rsconnect deploys an app, does it follow local symlinks so that the content is deployed to the server?
The reason I have symlinks is because I have many apps in the same directory (named app_basic.py, app_recipes.py, etc.) and I want to deploy the apps individually, but I think rsconnect wants them to be named app.py. So I made a directory for each with symlinks from foo/app.py to the original file, like app_basic.py.
Why are they all in the same directory? Because they share common submodules, like utils.py, chat/init.py, and so on.
When constructing the list of files to bundle we currently rely on os.path.isfile so symlinks are not followed.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in rsconnect/bundle.py beim os.path.isfile-Aufruf etwa in Zeile 962, wo die Liste der zu bündelnden Dateien erstellt wird. Verfolge, wie diese Liste während der Bereitstellung verwendet wird, und überprüfe anschließend, dass der Zielinhalt einer symbolisch verknüpften App-Datei in das Bundle aufgenommen wird, ohne das bestehende Verhalten bei der Dateiauswahl zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- cli
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 55/100