3

多くの編集者は、ファイルが変更されたときに気付くでしょう。ファイルの編集内容を保存していない場合に、3 方向のマージを実行できるエディタはありますか?

これの一般的なシナリオは、SVN を更新する前にファイルを保存するのを忘れて、エディターに戻ったときに、今行った更新を踏むか、変更を破棄するか、コピーを実行するかを選択できることに気付くことです。 /paste/external-diff-tool 歌と踊り。

はい、更新前の正しい解決策はctrl + sであることは知っていますが、私は人間であり、問​​題を台無しにした後、問題を解決するための本当に簡単な解決策が必要です。

4

6 に答える 6

2

EditPad Proは、変更が保存されていない状態で開いているファイルがディスク上で変更されていることを検出すると、ディスクからファイルをリロードするか、ディスク上の変更を無視するか、ディスク上のファイルとの違いを確認するかを尋ねます。開いた変更が保存されていないバージョン。

これは、質問した 3 方向の diff ではなく、2 方向の diff です。3 方向の diff を提供するテキスト エディターを知りません。ディスク上のファイルが破壊された場合、テキスト エディタには元のファイルのコピーがありません。これは、バージョン管理で解決する必要があります。

予防策として、開いているファイルをエディターでロックしておくことが考えられます。その後、SVN の更新は、エディターで開いているすべてのファイルで失敗します。EditPad Pro では、[オプション]、[設定]、[ファイル] にそのためのオプションがあります。

于 2009-01-30T14:13:27.193 に答える
1

私はこれに遭遇することはめったにありません。おそらく、指が何もしないとすぐに保存するためです。

それ以外の場合は、エディターに統合された SVN クライアントを見つけることをお勧めします。そのようなクライアントのほとんどは、コミットまたは更新を行う前に、自動的に保存 (または要求) します。

于 2009-01-20T20:27:24.493 に答える
1

vim を使用すると、 :DiffOrigを使用して差分モードに入ることができます。変更のチェックは:checkt
で強制できます

それを自動化するには、以下を .vimrc に追加します:

au FileChangedShell * DiffOrig

Vim は、ファイル (mtime) が変更されたことを認識するとすぐに差分分割に入ります。

于 2009-01-20T19:48:15.960 に答える
1

ファイルに保存されていない変更があり、そのファイルの SVN 更新を行いますよね?

その場合、更新後に変更を保存し、SVN update を再度実行する必要があります。SVN 更新の 2 回目の実行では、リポジトリからの変更をマージしようとし、競合があるかどうかを通知します。

より/最も重要な変更は、エディターで保存されていない変更です。SVN 更新からの変更は、いつでもリポジトリから再度取得できます。

于 2009-01-30T14:25:55.857 に答える
1

ファイルが足元で変更されるという問題を解決するには、悪い方法のように思えます。私がいつも答えるように、あなたが本当に解決しようとしている問題は何ですか?

于 2009-01-20T19:53:57.367 に答える
0

これは、エディターではなく、ソース管理の問題のようです。

確かに Emacs はそれを行うようにプログラムできますが、デフォルトでは、変更されたファイルを保存するかどうかを尋ねるだけのようです。変更されたファイルを編集しようとすると、バッファをファイルの内容に戻すオプションが表示されます。

Vi (少なくとも私が使用しているバージョン) は、ファイルが変更されたかどうかを確認することさえしません。(また、編集する前にファイルが読み取り専用かどうかをチェックしないので、気が狂いそうになります。もっと良い vi を見つける必要があるかもしれません。)

于 2009-01-20T18:24:22.557 に答える