python / python/cpython

Add os.linkat() function to create a hard link with flags

オープン
#136,413 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

extension-modules type-feature
主要言語
Python
スター
77.2k
フォーク
36k
PR マージ指標
PR 指標を取得中

説明

Feature or enhancement

Proposal:

os.link() can call linkat() but it only supports AT_SYMLINK_FOLLOW flag (follow_symlinks=True), it doesn't support AT_EMPTY_PATH. I propose adding the os.linkat() function to create a hard link with flags, and add the following constants:

  • os.AT_FDCWD
  • os.AT_SYMLINK_FOLLOW
  • os.AT_EMPTY_PATH

AT_EMPTY_PATH allows creating a hard link from an unnamed name even if /proc is not mounted.

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

https://github.com/python/cpython/issues/136156

Linked PRs
  • gh-136417

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず issue 136156 の関連する議論と、リンクされている PR 136417 を読み、その後、現在 os.link() がどのように linkat() と AT_SYMLINK_FOLLOW を公開しているかを確認してください。os.linkat() に提案されている動作と、AT_FDCWD、AT_SYMLINK_FOLLOW、AT_EMPTY_PATH の各定数が、適切なプラットフォーム処理とともに実装されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
operating-systems
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。