Questions tagged «svn»

使用此标记可解决有关SVN(Subversion)的问题,SVN是在Apache许可下分发的集中式开源修订控制系统。

7
查看svn的最新更改
在休假之前,我暂停了一个项目的开发。现在,几周后,我想知道我正在处理的源代码中的最新内容是什么? 是否有机会看到例如WebSVN中整个存储库中的最后更改?
72 svn 

4
“ svn日志”未显示所有最近的提交
注意:对于经验丰富的SVN用户来说,这可能是一件容易的事,但是它让我困扰了很长时间……所以希望这对像我这样的人有所帮助! svn log从命令行发出后,我注意到丢失了一些最近的提交消息。我知道这些消息已正确保存在我的存储库中,因为它们显示在我的SVN客户端(RapidSVN)中。我只是想不通为什么使用svn的命令行版本看不到它们。 在下面回答...
72 svn 

2
我的完整命令及其用途的目的
根据文档: (mc)我的冲突-接受所有冲突的我的版本(相同) (tc)他们的冲突-接受所有冲突的我的版本(相同) (mf)我的完整文件-接受我整个文件的版本(即使没有冲突) (tf)他们的完整文件-接受其整个文件的版本(相同) 我不明白* -conflict和* -full命令之间的区别。看来它将为您带来相同的结果。 更多:请参阅此主题以更详细地回答此问题。
72 svn 

2
如何确定SVN工作副本版式?
例如,SVN 1.5客户端具有用于工作副本的一种布局,而SVN 1.6客户端具有不同的布局。我了解,当新客户触摸该布局时,该布局会自动升级。 如果我的系统上有工作副本,如何找到其使用的布局版本?
72 svn  working-copy 

2
减少.svn文件夹的大小
在我们的项目中,我们决定通过使用预构建的二进制文件来减少构建时间。我们每周/每月创建一个稳定的发行版并将其提交到存储库。构建使用这些二进制文件,而不是从源代码构建所有内容。 对于构建速度来说,这太棒了。但是,毫不奇怪,它确实增加了SVN结帐的大小。我们的主干目前位于〜22 GB。我意识到这不是Subversion的预期用途。但是我们目前没有其他选择。 但我想改善目前的状况。该.svn文件夹对磁盘上干线的大小做出了很大的贡献。二进制文件更新后,似乎在.svn文件夹中保留了几个基础。也就是说,如果二进制文件是4 GB,则中有一个副本.svn。如果已更新,则该.svn文件夹将保留原始基础以及新基础,并且针对该文件的最大容量为8 GB。 是否可以告诉Subversion不要在.svn某些文件的文件夹中保留基础?通过谷歌我发现了一个类似的问题,如何减少.svn文件夹的大小?。 西蒙收到的答案是 使用部分签出(对我来说这不起作用,因为我需要二进制文件) 这不是Subversion的功能 已经讨论过,但至少在Subversion 1.8之前不会成为功能。 幸运的是,subversion 1.8已发布。是否添加了此功能? 我没有在发行说明中注意到它。尽管“减少目录和财产存储”看起来很有希望。
72 svn  size  svn-checkout 

4
SVN从提交的代码创建补丁吗?
是否可以为提交后提交期间受影响的所有文件创建补丁(差异文件)?这些文件的版本号相同,我需要每个文件与先前版本的区别。
71 svn  diff 

16
工作副本已锁定
我正在开发使用Subversion作为版本控制的网站,但收到“工作目录锁定”错误消息 这是故事: 我有 PC-A: Windows XP专业版 VisualSVN 2.5.2 乌龟SVN 1.7.3 PC-B: Windows XP主页 乌龟SVN 1.7.3 我已经使用VisualSVN在PC-A上创建了存储库。 从PC-B,我将http:\\ PC-A:81 \ svn \ test \ trunk检出到D:\ xampp \ htdocs \ test-lalala。 从PC-A,我还将签出http:\\ PC-A:81 \ svn \ test \ trunk到D:\ xampp \ htdocs \ test-lalala。 我创建了一个运行my-post-commit.bat文件的提交后挂钩,因此当我提交到http:\\ PC-A:81 \ svn \ test \ trunk时,文件夹D:\ …

