SVN中的结果代码是什么意思?

SVN中的结果代码是什么意思? 我需要一个快速参考。

有关更多详细信息,请参阅SVNBook: “工作副本文件和目录的状态” 。

常见状态:

U :工作文件已更新

G :回购的变化被自动合并到工作副本中

M :修改了工作副本

C :这个文件与回购版本有冲突

:这个文件不受版本控制

:该文件在版本控制下,但缺失或不完整

:这个文件将被添加到版本控制(提交后)

A + :该文件将被移动(提交后)

D :该文件将被删除(提交后)

S :这表示文件或目录已从工作副本的其余部分(使用svn switch)切换到分支

:忽略

X :外部定义

:types改变了

R :你的工作副本中的项目已被replace。 这意味着该文件被安排删除,然后一个新的同名文件被安排添加在它的位置。

L :项目被locking

E :通过svn更新,项目已经存在了。

另请注意,第二列中的结果代码是指文件的属性。 例如:

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

filename.1:文件已更新
文件名.2:文件上的一个或多个属性(如svn:关键字)已更新
文件名3:文件及其属性都被更新

你总是可以通过运行得到一个列表:

 svn status --help 

还有一个'E'的地位

E =更新前存在的文件

如果您已手动创build了通过执行更新而创build的文件夹,则可能会发生这种情况。

我想谈谈“G”的地位,

G:回购的变化被自动合并到工作副本中

我觉得上面的定义不是很清楚,它可以产生一点困惑,因为所有文件都被自动合并到工作副本中,正确的应该是:

U =项目(U)已更新到存储库版本

G =项目的本地变更mer(G)与存储库

C =存储库中的项目本地更改(C)

D =项目(D)从工作副本中选出

A =项目(A)dded到工作副本

我通常使用svn通过gui,无论是我的IDE还是客户端。 因此,当我必须诉诸命令行时,我永远不会记住这些代码。

我发现这个备忘单非常有帮助: Subversion Cheat Sheet

看一下Subversion书籍参考: “工作副本文件和目录的状态”

强烈build议任何人用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>" } 

在这里输入图像说明

SVN状态列

 $ svn status L index.html 

该命令的输出被分成六列,但这并不明显,因为有时列是空的。 也许用破折号表示空列是更有意义的,而不是一无所有。 那么,例如, L index.html看起来就像--L--- index.html ,这使得显而易见,我们唯一的信息就是在第三列locking的信息。 无论如何,一旦你知道它开始变得更有意义。

SVN状态第一列:A,D,M,R,C,X,I,?,!,〜

第一列表示项目被添加,删除或以其他方式更改。

    没有修改。

A项目计划添加。

D项目计划删除。

M项目已被修改。

R项目已被replace在您的工作副本。 这意味着该文件被安排删除,然后一个新的同名文件被安排添加在它的位置。

C的内容(与属性相对)与从存储库接收的更新发生冲突。

X Item与外部定义有关。

I项目被忽略(例如与svn:忽略属性)。

? 项目不受版本控制。

! 项目丢失(例如,您移动或删除它,而不使用SVN)。 这也表明目录不完整(结帐或更新被中断)。

〜Item被作为一种对象(文件,目录,链接)进行版本化,但被不同types的对象所取代。

SVN状态第二列:M,C

第二列告诉文件或目录属性的状态。

    没有修改。

此项的M属性已被修改。

此项目的属性与从存储库收到的属性更新相冲突。

SVN状态第三列:L

第三列只有在工作副本目录被locking的情况下才能填充(svn清理通常应该足以将其清除)

    项目未被locking。

L项目被locking。

SVN状态第四列:+

只有在项目计划添加历史时,第四列才会填充。

    无提交历史logging。

+提交的历史logging。

SVN状态第五列:S

只有当项目的工作副本相对于其父项切换时,第五列才被填充

    Item是其父目录的子项。

S项目被切换。

SVN状态第六列:K,O,T,B

第六列填充locking信息。

    当使用-show-updates时,文件没有被locking。 如果没有使用-show-updates,这只是意味着文件没有被locking在这个工作副本中。

K文件被locking在这个工作副本中。

O文件被其他用户或其他工作副本locking。 这仅在使用-show-updates时出现。

T文件被锁在这个工作副本中,但锁已被盗,无效。 该文件当前被locking在存储库中。 这仅在使用-show-updates时出现。

B文件被locking在这个工作副本中,但锁已被破坏,无效。 该文件不再被locking仅当使用-show-updates时才会出现。

SVN状态第七列:*

过时的信息出现在第七列(仅当您通过-show-updates开关时)。 这是SVN的新用户希望命令执行的事情,而不是仅仅将文件的当前状态与在上次更新时从服务器获取的信息进行比较。

    工作副本中的项目是最新的。

*服务器上存在较新版本的项目。