当前位置:  开发笔记 > 开发工具 > 正文

svn copy的用途是什么?

如何解决《svncopy的用途是什么?》经验,为你挑选了4个好方法。

例:

$ svn copy foo.txt bar.txt  
A    bar.txt

你什么时候使用这种技术?为什么?

这个命令(取自svn的"红皮书")是否会创建一份副本,同时保留与之共享的历史记录

如果我在改变,会发生什么?

在其他现代系统(Clearcase,Accurev,Perforce)中,这相当于什么?

让我强调我正在寻找的观点:
这种分支是在文件级别吗?
如果您在同一分支中使用它会发生什么,即创建文件的副本而不是开始更改该新文件.都在同一个分支?
我知道它也用于标记,但有趣的是我在文件级别执行时会发生什么.



1> Kornel..:

除了分支/标记之外,您还可以在将文件拆分为两个时使用它.在这种情况下,两个新文件都将具有历史记录,您将能够在拆分之前查看代码.

顺便说一句:这是SVN的少数功能之一,但Git没有(Git会尝试在事后猜测代码的来源,特别是如果你添加-C命令).


很好,我以前没见过那个.

2> Steve Jessop..:

你什么时候使用这种技术?为什么?

要创建标记,也要创建分支,尽管通常在目录而不是单个文件中使用它.标记是一个或多个文件的副本,为方便起见而保留这些文件但不会再次更改.分支是一个或多个文件的副本,然后与原始文件分开演变

此命令是否会创建副本,foo.txt同时保留要与之共享的历史记录bar.txt

不完全,foo.txt历史将被有效地复制到历史中bar.txt,然后在历史中出现一个额外的条目,bar.txt表明它是从中复制的foo.txt,之后它们是独立的.因此,直到副本的历史是相同/共享的.

如果我在改变bar.txt,会发生foo.txt什么?

没什么,它们是完全分开的.但是您可以稍后将更改从一个合并到另一个.



3> Simon Howard..:

这是一个稍微不寻常的用法,但我发现有时我必须将源文件分成两个单独的文件 - 例如,如果它包含两组不相关的功能,并且我使用svn copy来执行此操作.然后我修改两个文件并从每个文件中删除不适当的位.这样,两个新文件都保留了相关位的修订历史记录.



4> Dustin..:

在其他现代系统(Clearcase,Accurev,Perforce)中,这相当于什么?

git会注意到普通副本上的文件是相同的,并将其显示为副本.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有