14
Subversion的奇怪问题-尝试重新创建用于我的存储库中的目录时出现“文件已存在”
所以-我以前有一个名为mysql的目录,之前有几个版本。我删除了它,并决定重新开始-但是当我尝试创建新的mysql目录时-我一直遇到“文件已存在”错误: support:/etc/puppet/modules# mkdir mysql support:/etc/puppet/modules# svn add mysql/ A mysql support:/etc/puppet/modules# svn commit -m " Test" Adding modules/mysql svn: Commit failed (details follow): svn: File already exists: filesystem '/var/lib/svn/puppet/db', transaction '11-r', path '/trunk/modules/mysql' support:/etc/puppet/modules# svn delete mysql svn: Use --force to override this restriction svn: 'mysql' has local modifications support:/etc/puppet/modules# …
70 svn 

10
有没有办法使用svn:mergeinfo关闭TortoiseSVN?
当我执行TortoiseSVN合并时,即使没有实际更改,它也包含一堆目录和一些文件到修改后的文件中。 它更改属性svn:mergeinfo。 有什么理由需要在目录/文件上设置这些属性?有什么办法可以避免不做这些更改svn:mergeinfo? 我通常只还原项目然后提交,但这会浪费额外的时间。
70 svn  tortoisesvn 

9
SVN反向合并?
我的SVN信息库在497版上是完美的。我执行了几次错误的提交,因此现在在HEAD版上。我看到要回滚,应使用如下命令: svn merge -r HEAD:497 . 在工作目录中(而工作目录在HEAD修订版中)。但这是正确的命令吗?还是我使用HEAD:498?还是496?我已经运行了该命令,当前版本似乎与497不同,因为当我更新-r 497(或当我拥有497工作副本并更新-r HEAD)时,会发生许多文件更新。 我是否遇到某种击剑杆问题,而HEAD:497实际上又恢复为496,还是其他?还是当我更新时,尽管HEAD和497相同,但SVN会回溯到每个修订版? 编辑: 澄清一下,正如我之前说过的,当我在497和合并的HEAD之间进行更新时,我看到发生了很多文件更改。我以为,如果497和HEAD相同,它将检测到,并且不会发生文件更改;它只会说“已更新至修订版497”。那么我的命令是错误的,还是这个想法是错误的?(如果是这样,为什么?)
70 svn 

14
从我的在线存储库中检出时出现SVN错误(200 OK)
我正在尝试在主机上设置我的第一个存储库,并在使用TortoiseSVN检出项目时收到此错误: 错误:“ http://mywebsite.com/svn/myproject ”的选项:200 OK(http://mywebsite.com) 这是我所做的: SSH进入我的主机并转到/ home / myaccnt和'svnadmin create svn' 创建我的项目存储库:'svn mkdir svn / myproject' 将文件添加到存储库:cd / home / myaccnt /.../ myproject(具有/ tags,/ branch,/ trunk);'svn import file:/// home / myaccnt / svn / myproject'(此时可以看到正在添加的文件的旧列表。) 此时,我认为我已经设置了存储库并将项目导入到资料库。因此,我准备在Windows框上使用TortoiseSVN进行结帐。所以: 在我要检出的文件夹中,右键单击,然后单击SVN Checkout,然后确保我的URL是:http : //mywebsite.com/svn/myproject 结果? 错误:“ http://mywebsite.com/svn/myproject ”的选项:200 OK(http://mywebsite.com) 有人对我有什么想法吗?我可能会丢失存储库或htaccess的结构中的一些基本内容……。
70 svn  tortoisesvn 

