0


0

私はSVNに不慣れで、これについて答えを探していましたが、まだ見つけていないので、ここに行きます:

TortoiseSVNを使用して、REPOブラウザを起動し、すべてのプロジェクトを表示できるリポジトリのルートに移動します。

特定のプロジェクトに移動して、そのプロジェクトの作業コピーがどこかにあるかどうかを調べる方法はありますか?*

プロパティはこの情報を明らかにしていないようです。

新しい作業コピーの場所にチェックアウトできることはわかっていますが、問題は、プロジェクトが既にチェックアウトされているかどうかを調べる方法(つまり 誰かの作業コピーの場所へ)

ありがとう。

明確にする:

つまり、リポジトリ内のプロジェクトを調べて、そのプロジェクトに関連付けられた「作業コピー」フォルダがあるかどうかを確認できるソフトウェア(Subversionコマンド、TortoiseSVNなど)があります。 作業コピーフォルダが存在する場合は、作業コピーにコミットされていない変更があるかどうかを判断することができます(他の場所にプロジェクトをチェックアウトする前に)。 つまり、プログラマーXが解雇された場合、Xのワークステーション上のどこかで進行中の作業があるかもしれません。 マネージャが知っているのは、リポジトリにXがレイアウトされたときにXが作業していたプロジェクトのバージョンが含まれているということだけです。 マネージャーはプロジェクトをプログラマーYに割り当てたいと思います。

3 Answer


2


Subversionはこのような情報を追跡しません - チェックアウトは純粋に読み取り専用の操作です。 ただし、プロジェクトを何度でもチェックアウトしても安全です。失う可能性があるのは、コミットされていない変更だけです。

私が考えることができる唯一の解決策は subversion hooksを含みます - あなたは投稿を追加することができます修正された作業コピーファイルがまだ存在しているかどうかをチェックし、これをどういうわけか記録するためのcommitフック。 ただし、誰かがファイルを変更したが実際にコミットしなかった場合、またはプロジェクトに大きな変更を加えて1つのファイルをコミットせずに終了した場合でも、これはカバーできません。 しかしあなたの必要性によっては、それは何もないよりはましかもしれません


2


答えは「いいえ」です。リポジトリーからのチェックアウトについて何か教えてくれるコマンドはありません。


0


Xのワークステーションのすべてのフォルダにsvn infoを実行するスクリプトを書いてください。 あなたのスクリプトは "URL:"のためのSVN情報出力を解析(grep)します。 見つかった各URLのフォルダ名とURL値を印刷します。 これにより、どのフォルダが作業コピーであり、それらがどのリポジトリブランチを参照しているかがわかります。