我可能只是没有想到这一点,或者我可能根本没有意识到Subversion中已有的选项(我当然不是专家).
我只是想知道,如果我已经创建了一个分支来开始处理一些新功能,如果有一种更容易的方法来保持分支机构与主干的最新版本保持同步而不必经历所有麻烦合并一系列修订.我想能够简单地更新,并从行李箱(所有版本和分支,当然),而我提交的修改只会影响分支.这可能吗?我问的问题有意义吗?
我认为这与合并一系列修订并不一定有所不同; 只是我使用AnkhSVN,它在允许合并之前执行所有这些最佳实践检查,有时感觉它比它需要的复杂得多.这个想法是,我要保持我的分支上最新与任何提交其他开发商可能使躯干,这样,当我最终做我的分支合并到主干,一切顺利(AS)顺利(尽可能).
所以我在我的本地计算机上创建了一个ruby on rails应用程序.我有一个我创建的远程存储库.现在我该如何第一次检查它?我之前从未创建过自己的svn项目,所以我不知道该怎么做.我只对已经参与过的项目做过承诺.
cd [my project dir]
svn import -m "First Check-in" svn://[SubversionRunningMachine]/[ProjectName]/trunk
Run Code Online (Sandbox Code Playgroud)
这将检查项目.现在你必须检查项目.
svn co svn://[SubversionRunningMachine]/[ProjectName]/trunk NewProjectName
Run Code Online (Sandbox Code Playgroud) 我目前的项目分为3个部分:网站,桌面客户端和第三方程序的插件.我们最初使用Subversion开始我们的源代码控制,但在阅读Joel Spolsky的最后帖子后决定尝试Mercurial .考虑到我们之前没有真正使用过svn的大部分潜力,我们认为从源控制如何工作的一些基本想法开始,这将使这种转变变得容易.
但是,在设置了我们的初始存储库之后,我们很遗憾标记和分支应该如何在这样的项目上工作.
基本上,我们同时处理所有这三个部分.我们希望发布版本是3个部分的组合.目前我们正在一个存储库中工作.
对于Plug-in部分,我们已经完成了第一次迭代,我们将其称为Plug-In v0.1.对于其他两个部分的第一次正式构建,我们还想将它们称为网站v0.1和桌面客户端v0.1.当所有三个部分都在v0.1时,我们希望有一个完整的项目v0.1.
我们的问题是我们不确定如何在Hg存储库中管理所有这些.处理此问题的最佳方法是为3个稳定版本创建3个单独的存储库,然后为当前开发创建3个存储库吗?目前我们将这一切都集中在一个存储库中 我们应该在分支机构中执行此操作(分支是否与克隆存储库不同?)和标记?
任何帮助是极大的赞赏.
我有一个顽固的用户,他固执地坚持将他的二进制文件(可执行文件,DLL)提交到我们的subversion存储库中.我会进去删除它们,但当然没有任何东西可以从subversion中删除.
虽然有时我们需要提交二进制文件,但我不希望用户这样做是例行公事.我可以设置一个ignore属性,但如果真的确定它们,则不会阻止用户提交二进制文件.我想做的是能够在逐个目录的基础上控制提交指定文件类型的能力,特别是.exe和.dll文件.
在SVN中有没有办法做到这一点?如果它有任何不同,我们使用VisualSVN服务器和TortoiseSVN.
我试图将文件移动到TortoiseSVN存储库内的另一个文件夹,并且不会保留修订历史记录.我尝试使用Repo-browser移动文件(右键单击拖动文件并选择"将项目移动到此处")以及工作文件夹(右键单击拖动,选择"SVN在此处移动版本化文件",然后提交父文件夹).在这两种情况下,历史都不会保留.我已经阅读了TortoiseSVN手册以及其他一些人的帖子,并且我知道这些是做到这一点的方法.我错过了什么吗?
我想用Eclipse填充注释标签@version和Subclipse或Subversion.CVS已自动完成此操作,但Subversion不是.这将非常有帮助.
我试图谷歌"@version",但似乎不可能.
CVS的例子:
<?php
/*
* @author Spankmaster
* @version $Id: file.php,v 1.47 2009-09-21 09:28:49 sp Exp $
* @package mysoftware
*/
Run Code Online (Sandbox Code Playgroud)
SVN示例:
<?php
/*
* @author Spankmaster
* @version $Id: $ -> stays empty
* @package mysoftware
*/
Run Code Online (Sandbox Code Playgroud)
请帮忙.....
作为一名自由职业者,我经常在使用Subversion存储库的公司工作.
如果我可以使用Mercurial从这些存储库获取代码,在我离线时跟踪我的更改,然后在我重新上线时将所有本地更改提交到公司的Subversion服务器,这将非常方便.
这有用吗?你有没有阅读有关细节的任何好的教程?
我知道Vista和Windows 7中的Explorer不再支持可扩展的列视图,但有没有办法在Windows 7或Vista中获取这些列.我不介意使用替代资源管理器,但不知道的东西像什么TAG或分公司,我上变得越来越烦人(不久前刚刚从XP切换到Windows 7).
TortoiseSVN有一个很好的VBA脚本,允许使用Word内置的更改跟踪功能合并Microsoft Word文档.这样,当我将更改从分支合并到主干时,我可以解决Word文档中的冲突.
但是,该功能没有尽可能有用,因为它不跟踪修订更改; 它只是将这两个文件作为一个整体进行比较.这样,当我合并一个版本,其中一个段落被添加到文档中时,我不会审查此段落.相反,我必须检查源文档和目标文档之间的所有差异(包括TOC书签名称之类的东西).
这是我无法覆盖的固有限制吗?或者是因为我的Word版本已经很老了?(我正在使用Word 2002).
此外,如果你知道一个神奇的工具或插件...... ;-)
svn ×9
tortoisesvn ×3
mercurial ×2
ankhsvn ×1
branch ×1
cornerstone ×1
eclipse ×1
hgsubversion ×1
macos ×1
merge ×1
ms-word ×1
permissions ×1
phpdoc ×1
subclipse ×1
tortoisecvs ×1
trunk ×1
versions ×1
visualsvn ×1