3
SVN从中继切换到分支
我在SVN托管项目的根文件夹中trunk,正在探索建立两个分支。 一个分支将是当前(稳定)修订版的项目“快照”,第二个分支将是我将应用一些新代码,测试然后将干线升级到新版本的一个分支。 我的目标是保留快照作为保险,也是一种快速获得旧版本,稳定版本的项目的方法。一旦应用了新代码并通过了测试,第二个分支将被合并回主干,我们将其提供给公众。 要设置快照,我将快照复制trunk到了一个分支v1p2p3: $ svn cp https://www.example.com/svn/trunk \ https://www.example.com/svn/branches/v1p2p3 \ -m "Branching from root trunk to v1p2p3 at r1114" 到现在为止还挺好: Committed revision 1115. 我想做的是将本地存储库副本切换到此分支,以确保一切正常,但出现错误消息: $ svn switch --relocate https://www.example.com/svn/trunk \ https://www.example.com/svn/branches/v1p2p3 错误消息是: svn: E155024: Invalid relocation destination: 'https://www.example.com/svn/branches/v1p2p3' (does not point to target) 我究竟做错了什么? (如果这行不通,我怀疑我无法从更具雄心的第二个分支开始。我正在寻找一种不会破坏现有项目布局的方法。感谢您的建议,以及抱歉,这是一个愚蠢的问题。)
70 svn  branch  trunk 

15
如何在svn和/或git中“取消版本”文件
它一直在我身上发生。我不小心对文件进行了版本控制,但我不想对其进行版本控制(例如,特定于开发人员/机器的配置文件)。 如果提交此文件,我将弄乱所有其他开发人员机器上的路径-他们将不满意。 如果我确实从版本管理中删除了文件,它将从其他开发人员的机器上删除-他们将不满意。 如果我选择从不提交文件,那么我总是有一个“脏”的结帐-我很不高兴。 是一种从版本控制“取消版本”文件的干净方法,这将导致没有人不满意吗? 编辑:尝试澄清一下:我已经将文件提交到存储库,并且只想从版本控制中删除它-我特别不希望从进行结帐的每个人中实际删除它。我最初希望它被忽略。 答:如果我可以接受第二个答案,那就是this。它回答了我关于git的问题-可接受的答案是关于svn。

5
具有历史记录的存储库之间的SVN复制
我的一个队友问是否可以在保持历史记录的同时从一个SVN导出到另一个。 在我看来,这似乎是一个普遍的要求。 因此:是否可以在所有历史记录之间迁移SVN存储库? 重要的是要注意,我们在Source上没有svnadmin访问,但在Destination上却具有svnadmin访问。 如果只是归结为从源中签出每个修订,然后将其签入到目的地,只要有一个自动化的流程,我们就可以了。 编辑:我忘了提到目标存储库在Windows上。

8
如何将svn分支和标签导入git-svn?
我有一个必须致力于的中央SVN存储库,但是我对git充满热情(就像我认识的任何其他开发人员一样)。此案是众所周知的。 然后,我阅读了有关git-svn的信息,并进行了尝试。由于我不需要完整的历史记录,所以只需要两个月左右的时间,因此我做到了: git svn clone -r 34000 -s https://svn.ourdomain.com/svn/repos/Project/SubProject 子项目有,像往常一样,子目录trunk,tags和branches。大。 然后,为了得到最新版本,我做了 git svn rebase 稍后再下载一些,太好了。上次修订,日志等。好的,现在我切换到功能分支。 $ git branch * master $ git branch -r trunk $ git branch -a * master remotes/trunk 问题是:我的分支机构在哪里?我做错什么了吗?我应该怎么做才能使分支进入新的git repo? 无论我在哪里阅读git-svn,它都会明智地处理分支和标签,但是行为并非我所期望的。谢谢! 编辑:我刚刚发现git svn fetch可以做到。但是它将获得所有修订,这是我不希望的。
69 svn  git  git-svn 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.