我正在把这头发拉出来.
我有一个使用Subversion控制版本的站点.我使用aptana(eclipse,subclipse)来做svn.我一直在检查和退出文件,更新等一切都很好.但是,我们一直在构建的系统一直在添加自己的文件和文件夹.
当我尝试提交这些时,它告诉我<path>不是工作副本.如果我尝试进行清理,那么它会给出相同的错误.我发现我可以手动将每个文件添加到版本控制,但这会引发相同的错误.执行更新没有帮助,刷新工作区也没有做任何事情.错误后清理似乎消失,然后目录被锁定.
我知道你应该使用SVN添加文件,但是你如何使用生成的文件呢?如何绕过这个" <folder>不是工作副本目录"错误?如何让Subversion只查看文件并将其添加到其存储库?
我有一个存储库,在修订版1中添加了文件夹主干,分支和标签.来源保存在行李箱中.修订版7发生了,开发工作一直持续到第16版.现在我必须继续修订第7版,所以我想创建第7版的分支.
以下是我尝试这样做的方法:使用TortoiseSVN,我在存储库浏览器中选择trunk,打开"显示日志",选择版本7并右键单击"从修订版创建分支/标记".出现复制(分支/标记)对话框,其中FROM-URL设置为trunk,我输入.../branches/new_branch_name作为To-URL.检查"存储库中的特定修订"并将其设置为7.
现在我收到一条错误,说"路径...../trunk在修订版7中不存在".但是在版本1中肯定创建了trunk,如果我在"显示日志"对话框中查看修订版7的更改文件,我可以看到在trunk中添加/修改了文件.
我究竟做错了什么?
我最近遇到了一个非常奇怪的颠覆行为.
我刚刚将分支的本地副本与远程分支合并.一切顺利,但我有一个树冲突(本地删除,远程更新).
好吧,以为我,适当地修改了工作副本并运行了"svn resolve --accept = working -R.".
Subversion告诉它解决了我的问题并且"svn st"不再显示任何问题.所以,我试图提交,但是svn告诉我,其中一个内部文件夹(在我冲突的文件夹中)已经过时并建议svn up,但它使文件夹再次发生冲突!
我该怎么做才能摆脱这个有意思的圈子?
有一段时间我发现Tortose SVN changelog中的提交中列出了一个文件,"action"列中显示了"替换".
那是什么意思?这与"修改"有什么不同?
每次我在svn中提交文件时,都会收到以下消息:
注意!您的身份验证领域的密码:
http://domainname.com:80"domainname.com "
只能以未加密的方式存储到磁盘!建议您配置系统,以便Subversion可以存储加密的密码(如果可能).有关详细信息,请参阅文档 您可以通过在"/root/.subversion/servers""存储明文一密码"选项的值设置为"yes"或"否"避免此警告的将来出现.
存储密码未加密(是/否)?没有
我不想要这种认证; 我怎么能摆脱这个警告?
TortoiseSVN"显示日志"选项按日期过滤修订.手动更改这些日期很麻烦.如何以最小的麻烦查看所有修订?
场景:二进制文件需要svn锁来修改.要修改,首先锁定,修改文件,然后在提交时,使用"取消"按钮取消提交.由于某种原因,删除了包含锁定文件的整个文件夹(包括.svn文件夹).
问题:我通过陆龟svn使用了"SVN更新".所有文件都已更新.但之前锁定的文件并未表示锁定符号已锁定.不过,我修改了文件并尝试提交.
提交时出错:
Server sent unexpected return value (423 Locked) in response to PUT request for '/****/!svn/wrk/9f89b6b6-7932-9f45-82e8-fafbd5426290/trunk/***'
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"SVN Get Lock"再次获取锁时,它显示失败:
尝试获取锁时出错:
.`...is already locked by user 'kr***' in filesystem '/data/svn/dir/***/repos/***/db'`
Run Code Online (Sandbox Code Playgroud)
我的感觉是,客户端的锁信息丢失但仍然存在于服务器端.
请建议一个出路.
版本信息:TortoiseSVN 1.6.8,Build 19260 - 32 Bit,2010/04/16 20:20:11
注意:使用*屏蔽少量路径和登录
我有一个用户,直到今天,被称为foo.bar.现在该用户将从此处被称为fb.但是我想更新所有旧提交以反映此用户名而不是旧用户名出于统计原因等.如何做到这一点?
我知道语法
svn propset --revprop -r revision_number svn:author your_username
Run Code Online (Sandbox Code Playgroud)
但这需要大量的体力劳动.是否有现有的函数或脚本只需要替换名称和替换它的名称?
更新:
这是我为处理这个问题而编写的一个小脚本,因为我将在很多用户的大量回购中执行此操作:)只需在您选择的已检出的存储库文件夹中运行它.请注意,脚本中的错误处理至少是最少的.
我想将Subversion存储库子目录(module此处表示)转换为具有完整历史记录的git存储库.svn copy我的Subversion存储库的历史记录中有许多操作(Subversion人们称之为分支).发布策略是每次发布或其他分支创建后,旧URL保持未使用状态,新URL将替换旧URL以包含工作.
最好的是,通过我的阅读,似乎应该这样做:
$ git svn clone --username=mysvnusername --authors-file=authors.txt \
--follow-parent \
http://svnserver/svn/src/branches/x/y/apps/module module
Run Code Online (Sandbox Code Playgroud)
(其中branches/x/y/描绘了最新的分支).但我得到一个错误,看起来像这样:
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/svn/src/!svn/bc/100/branches/x/y/apps/module' path not found
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
Run Code Online (Sandbox Code Playgroud)
(更新:添加--no-minimize-url上述选项不会删除错误消息.)
目录module被创建和填充,但是svn copy不会导入超过最新提交的Subversion历史记录(当我预期数百个时,创建的git存储库最终只有两次提交).
问题是,如何在出现这种情况的情况下导出完整的Subversion历史记录?
搜索错误消息,我发现:git-svn匿名结帐失败,其中-s 链接到此Subversion问题:http://subversion.tigris.org/issues/show_bug.cgi? id = 3242
我通过阅读理解,Subversion …
我正在运行TortoiseSVN,我们的主干大概是6GB.
我最初检查了一个分支并选择了"选择项目"以仅选择我需要的项目(自定义深度).
我发现我需要一些额外的文件,我没有检查初始自定义深度结帐.我通常删除分支并重新签出文件.但由于我们的行李箱太大,所以这太费时了.
如何在自定义深度结帐中签出额外的项目.
svn ×10
tortoisesvn ×5
aptana ×1
git ×1
git-svn ×1
linux ×1
logging ×1
unix ×1
working-copy ×1