Bug(バグ) #2442
完了#2361 にてプラグインコピー時のオプションを修正したが、CentOSで実行できないものだったので修正する
Mutsumi Imamura さんが約13年前に追加. 約9年前に更新.
100%
説明
Overview (現象)¶
OpenPNEに同梱されている バージョンアップドキュメント のplugins ディレクトリの中身をコピーする手順で、nオプションがCentOSにないため実行できない。
再現バージョン¶
- OpenPNE3.7.x
- OpenPNE3.6RC1
再現手順¶
バージョンアップドキュメント の44〜45行目あたりを確認し、CentOSで-nオプションのコピーを試みる
Causes (原因)¶
バグが発生した原因を記入
Way to fix (修正内容)¶
修正内容を記入
Yuya Watanabe さんが約13年前に更新
修正方針として,もともとopオプションで用いるものとして記述されていた-uを用いるものと,それが存在しない場合に用いる-nを両方を記述することを考えています.
Yuya Watanabe さんが約13年前に更新
さまざまなcpコマンドリファレンス.( http://redmine.openpne.jp/issues/2361#note-25 のものを転載)
-nが存在するが-uが存在しないもの -uが存在するが-nが存在しないものYuya Watanabe さんが約13年前に更新
「man cp」で確認を行った結果.
-uが存在するが-nが存在しないもの- Ubuntu 11.04
- CentOS 5.5
- MacOSX 10.7.1
wa ta さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 b0284f83bd4f9631f7e54033bfe76ab20d857d25 で適用されました。
Kousuke Ebihara さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Minoru Takai さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Rejected(差し戻し) に変更
- 進捗率 を 70 から 50 に変更
レビューが通っていますが、以下の点について確認してください。修正する必要がないと判断された場合はテスト待ちにしていただいて結構です。
指摘内容¶
- note-2 の修正後の記述
CentOS や Ubuntu など、-uオプションがある場合。 $ cp -au /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins MacOSX や FreeBSD など、-nオプションがある場合。 $ cp -an /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins * どちらのコマンドを実行可能かについては「man cp」コマンドを実行してチェックしてください。
- 手元の GNU coreutils に含まれる cp コマンド
$ gcp --version cp (GNU coreutils) 8.10 Copyright (C) 2011 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. $ man gcp -n, --no-clobber do not overwrite an existing file (overrides a previous -i option) -u, --update copy only when the SOURCE file is newer than the destination file or when the destination file is missing
cp コマンドが -n オプションと -u オプションの両方を含む場合があり、その場合は冒頭に示している文章ではどちらを実行すべきか判断できません。
- このコマンドを実行することで行いたい処理についての説明を加える
- -n と -u オプションの意味を踏まえた上でどちらを実行すべきか優先度を付けて手順を示す( -u が実行できない場合は -n を試してください、のように記述する)
- 併せて -n と -u オプションが何を意味するものなのかについての説明を記述したほうが親切かもしれません。
このいずれかの対応を行うべきではないでしょうか。
また、 -n と -u のオプションが両方無い場合について考慮されていませんが、もし考慮するのであれば、上記に示した対応のうち、前者の対応を行うことが好ましいのではないでしょうか。
とはいっても、元の文章は、どちらかさえ実行できれば良いとも読めるのであまり問題ではないかもしれません。
考えられる修正¶
次のような文章にするだけでもよいかもしれません。
- 案1
CentOS や Ubuntu など、 cp コマンドに -u オプションがある場合。 $ cp -au /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins MacOSX や FreeBSD など、 cp コマンドに -u オプションがなく -n オプションがある場合。 $ cp -an /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins * cp コマンドで使用可能なオプションについては「man cp」コマンドを実行して確認してください。
- 案2
$ cp -au /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins cp コマンドに -u オプションがない場合は代わりに -n オプションを用いてください。 $ cp -an /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins * cp コマンドで使用可能なオプションについては「man cp」コマンドを実行して確認してください。
Yuya Watanabe さんが約13年前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
- このコマンドを実行することで行いたい処理についての説明を加える
- -n と -u オプションの意味を踏まえた上でどちらを実行すべきか優先度を付けて手順を示す( -u が実行できない場合は -n を試してください、のように記述する)
- 併せて -n と -u オプションが何を意味するものなのかについての説明を記述したほうが親切かもしれません。
提案内容について両方共もっともであると感じたため両方共を考慮した記述を検討します.
wa ta さんが約13年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 952350437f455c6d436605c63f8aa1f96c042f2c で適用されました。
Kousuke Ebihara さんが約13年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Fumie Toyooka さんが約13年前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テスト無事終了しました。