SVNの結果コードはどういう意味ですか?


300

SVNの結果コードはどういう意味ですか?クイックリファレンスが必要です。

回答:


518

詳細については、SVNBook:「作業コピーのファイルとディレクトリのステータス」を参照してください。

一般的なステータス:

U:作業ファイルが更新されました

G:リポジトリの変更は自動的に作業コピーにマージされました

M:作業コピーが変更された

C:このファイルはリポジトリのバージョンと競合しています

:このファイルはバージョン管理されていません

:このファイルはバージョン管理されていますが、存在しないか不完全です

A:このファイルはバージョン管理に追加されます(コミット後)

A +:このファイルは移動されます(コミット後)

D:このファイルは削除されます(コミット後)

S:これは、ファイルまたはディレクトリが(svnスイッチを使用して)作業コピーの残りのパスからブランチに切り替えられたことを示します

I:無視

X:外部定義

:タイプが変更されました

R:作業コピーでアイテムが置き換えられました。これは、ファイルの削除がスケジュールされ、同じ場所に同じ名前の新しいファイルが追加されるようにスケジュールされたことを意味します。

L :アイテムはロックされています

E:svn updateによって作成されたはずのアイテムが存在しました。


12
「R」:このファイルは置き換えられました
マニフェスト

8
どうEですか?すべてのドキュメントには「存在する」と書かれているため、それほど役に立ちません。
ポップス

2
+1、ただし「G:リポジトリの変更は自動的に作業コピーにマージされました」が、指定されたソースに含まれていません(それ以上?)
Julian

86

また、2番目の列の結果コードは、ファイルのプロパティを参照していることに注意してください。例えば:

U   filename.1
 U  filename.2  
UU  filename.3

filename.1:ファイルが更新されました
filename.2:ファイルのプロパティ(svn:keywordsなど)が更新されました
filename.3:ファイルとそのプロパティの両方が更新されました



19

「G」ステータスについて何か言いたいのですが、

G:リポジトリの変更は自動的に作業コピーにマージされました

上記の定義は明確ではないと思います。すべてのファイルが作業コピーに自動的にマージされるため、少し混乱を招く可能性があります。正しいものは次のとおりです。

U =アイテム(U)はリポジトリバージョンに更新されました

G =リポジトリにマージされたアイテムのローカル変更

C =アイテムのローカル変更(C)がリポジトリに影響

D =作業コピーから削除されたアイテム(D)

A =作業コピーに追加されたアイテム(A)


「G」ステータスについて。2つの異なるチェックアウトディレクトリに変更のコピーが2つありました。1つのcheckout-dirからの変更をコミットし、他のcheckedout-dirを更新すると、ローカルディレクトリの変更がリポジトリにマージされたことを示す「G」ステータスが表示されました。
GuruM 2012

18

「E」ステータスもあります

E =更新前にファイルが存在した

これは、更新を実行することによって作成されるはずのフォルダーを手動で作成した場合に発生する可能性があります。


13

私は通常、IDEまたはクライアントのいずれかのGUIを通じてsvnを使用します。そのため、コマンドラインに頼らなければならないときは、コードを覚えることはできません。

このチートシートは非常に役立ちます 。Subversionチートシート


1
Gステータスは表示されません。
アークくん

13

SVNステータス列

$ svn status
L index.html

コマンドの出力は6つの列に分割されますが、列が空になる場合があるため、それは明らかではありません。おそらく、空の列をls -l何も表示するのではなく、ダッシュで表示する方が理にかなっているでしょう。次に、たとえば、のL index.htmlようになります--L--- index.html。これにより、3番目の列にある唯一の情報がロックに関する情報であることが明らかになります。とにかく、あなたはそれがより理にかなっていることを知ったら。

SVNステータスの最初の列:A、D、M、R、C、X、I、?、!、〜

最初の列は、アイテムが追加、削除、または変更されたことを示しています。

      変更なし。

 A    追加予定です。

 D    アイテムは削除される予定です。

 M    アイテムが変更されました。

 R    作業コピーでアイテムが交換されました。これは、ファイルの削除がスケジュールされ、同じ場所に同じ名前の新しいファイルが追加されるようにスケジュールされたことを意味します。

 C    アイテムの内容(プロパティではなく)が、リポジトリから受信した更新と競合しています。

 X    アイテムは外観の定義に関連しています。

 I    アイテムは無視されています(例:svn:ignoreプロパティを使用)。

 ?    アイテムはバージョン管理されていません。

 !    アイテムがありません(たとえば、svnを使用せずに移動または削除した)。これは、ディレクトリが不完全であることも示します(チェックアウトまたは更新が中断されました)。

 ~    アイテムは1種類のオブジェクト(ファイル、ディレクトリ、リンク)としてバージョン管理されていますが、別の種類のオブジェクトに置き換えられています。

SVNステータスの2列目:M、C

2番目の列は、ファイルまたはディレクトリのプロパティのステータスを示します。

      変更なし。

 M    このアイテムのプロパティは変更されています。

 C    このアイテムのプロパティは、リポジトリから受信したプロパティの更新と競合しています。

SVNステータスの3列目:L

3番目の列は、作業コピーディレクトリがロックされている場合にのみ入力されます(svnクリーンアップで通常はそれをクリアできます)

      アイテムはロックされていません。

 L    アイテムはロックされています。

SVNステータスの4列目:+

4番目の列は、アイテムが履歴付き追加がスケジュールされている場合にのみ入力されます。

      コミットでスケジュールされた履歴はありません。

 +    履歴はコミットでスケジュールされています。

SVNステータスの5列目:S

5番目の列は、アイテムの作業コピーが親を基準にして切り替えられた場合にのみ入力されます

      アイテムは親ディレクトリの子です。

 S    アイテムが切り替わります。

SVNステータス6列目:K、O、T、B

6番目の列には、ロック情報が入力されています。

      –show-updatesを使用すると、ファイルはロックされません。–show-updatesを使用しない場合、これは単に、ファイルがこの作業コピーでロックされていないことを意味します。

 K    この作業コピーではファイルがロックされています。

 O    ファイルは別のユーザーまたは別の作業用コピーによってロックされています。これは、-show-updatesが使用されている場合にのみ表示されます。

 T    この作業コピーでファイルがロックされましたが、ロックが盗まれて無効です。ファイルは現在リポジトリでロックされています。これは、-show-updatesが使用されている場合にのみ表示されます。

 B    この作業コピーではファイルがロックされていましたが、ロックが解除されていて無効です。ファイルはロックされなくなりましたこれは、–show-updatesが使用された場合にのみ表示されます。

SVNステータス7列目:*

古くなった情報が7番目の列に表示されます(–show-updatesスイッチを渡した場合のみ)。これは、SVNを初めて使用するユーザーがコマンドが実行することを期待するものであり、ファイルの現在の状態を最後の更新でサーバーから取得した情報と比較するだけではありません。

      作業コピーのアイテムは最新です。

 *    アイテムの新しいリビジョンがサーバーに存在します。



7

ドキュメント(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>"
}

ここに画像の説明を入力してください


1
IMO、それは「あなたが急いでいるとき」ではなく、「ドキュメントにアクセスできないとき」(たとえばSVNBook)です。
bahrep

@bahrepありがとう、それはそれを見る方法です。提案どおり修正されました。
Alan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.