Feature #9647
closed
Linuxの場合、媒体にはbirthtimeが記録されていて、syscallの追加が自転車置き場の議論で進まないという感じなのでctimeが帰ってくるのはうれしくないなあ。将来的に混乱が予想されるので。
いまでもrootならdebugfs使って作成日とれます。
この辺参照してください(一番下) http://stackoverflow.com/questions/5929419/how-to-get-file-creation-date-in-linux
こっから先は雑談なんだけど、なにが自転車置き場の議論かというと、birthtime追加 → やったSambaの実装が楽になるよ! → だがちょっと待って欲しい、Windowsはctimeユーザが変更できる、それが出来ないならSambaで使えない → それもう birthtimeじゃねーだろアホか → えーい、usecaseで揉めるような機能なら入れない!!
という非常にばかばかしい議論をしたことがあるのだ。
NTFSでは$STANDARD_INFOMATIONと$FILE_NAMEのそれぞれに日時系メタデータが入っていますが、後者を変更するAPIは存在しないので、たぶんそれのことかと思います。
しかし、「真のファイル作成日」というよりは、そのファイル名の名付け日(例えばハードリンクを作ったならその日時)なので、ちょっと意味合いは違いますね。
Motohiro KOSAKI wrote:
Linuxの場合、媒体にはbirthtimeが記録されていて、syscallの追加が自転車置き場の議論で進まないという感じなのでctimeが帰ってくるのはうれしくないなあ。将来的に混乱が予想されるので。
いまでもrootならdebugfs使って作成日とれます。
この辺参照してください(一番下) http://stackoverflow.com/questions/5929419/how-to-get-file-creation-date-in-linux
こっから先は雑談なんだけど、なにが自転車置き場の議論かというと、birthtime追加 → やったSambaの実装が楽になるよ! → だがちょっと待って欲しい、Windowsはctimeユーザが変更できる、それが出来ないならSambaで使えない → それもう birthtimeじゃねーだろアホか → えーい、usecaseで揉めるような機能なら入れない!!
という非常にばかばかしい議論をしたことがあるのだ。
はい。
なもんでLinuxが実装するの待っていたんですが、もう見捨てるという結論にしました(どーん
Windowsの方はなるほど…なので、とりあえずWindowsもNotImpErrorにしてうささんに実装してもらいますかね(ゎ
Yui NARUSE wrote:
Windowsの方はなるほど…なので、とりあえずWindowsもNotImpErrorにしてうささんに実装してもらいますかね(ゎ
いやあの、Windowsはそれでいいので付けといてください(笑)
今のctimeのことを考えると、多少の意味の違いなんかどうでもいい感があります。
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
Applied in changeset r46047.
-
file.c (stat_birthtime): add birthtime support [Feature #9647]
-
file.c (rb_stat_birthtime): add File::Stat.birthtime
-
file.c (rb_file_s_birthtime): add File.birthtime
-
file.c (rb_file_birthtime): add File#birthtime
-
configure.in: check struct stat.st_birthtimespec.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0