这已经困扰了我很长时间 - 如何正确解决目录中SVN属性集中的合并冲突?比如说有两个开发人员在一个项目上工作,在某个目录上设置了svn:ignore.如果两个开发人员都对此属性进行了更改,则当第二个更新时,他们将看到合并冲突.
与文件合并冲突不同,在名为"dir_conflicts.prej"的目录中生成单个文件,第二个开发人员必须阅读并手动更正.通常,我最终要做的是将我的所有更改还原到本地副本,然后使用dir_conflicts.prej中的信息手动重新设置这些属性.但是,在处理svn:externals属性中的大量URL列表时,这很麻烦,因为我们的许多项目都使用了这些URL.
必须有一个更好的方法来做到这一点 - 有人知道怎么做?
如何使用该svn export命令从存储库中获取单个文件?
我试过这个:
svn export e:\repositories\process\test.txt c:\
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
svn:e:\ repositories\process不是工作副本
我试图以XML格式获取svn命令的某些输出.输入有效参数时输出正常.但是,当我输入错误的密码时,输出不会显示错误消息.这是PHP代码:
exec('/usr/bin/svn --username something --password something --non-interactive log -r HEAD --xml --verbose http://a51.unfuddle.com/svn/a51_activecollab/', $output);
Run Code Online (Sandbox Code Playgroud)
这是我在终端输出的输出:
<?xml version="1.0"?>
<log>
svn: OPTIONS of 'http://a51.unfuddle.com/svn/a51_activecollab': authorization failed: Could not authenticate to server: rejected Basic challenge (http://a51.unfuddle.com)
Run Code Online (Sandbox Code Playgroud)
这是我从var_dump的$ output变量得到的输出:
array(2) {
[0]=>
string(21) "<?xml version="1.0"?>"
[1]=>
string(5) "<log>"
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,$ output变量不会返回第三行输出,其中终端也是如此.请帮助我获得与终端相同的输出(我甚至尝试使用shell_exec()或system()方法,但它们返回与exec()相同的输出)如何获得完整输出?先感谢您!
我希望TortoiseSVN(1.5.3)忽略某些文件夹,它们的内容和某些其他文件,无论它们出现在我的目录层次结构中,但我无法正确获取全局忽略字符串.
无论我做什么,它要么增加太多,要么忽略太多
什么是正确的'全局忽略模式'忽略....
Folders : bin obj release compile
Files : *.bak *.user *.suo
Run Code Online (Sandbox Code Playgroud)
更新:为了帮助澄清......是的,我在Windows上使用它.
有没有人有关于如何添加预提交钩子的明确说明,以避免更改标签子目录?
我已经在互联网上搜索了一下.我发现这个链接:SVN :: Hooks :: DenyChanges,但我似乎无法编译.
SVN有哪些常见和/或有用的预提交钩子?
我有一个工作副本,使用脚本在一夜之间自动提交到SVN.
我使用SVN命令行来执行此操作.
在与谷歌进行了一场令人沮丧的战斗之后,我一直无法确定如何在提交之前自动将工作副本中的所有未版本控制的文件添加到存储库中.
有谁知道我怎么可能这样做?
善意和感谢提前,
担
我有一个post-commit钩子脚本,当对存储库进行提交时,它执行工作副本的SVN更新.
当用户使用TortoiseSVN从他们的Windows机器提交存储库时,会出现以下错误:
post-commit hook failed (exit code 1) with output:
svn: Error converting entry in directory '/home/websites/devel/website/guides/Images' to UTF-8
svn: Can't convert string from native encoding to 'UTF-8':
svn: Teneriffa-S?\195?\188d.jpg
Run Code Online (Sandbox Code Playgroud)
上面讨论的文件是:Teneriffa-Süd.jpg注意重音u.这是因为该网站是德语,文件拼写为德语.
在Linux命令行上对工作副本执行更新时,不会遇到任何错误.仅当通过Windows SVN客户端提交执行提交后挂钩时,才会出现上述错误.
问题:
更新:
事实证明,有问题的文件文件正确显示为Teneriffa-Süd.jpg从Windows机器上查看(通过Samba),但是当我从Linux服务器(使用SSH和PuTTY)查看文件所在的文件名时,我得到了Teneriffa-Süd.jpg
多年来,我一直在Windows上使用TortoiseSVN,为我自己的项目提供本地文件系统存储库.我打算开始与其中一个项目的朋友合作,并将存储库转移到我自己的网站.我读了很多"git beats SVN!" 过去几年的帖子,并认为我至少应该看到大惊小怪的是什么.一些研究发现了"git svn"命令,并且TortoiseGit声称拥有一定程度的git-svn支持.我喜欢保留SVN存储库的想法,并在将它们提交到存储库之前用git做一些本地提交或分支."搁置"命令听起来也很有用.
不幸的是,虽然有很多CLI git-svn教程,但TortoiseGit却没有任何东西(事实上它似乎还处于早期开发阶段).结果,我在试图找出让这些部分合作所需的工作流程时遇到了问题.
我在D:\ Projects\repositories\MyProject中有一个SVN存储库.我创建了D:\ Projects\temp\gittest,并尝试对存储库执行TortoiseGit"Git Clone".从那里,我有问题试图指出trunk/branches/tags文件夹的位置(这只是我的存储库中的标准布局).当我离开那些未经检查的时候,我只能得到有用的结果.当我确实正确地启动了git存储库时,我能够进行一些更改并执行一些git提交,但是在执行SVN DCommit时遇到了问题.
所以,我希望有人可以提供一套相当详细的说明,说明如何正确使用TortoiseGit与现有的SVN存储库(本地文件系统或远程服务器上的存储库).不"不要使用SVN!" 请回答 - 我有兴趣学习如何让这两件作品一起工作.如果你觉得TortoiseGit的SVN支持还不够成熟,那么这也是有用的信息.
谢谢!
svn ×10
pre-commit ×2
svn-hooks ×2
windows ×2
exec ×1
git-svn ×1
hook ×1
linux ×1
php ×1
svnignore ×1
tags ×1
tortoisegit ×1
tortoisesvn ×1
xml ×1