posit-dev / posit-dev/rsconnect-python
support following symlinks
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 37
- フォーク
- 28
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 7
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
rsconnect/bundle.py の 962 行目付近にある os.path.isfile の呼び出しから始めます。ここでバンドルするファイルのリストが構築されています。そのリストがデプロイ時にどのように使用されるかを追跡し、シンボリックリンクされたアプリファイルのリンク先の内容が、既存のファイル選択動作を壊すことなくバンドルに含まれることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- cli
- issue の種類
- 機能追加
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 55/100