web-dev-qa-db-ja.com

TortoiseSVNのWindowsエクスプローラーのアイコンが正しい状態に更新されるまでに時間がかかる

ファイルをコミットした後、アイコンは変更されたままか、長時間コミットを待機しています。更新を強制して、表示されているアイコンがファイルの正しい状態であることを確認する方法はありますか?

69
leora

[〜#〜] faq [〜#〜] で述べたように、クリーンアップを実行してください。

58
Stefan

これを試すことができます:

TortoiseSVN->設定->アイコンオーバーレイ、ステータスキャッシュを「デフォルト」ではなく「シェル」に設定

参照ヘルプへ。

シェルキャッシングは、シェル拡張DLLファイル内で直接実行されますが、現在表示されているフォルダーのみです。別のフォルダーに移動するたびに、ステータス情報が再度取得されます。

利点:必要なメモリはごくわずか(約1MBのRAM)であり、リアルタイムでステータスを表示できます。

欠点:キャッシュされるフォルダーは1つだけなので、オーバーレイはステータスを再帰的に表示しません。大きな作業コピーの場合、エクスプローラーでフォルダーを表示するには、デフォルトのキャッシュよりも時間がかかる場合があります。また、mime-type列は使用できません。

36
gekowa

同様の回答を投稿しました here ですが、リンクを開く手間を省くために、ここで引用します。

これがあなたの問題と正確に関連しているかどうかはわかりませんが、TortoiseSVNは多くのファイルを含むリポジトリを処理する際に非常に遅くなることがあります。これは、tsvncache.exeプロセスで大量のメモリを消費することで現れます。 tsvncache.exeプロセスは、ファイルとフォルダーをスキャンし、使い慣れたアイコンをそれらに関連付けて、変更/無視されたファイルなどを示します。

これに対する修正は、Tortoise SVNに、作業中のフォルダーのみをキャッシュし、他のフォルダーを無視するように指示することです。これを行うには、プロジェクトフォルダーを右クリックし、TortoiseSVN->設定->アイコンオーバーレイを選択します。 c:*およびd:*(基本的にすべての固定ドライブを無視する)に設定された除外パスと、プロジェクトフォルダーに設定されたパスを含めます。

13
Malice

最近この問題に出くわしました。 100%効果的であることが証明されている短くて汚い回避策を見つけました。

右クリックして[新規]-> [テキストドキュメント]を選択し、アイコンを更新するフォルダに空のテキストファイルを作成します。アイコンは魔法のように更新されるはずです。もちろん、空のテキストファイルを削除します。

5
Dude

Windows Explorer ウィンドウを閉じて、再度開くと役立ちます。ほとんどの場合、アイコンはWindowsエクスプローラーのツリー部分にあります。

そして-Clean Upおよび F5 助けにはなりません。 TortoiseSVNではなくExplorerと関係があると思います。

4
Pavel Punsky

すべてをコミットしたかどうかを確認したい場合は、「svn check for modification」メニューオプションがあります。そこでF5を押すと、更新されて真実が表示されます。フォルダのアイコンが古くなっていることが気になる場合は、アイコンをオフにすることができます。

2
user180326

関連しているかどうかはわかりませんが、F5が役立つようです...時々。

TortoiseSVNでの私の経験では、パフォーマンスは何らかの方法でチェックアウトされたディレクトリの数に直接リンクしています。プロセスを高速化するために、一部のTortoiseSVNプロパティに含める/除外する必要があるディレクトリを設定できます。

1
Vladimir

Windowsの「更新」(F5)はほとんどの場合うまく機能します(OK、私はそれを強引に押します)が、ウィンドウにアイコンオーバーレイがまったくない場合もあります。これらの場合、「シェルオーバーレイの更新」など、どのオプションを選択しても、「クリーンアップ」は役に立ちません。

Gekowaからのヒントに従いました。

TortoiseSVN->設定->アイコンオーバーレイ、ステータスキャッシュを「デフォルト」ではなく「シェル」に設定

そして次にウィンドウを開いたとき、オーバーレイは正しかった。ウィンドウが開くのに数秒かかりましたが、その後はすべて正常でした。ステータスキャッシュを「シェル」に戻すと、タイムラグもなくなりました。

以前は、ステータスキャッシュを「なし」に設定していましたが、それは役に立ちませんでした。

1
noodle7

アイコンを更新するディレクトリに移動します。マウスでそのディレクトリを右クリックし、SVNコンテキストエクスプローラーメニューで「クリーンアップ」を選択してから、 F5。そのディレクトリの下にあるすべてのSVNアイコンが更新されます。それは私のためにした。

私は数千のファイルを含む巨大なプロジェクトに取り組んでおり、SVNの「クリーンアップ」はコンピューター上で非常に高速であるため、ほとんどの場合はルートレベルで行い、すべてのアイコンを更新します。メモリの少ない低速なコンピューターの場合、大きなプロジェクトの完全なクリーンアップには時間がかかる場合があります。その場合、必要なディレクトリだけを更新できます。

上記の誰かが「クリーンアップ」はローカルの変更を元に戻すと言いますが、それは必ずしも真実ではありません。それは私のために元に戻らない...さらに、私はそれがあなたが可能にするべきオプションであるとは思わない。ローカルSVNキャッシュが破損することがあり、クリーンアップにより修正されることがあります。これは、コミットなどを行うためにしばしば必要なことです...

それが役に立てば幸い。

PS。私のカメのSVNバージョン:TortoiseSVN 1.6.16、ビルド21511-64ビット

1
Great_Mike

同様の問題がありました。新しいブランチを作成し、その後新しい作業コピーにチェックアウトしました。新しい作業コピーには、必要なアイコンオーバーレイがありませんでした。何も現れませんでした。 Windowsタスクマネージャーを介してTSVNCache.exeプロセスを強制終了した後にのみ、アイコンが正しく表示されました。

1
noti

F5 私にとってもうまくいきませんでしたが、私は1つを見つけました F5 働いた方法。

Projectsというフォルダーがあり、mysubversionedprojectというフォルダーがあるとします。 Explorerツリーを展開すると、以下が表示されます

  • プロジェクト
    • mysubversionedproject

を押すと F5 多くの人が気づいているように、うまくいかないかもしれません。

ただし、このツリーを閉じて、表示のみを行う場合

  • プロジェクト

(また、プロジェクトをクリックして、実際に選択されるようにしました)
を押して F5 その後、ツリーを再度展開すると、動作する可能性があります。

私にとって、mysubversionedprojectには、必要に応じてオーバーレイアイコンがあります。

1
Magnus

だから...これらすべての答え/トリック/ソリューションのうち、正直なところ、ドロップダウンを使用して既存の別のブランチに切り替えるだけです-右クリック> Git Branch、次に作業していたブランチに切り替える更新されたステータスアイコンを参照してください。出来上がり!

0
Krunchy Ramen

これに対する修正は、Tortoise SVNに、作業中のフォルダーのみをキャッシュし、他のフォルダーを無視するように指示することです。これを行うには、プロジェクトフォルダーを右クリックし、TortoiseSVN->設定->アイコンオーバーレイを選択します。 c:*およびd:*(基本的にすべての固定ドライブを無視する)に設定された除外パスと、プロジェクトフォルダーに設定されたパスを含めます。

Maliceと基本的に同じことをしましたが、固定ドライブのチェックを外し、C:\ Users\YOURNAMEHERE\Documents *をincludeディレクトリに追加しました。私のプロジェクトはすべてこのフォルダの下にあるため、私にとっては非常にうまく機能します。

0
Mark Wheeler

Noodle7の答えに基づいて:別のオプションは変更することです:

TortoiseSVN->設定->アイコンオーバーレイ、ステータスキャッシュを「シェル」ではなく「デフォルト」に設定

これは私のために働いた。 TortoiseSVN 1.9。

0
Franc Drobnič