如果我在Subversion中删除文件,我该如何查看它的历史和内容?如果我尝试执行svn cat或svn log在不存在的文件上,它会抱怨该文件不存在.
另外,如果我想恢复文件,我应该svn add回来吗?
(我特意询问了Subversion,但我也想听听Bazaar,Mercurial和Git如何处理这个案例.)
我在名为"project"的Subversion存储库中有一个"docs"文件夹.我得出的结论是它应该保存在一个名为"project_docs"的独立Subversion存储库中.
我想将"docs"文件夹(及其所有修订版)移动到"project_docs"存储库.有没有办法做到这一点?
如何使用修订#列出提交的文件名/路径?
回答:
svn log --verbose -r <revisionnumber>
ex: svn log --verbose -r 42
Run Code Online (Sandbox Code Playgroud)
谢谢phihag!
是否有任何好的软件可以让我通过我的SVN存储库搜索代码片段?我找到了'FishEye',但成本是1,200,远远超出我的预算.
我不小心跑了svn add *,添加了一堆不应该在存储库中的文件.我也想在一些文件中进行本地编辑.是否有一种简单的方法可以在svn add不恢复本地编辑的情况下撤消?我在谷歌上看到的主要建议是svn revert,它可以撤消本地编辑.
使用TortoiseSVN,我可以将文件移动到ignore-on-commit更改列表中,这样当我提交整个树时,对该文件的更改不会被提交.
有没有办法使用svn命令行工具做这样的事情?
编辑:感谢您使用的建议svn:ignore,但这并不是我想要的.
svn:ignore影响和svn add&之类的事情svn import.它给出了一个要忽略的文件名模式列表.
我有一个已经在源代码控制下的文件,但我想对我提交整个源代码树后不想提交的文件进行临时更改.我正在进行许多其他更改,我可以在我的监视器上粘贴一个注释,告诉我在提交树之前恢复该文件,但如果svn可以自动跳过该文件,那将会很好.
有没有办法在我的Git存储库中添加Subversion存储库作为Git子模块?
就像是:
git-svn submodule add https://svn.foo.com/svn/proj --stdlayout svn-project
Run Code Online (Sandbox Code Playgroud)
凡https://svn.foo.com/svn/proj指向Subversion库.
我知道有git-svn一个允许人们与Subversion存储库进行交互.所以我想,也许有办法检查Subversion存储库,git-svn然后将其用作子模块.
将subversion存储库的一个分支作为新主干的最佳方法是什么?
对整个系统进行了重大改写:事物已被移动,重写,替换,删除,重命名等.重写的代码已经过测试并准备替换旧的主干.
基本上,旧主线(Trunk 5)被标记并将在此处结束.重写的分支(分支6)将成为新的主线(Trunk 7):
Trunk(1) --> Trunk(2) --> Trunk(5) --> × +--> new Trunk(7)
\ \ |
fork merge ???
\ \ |
+--> Branch(3) --> Branch(4) --> Branch(6) --+
来自旧"主干"的所有持续变化已经包含在"重写分支"中
我怎样才能做到这一点?
我有一个SVN文件,现在缺少一些逻辑,所以我需要回到大约40次修改,当时它有我需要的逻辑.除了试图在命令行中查看文件的差异(非常难以阅读),无论如何我可以获得该文件的副本进行审查,以便我可以研究它来恢复部分?
如果我在trunk下有20个目录,每个目录中有很多文件,只需要其中3个目录,是否可以在trunk下只有3个目录进行Subversion结账?