アカウント名:
パスワード:
むしろ「また、「Ctrl+y」で使える「アンドゥ」を取り消す「リドゥ」機能を使用すると消えたファイル自体は復活しますが、ファイルの編集をする前の状態に戻ってしまっています。」( http://nlab.itmedia.co.jp/nl/articles/1712/06/news135.html [itmedia.co.jp] )編集をする前の状態に戻るのはバグでは?
それはエクスプローラーとしてはペーストするという作業をもう一回繰り返しているだけなのでそれこそ仕様かと。その後の編集作業はエクスプローラーとしては内容までは関知していない(できない)わけだし。やはり、アンドゥするときに編集されていたら(タイムスタンプが変わっていたら?)問い合わせる(もしくはアンドゥ自体ができなくする)のが一番素直かなぁ。
タイムスタンプを見なくてもファイル変更の監視は可能だけどね。(そーいうAPIが有るし実際に使ってるわけで↓)と言うかWindows7あたりエクスプローラーは開いてるフォルダー上のファイルを変更したらリアルタイムに反映するじゃん。
それ、不親切ですけど、ファイラー視点だと知ったこっちゃないってやつなんですよね。OS限らずコピー後に編集したファイルがファイラーのUndoで失われるのは結構普通かと。Undo時にゴミ箱行きになって助かる可能性はありますけど。
「A」→(コピー)→「B」→(ファイルを編集(管轄外))→「B'」
元に戻すというのはコピーという行為を元に戻すので「B」もしくは「B'」を削除リドゥは、コピーという行為を繰り返すので「A」から「B」を作成。ファイルが復活したように見えてるのは単に元ファイルからもう一度コピーされたから。元ソースをコマンドプロンプトやアンマウント等ファイラー管轄外から消してやれば復活(Redo)は失敗します。
色々やってみました。
> ファイルが復活したように見えてるのは単に元ファイルからもう一度コピーされたから。この前に「A」を編集して「A'」にしていると、「A'」がコピーされますね。
> 元ソースをコマンドプロンプトやアンマウント等ファイラー管轄外から消してやれば復活(Redo)は失敗します。エクスプローラ管轄外で元ファイルを削除して、関係のないファイルを元ファイルと同じ名前にしておくと、それがコピーされました。
つまり、これらの動作の時にはタイムスタンプもファイルのIDも見ていないようですね。複数人が同時に使うフォルダで、トラブルにならない工夫はされているのかなぁ。(試せる環境がありません)
redo(リドゥ)はundoを取り消しではなくて、その言葉通り「もう1回やる。」だから、最初のコピーをもう1回やるだけですね。バグではないですね。
解釈次第の部分はあるけど、リドゥはアンドゥをもう一回やるということでもう一段階戻ってもいい気がするけどね。
なるほどしかし、意味に忠実であるなら、外部プログラムから編集が行われたファイルを全て消し去ってしまうのはエクスプローラ上でdoした以上の事をundoしてしまう事になるので、やっぱりundoの挙動が仕様的にちょっとおかしい気がするな。
アンドゥされたコピー動作は編集前のファイルに対するものなのだからリドゥも編集前のファイルが復元されるのが仕様として正しいのでは?
そっちはバグじゃなくて正しいと思う
コピーを「アンドウ」でコピー取消。更にアンドウを取り消すのでなく「Re Do(再実行)」なので、再度元ファイルからコピーしているだけ。
コピー、編集、コピー取消(アンドウ)、再コピーでしょ。なので、リドウで元ファイルに戻るのは正解。
おかしいのはアンドウは「一つ前の操作を取消」なのにコピー、編集、アンドウなのに、編集をすっ飛ばして二つ前の操作に戻っていること。
undo,redoはファイラーに対する操作編集はファイラー外の操作だから対象外実際は裏で色々なソフトがファイル書き換えてると思うんだけど、それもund,redo対象になったら困るでしょ
ファイラー外の操作が行われた時点で、ファイラーとしては前の状態に戻すことができませんので、「undoできなくする」のが正しいでしょう。もしくは「むりやりundoする=編集内容まで取り消されてしまう」ことの確認ポップアップを出す(以前の仕様)。
コピー後にファイラー外で操作された場合はアンドゥ不可、されていない場合はアンドゥ可(コピーの取り消し)ですか?やっぱり必要なのはWinFSだったのか
変更を意図してないのに開くだけでファイルを一時改変するWord/Excel等が有りますので、その仕様だと「バグだ!」となる可能性も。# 後、ファイル監視のコストをどうするかも問題。
Excelも開くときに改変するにしても、保存せずに閉じたら改変を戻すよね。アンドゥ要求されたときに、そのファイルの更新日付がちがってたら、戻せない、的な動作でいいとおもうけど、、
更新日時を戻すだけで、改変は戻しませんよ?#確か閲覧日時的なプロパティだった気がする。
んなわけない。自分はExcelをバージョン管理ソフトの管理下に入れてるんで知ってる。
ファイルを開いて閉じただけでファイル内容が変更されたら、バージョン管理は破綻する。ファイルを開いている最中は内容が変更されてるけど、閉じたら元に戻るよ。(gitだからexcelに考慮して特殊処理してるということもないはず)
gitはデータとパーミッション位しか管理しないでしょexcelに限らず、読み取り専用で開こうがアクセス日時は更新されるメタデータの更新を編集と捉えるかどうかは知らんが
> アクセス日時は更新されるそれはプレーンテキストでも更新されるんじゃ……
今確認したら旧型式(.xls)の方だけですね。新形式(.xlsx)はそもそも開いてる間も更新日時はそのままでした。考えてみれば新形式はzipなんで、旧型式みたいに数byteだけの部分的変更とかならないですね。#gitは更新日やファイルサイズが同じなら比較しないでしょう。全ファイルの全域を比較とかしてたら非効率ですから。
監視までいかなくても、タイムスタンプとファイルサイズを保持しておいて、undo時にチェックするだけで、かなりマシになるのでは?
マクロ組み込まれた業務用エクセルファイルだと開いた時点で特定セルにタイムスタンプと保存が実行されるものがあったりするのでファイル自体の操作まで監視するのはやっぱり汎用性減るからやっちゃだめだと思うなぁ…
リドゥ2回で元に戻るのが、正しい動作とか!?(1回目でファイル復活、2回目で編集内容復元)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
リドゥのバグ? (スコア:0)
むしろ
「また、「Ctrl+y」で使える「アンドゥ」を取り消す「リドゥ」機能を使用すると消えたファイル自体は復活しますが、ファイルの編集をする前の状態に戻ってしまっています。」( http://nlab.itmedia.co.jp/nl/articles/1712/06/news135.html [itmedia.co.jp] )
編集をする前の状態に戻るのはバグでは?
Re: (スコア:0)
それはエクスプローラーとしてはペーストするという作業をもう一回繰り返しているだけなので
それこそ仕様かと。
その後の編集作業はエクスプローラーとしては内容までは関知していない(できない)わけだし。
やはり、アンドゥするときに編集されていたら(タイムスタンプが変わっていたら?)問い合わせる
(もしくはアンドゥ自体ができなくする)のが一番素直かなぁ。
Re: (スコア:0)
タイムスタンプを見なくてもファイル変更の監視は可能だけどね。
(そーいうAPIが有るし実際に使ってるわけで↓)
と言うかWindows7あたりエクスプローラーは開いてるフォルダー上の
ファイルを変更したらリアルタイムに反映するじゃん。
Re: (スコア:0)
それ、不親切ですけど、ファイラー視点だと知ったこっちゃないってやつなんですよね。
OS限らずコピー後に編集したファイルがファイラーのUndoで失われるのは結構普通かと。
Undo時にゴミ箱行きになって助かる可能性はありますけど。
「A」→(コピー)→「B」→(ファイルを編集(管轄外))→「B'」
元に戻すというのはコピーという行為を元に戻すので「B」もしくは「B'」を削除
リドゥは、コピーという行為を繰り返すので「A」から「B」を作成。
ファイルが復活したように見えてるのは単に元ファイルからもう一度コピーされたから。
元ソースをコマンドプロンプトやアンマウント等ファイラー管轄外から消してやれば復活(Redo)は失敗します。
Re:リドゥのバグ? (スコア:1)
色々やってみました。
> ファイルが復活したように見えてるのは単に元ファイルからもう一度コピーされたから。
この前に「A」を編集して「A'」にしていると、「A'」がコピーされますね。
> 元ソースをコマンドプロンプトやアンマウント等ファイラー管轄外から消してやれば復活(Redo)は失敗します。
エクスプローラ管轄外で元ファイルを削除して、関係のないファイルを元ファイルと同じ名前にしておくと、それがコピーされました。
つまり、これらの動作の時にはタイムスタンプもファイルのIDも見ていないようですね。
複数人が同時に使うフォルダで、トラブルにならない工夫はされているのかなぁ。(試せる環境がありません)
Re: (スコア:0)
redo(リドゥ)はundoを取り消しではなくて、その言葉通り「もう1回やる。」だから、最初のコピーをもう1回やるだけですね。バグではないですね。
Re: (スコア:0)
解釈次第の部分はあるけど、リドゥはアンドゥをもう一回やるということで
もう一段階戻ってもいい気がするけどね。
Re: (スコア:0)
なるほどしかし、
意味に忠実であるなら、外部プログラムから編集が行われたファイルを全て消し去ってしまうのは
エクスプローラ上でdoした以上の事をundoしてしまう事になるので、
やっぱりundoの挙動が仕様的にちょっとおかしい気がするな。
Re: (スコア:0)
アンドゥされたコピー動作は編集前のファイルに対するものなのだから
リドゥも編集前のファイルが復元されるのが仕様として正しいのでは?
Re: (スコア:0)
そっちはバグじゃなくて正しいと思う
コピーを「アンドウ」でコピー取消。
更にアンドウを取り消すのでなく「Re Do(再実行)」なので、
再度元ファイルからコピーしているだけ。
コピー、編集、コピー取消(アンドウ)、再コピーでしょ。なので、リドウで元ファイルに戻るのは正解。
おかしいのはアンドウは「一つ前の操作を取消」なのに
コピー、編集、アンドウなのに、編集をすっ飛ばして二つ前の操作に戻っていること。
Re: (スコア:0)
undo,redoはファイラーに対する操作
編集はファイラー外の操作だから対象外
実際は裏で色々なソフトがファイル書き換えてると思うんだけど、それもund,redo対象になったら困るでしょ
Re:リドゥのバグ? (スコア:1)
ファイラー外の操作が行われた時点で、ファイラーとしては前の状態に戻すことができませんので、「undoできなくする」のが正しいでしょう。
もしくは「むりやりundoする=編集内容まで取り消されてしまう」ことの確認ポップアップを出す(以前の仕様)。
Re:リドゥのバグ? (スコア:1)
コピー後にファイラー外で操作された場合はアンドゥ不可、されていない場合はアンドゥ可(コピーの取り消し)ですか?
やっぱり必要なのはWinFSだったのか
Re: (スコア:0)
変更を意図してないのに開くだけでファイルを一時改変するWord/Excel等が有りますので、その仕様だと「バグだ!」となる可能性も。
# 後、ファイル監視のコストをどうするかも問題。
Re: (スコア:0)
Excelも開くときに改変するにしても、保存せずに閉じたら改変を戻すよね。
アンドゥ要求されたときに、そのファイルの更新日付がちがってたら、戻せない、的な動作でいいとおもうけど、、
Re:リドゥのバグ? (スコア:1)
更新日時を戻すだけで、改変は戻しませんよ?
#確か閲覧日時的なプロパティだった気がする。
Re: (スコア:0)
んなわけない。
自分はExcelをバージョン管理ソフトの管理下に入れてるんで知ってる。
ファイルを開いて閉じただけでファイル内容が変更されたら、バージョン管理は破綻する。
ファイルを開いている最中は内容が変更されてるけど、閉じたら元に戻るよ。
(gitだからexcelに考慮して特殊処理してるということもないはず)
Re: (スコア:0)
gitはデータとパーミッション位しか管理しないでしょ
excelに限らず、読み取り専用で開こうがアクセス日時は更新される
メタデータの更新を編集と捉えるかどうかは知らんが
Re: (スコア:0)
> アクセス日時は更新される
それはプレーンテキストでも更新されるんじゃ……
Re: (スコア:0)
今確認したら旧型式(.xls)の方だけですね。新形式(.xlsx)はそもそも開いてる間も更新日時はそのままでした。
考えてみれば新形式はzipなんで、旧型式みたいに数byteだけの部分的変更とかならないですね。
#gitは更新日やファイルサイズが同じなら比較しないでしょう。全ファイルの全域を比較とかしてたら非効率ですから。
Re: (スコア:0)
監視までいかなくても、タイムスタンプとファイルサイズを保持しておいて、undo時にチェックするだけで、かなりマシになるのでは?
Re: (スコア:0)
マクロ組み込まれた業務用エクセルファイルだと開いた時点で特定セルにタイムスタンプと保存が実行されるものがあったりするので
ファイル自体の操作まで監視するのはやっぱり汎用性減るからやっちゃだめだと思うなぁ…
Re: (スコア:0)
リドゥ2回で元に戻るのが、正しい動作とか!?
(1回目でファイル復活、2回目で編集内容復元)