回答:
詳細については、SVNBook:「作業コピーのファイルとディレクトリのステータス」を参照してください。
一般的なステータス:
U:作業ファイルが更新されました
G:リポジトリの変更は自動的に作業コピーにマージされました
M:作業コピーが変更された
C:このファイルはリポジトリのバージョンと競合しています
?:このファイルはバージョン管理されていません
!:このファイルはバージョン管理されていますが、存在しないか不完全です
A:このファイルはバージョン管理に追加されます(コミット後)
A +:このファイルは移動されます(コミット後)
D:このファイルは削除されます(コミット後)
S:これは、ファイルまたはディレクトリが(svnスイッチを使用して)作業コピーの残りのパスからブランチに切り替えられたことを示します
I:無視
X:外部定義
〜:タイプが変更されました
R:作業コピーでアイテムが置き換えられました。これは、ファイルの削除がスケジュールされ、同じ場所に同じ名前の新しいファイルが追加されるようにスケジュールされたことを意味します。
L :アイテムはロックされています
E:svn updateによって作成されたはずのアイテムが存在しました。
「G」ステータスについて何か言いたいのですが、
G:リポジトリの変更は自動的に作業コピーにマージされました
上記の定義は明確ではないと思います。すべてのファイルが作業コピーに自動的にマージされるため、少し混乱を招く可能性があります。正しいものは次のとおりです。
U =アイテム(U)はリポジトリバージョンに更新されました
G =リポジトリにマージされたアイテムのローカル変更
C =アイテムのローカル変更(C)がリポジトリに影響
D =作業コピーから削除されたアイテム(D)
A =作業コピーに追加されたアイテム(A)
私は通常、IDEまたはクライアントのいずれかのGUIを通じてsvnを使用します。そのため、コマンドラインに頼らなければならないときは、コードを覚えることはできません。
このチートシートは非常に役立ちます 。Subversionチートシート
$ svn status
L index.html
コマンドの出力は6つの列に分割されますが、列が空になる場合があるため、それは明らかではありません。おそらく、空の列をls -l
何も表示するのではなく、ダッシュで表示する方が理にかなっているでしょう。次に、たとえば、のL index.html
ようになります--L--- index.html
。これにより、3番目の列にある唯一の情報がロックに関する情報であることが明らかになります。とにかく、あなたはそれがより理にかなっていることを知ったら。
最初の列は、アイテムが追加、削除、または変更されたことを示しています。
変更なし。
A
追加予定です。
D
アイテムは削除される予定です。
M
アイテムが変更されました。
R
作業コピーでアイテムが交換されました。これは、ファイルの削除がスケジュールされ、同じ場所に同じ名前の新しいファイルが追加されるようにスケジュールされたことを意味します。
C
アイテムの内容(プロパティではなく)が、リポジトリから受信した更新と競合しています。
X
アイテムは外観の定義に関連しています。
I
アイテムは無視されています(例:svn:ignoreプロパティを使用)。
?
アイテムはバージョン管理されていません。
!
アイテムがありません(たとえば、svnを使用せずに移動または削除した)。これは、ディレクトリが不完全であることも示します(チェックアウトまたは更新が中断されました)。
~
アイテムは1種類のオブジェクト(ファイル、ディレクトリ、リンク)としてバージョン管理されていますが、別の種類のオブジェクトに置き換えられています。
2番目の列は、ファイルまたはディレクトリのプロパティのステータスを示します。
変更なし。
M
このアイテムのプロパティは変更されています。
C
このアイテムのプロパティは、リポジトリから受信したプロパティの更新と競合しています。
3番目の列は、作業コピーディレクトリがロックされている場合にのみ入力されます(svnクリーンアップで通常はそれをクリアできます)
アイテムはロックされていません。
L
アイテムはロックされています。
4番目の列は、アイテムが履歴付き追加がスケジュールされている場合にのみ入力されます。
コミットでスケジュールされた履歴はありません。
+
履歴はコミットでスケジュールされています。
5番目の列は、アイテムの作業コピーが親を基準にして切り替えられた場合にのみ入力されます
アイテムは親ディレクトリの子です。
S
アイテムが切り替わります。
6番目の列には、ロック情報が入力されています。
–show-updatesを使用すると、ファイルはロックされません。–show-updatesを使用しない場合、これは単に、ファイルがこの作業コピーでロックされていないことを意味します。
K
この作業コピーではファイルがロックされています。
O
ファイルは別のユーザーまたは別の作業用コピーによってロックされています。これは、-show-updatesが使用されている場合にのみ表示されます。
T
この作業コピーでファイルがロックされましたが、ロックが盗まれて無効です。ファイルは現在リポジトリでロックされています。これは、-show-updatesが使用されている場合にのみ表示されます。
B
この作業コピーではファイルがロックされていましたが、ロックが解除されていて無効です。ファイルはロックされなくなりましたこれは、–show-updatesが使用された場合にのみ表示されます。
古くなった情報が7番目の列に表示されます(–show-updatesスイッチを渡した場合のみ)。これは、SVNを初めて使用するユーザーがコマンドが実行することを期待するものであり、ファイルの現在の状態を最後の更新でサーバーから取得した情報と比較するだけではありません。
作業コピーのアイテムは最新です。
*
アイテムの新しいリビジョンがサーバーに存在します。
Subversion Bookのリファレンス「作業コピーのファイルとディレクトリのステータス」をご覧ください。
SVNでほとんど何でもする人に強くお勧めします。
ドキュメント(SVNBook)にアクセスできない場合は、(Linux)と入力します。
svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'
または、次の関数を〜/ .bashrcファイルに挿入します。
svncode() {
symbol=$1
[ $symbol ] && svn help status | grep \'$(echo $symbol)\' || \
echo "usage: svncode <symbol>"
}