我在Ubuntu Linux 服务器上有一个 Subversion 存储库(运行 SVN 1.6.6),我正在尝试使用TortoiseSVN GUI创建一个分支;但是,我收到一个错误:
将 c:\work\repositoryWorkingcopy\ 复制到http://svnserver/svn/repository/Oct13,修订版 HEAD
找不到错误“/svn/repository/!svn/bc/234/branches”路径
我登录到我的 Linux 机器上查看“分支”文件夹是否不可用。但是,我可以看到 /var/svn/repository/branches 存在。
那么,是什么问题,我该如何解决?
我尝试了以下命令(根据http://svnbook.red-bean.com/en/1.1/ch04s02.html#svn-ch-4-sect-2.1)以及从命令行并得到了类似的错误:
c:\workingcopy> svn copy http://reposerver/svn/repository/ http://reposerver/svn/repository/branches/BFI_Oct13/ -m "Creating a branch"
Run Code Online (Sandbox Code Playgroud)
svn: '/svn/repository/!svn/bc/235/branches' 找不到路径
我该怎么办?
此外,svn info在工作副本的主目录上提供了以下信息。
Path: .
URL: http://reposerver/svn/myrepository
Repository Root: http://reposerver/svn/myrepository
Repository UUID: 7a31d3c0-b288-4695-aecd-3f9dda2861ab
Revision: 235
Node Kind: directory
Schedule: normal
Last Changed Author: anjan
Last Changed Rev: 235
Last Changed Date: 2010-10-13 20:39:31 +0530 (Wed, 13 Oct 2010)
Run Code Online (Sandbox Code Playgroud) 我主要想在执行 svn 提交时即时更改我的默认提交模板(svn-commit.tmp)。我从论坛上了解到设置 SVN_EDITOR 会有所帮助
setenv SVN_EDITOR "rm svn-commit.tmp && cp $REPO/hooks/log.tmpl svn-commit.tmp && emacs"
Run Code Online (Sandbox Code Playgroud)
但是只有当用户SVN_EDITOR在他的用户环境中设置 如上所述时才会发生这种情况。那么有没有其他明确的方式,当我执行 svn 提交时,我将从不同的位置而不是默认位置打开模板文件。提交模板将更特定于存储库和提交日期。那么有没有一种方法可以在 svn 存储库上设置一些属性来调用不同的提交模板。我应该将它强制执行到所有(特定于存储库)并且它不应该像设置 SVN_EDITOR 那样是特定于用户的。即使我们正在设置,SVN_EDITOR当我们通过调用一些钩子进行 svn 提交时,也可以调用此设置。我知道只有在提交提交后才会调用前后提交挂钩。
我们只使用 svn 命令客户端。
当我尝试更新(或提交)svn 时,我发现以下错误:
svn:无法关闭文件“weighted_decision/.svn/tmp/entries”:输入/输出错误
我不知道发生了什么。有谁知道原因?非常感谢,对我很有帮助!!!!
最好的事物,
强
我已经从存储库中签出了一个工作副本,并将一些目录切换到不同的 URL 但在同一个 repo(相同的主机和 svn 服务器)上。
我怎么能列出这些切换的目录?
我们出于内部目的使用了许多开关,这将有助于在工作副本中轻松列出所有这些,直到消除这种快速而肮脏的开关用法。
我有一个本地存储库,我刚刚注册unfuddle并希望将我的本地存储库同步到我在那里创建的新存储库。
我被告知运行以下命令:
svnsync init --username USERNAME http://username.unfuddle.com/svn/username-rep http://SOURCE_REPO_URL
Run Code Online (Sandbox Code Playgroud)
首先,如果源存储库不需要身份验证,我假设我可以删除用户名?
其次,当我运行该命令时,我的系统无法识别它。我假设svnsync需要在 Windows 中的某个地方添加,以便它可以仅通过它的名称运行(认为正确的术语是environment variable)?,但我不仅不知道该怎么做,而且我不知道要添加什么程序。 ..... 我在svnsync.exe我的TortoiseSVN文件夹中找不到任何或任何东西。
我需要在这里做什么?
我试图在命令提示符下仅获取SVN分支的名称,并将其设置为变量。
我能够成功获取URL,但是在仅为分支名称设置值时遇到了麻烦。
不幸的是,%branch%最终为空。
如果还有其他更简单的方法也不错。
注意:默认情况下,Windows 7上未安装任何工具(SVN除外)。
FOR /F "tokens=* usebackq" %%F IN (`svn info --show-item url`) DO SET fullUrl=%%F
ECHO %fullUrl%
FOR /F "delims=/" %%F IN (%fullUrl%) DO SET branch=%%F
ECHO %branch%
Run Code Online (Sandbox Code Playgroud)
命令窗口输出:
C:\workspaces\Release_10_1>FOR /F "tokens=* usebackq" %F IN (`svn info --show-item url`) DO SET fullUrl=%F
C:\workspaces\Release_10_1>SET fullUrl=https://svn/path/branches/releases/Release_10_1
C:\workspaces\Release_10_1>ECHO https://svn/path/branches/releases/Release_10_1
https://svn/path/branches/releases/Release_10_1
C:\workspaces\Release_10_1>FOR /F "delims=/" %F IN (https://svn/path/branches/releases/Release_10_1) DO SET branch=%F
The system cannot find the file https://svn/path/branches/releases/Release_10_1.
C:\workspaces\Release_10_1>ECHO
ECHO is on.
Run Code Online (Sandbox Code Playgroud)
fullUrl = https://svn/path/branches/releases/Release_10_1
分支=Release_10_1
fullUrl = …
我的解决方案由在VS2015中运行的AnkhSVN正确检测到绑定到SVN.出于某种原因,如果我在Visual Studio 2017中打开相同的解决方案,AnkhSVN看不到它绑定到SVN.我尝试绑定它,由于某种原因VS2017将它绑定到GIT.不知道为什么会这样.解决此问题的正确方法是什么?或者我如何将其重新绑定到SVN以便AnkhSVN将其视为绑定?
PS这不会发生在我的所有解决方案中,只有少数几个.不确定这些解决方案有什么特别之处.差异,但我没有看到有关这些解决方案的任何特别之处.有任何想法吗?
已经沮丧...尝试更新/提交/清理Tortoise SVN但总是得到关于原始文本丢失的通知.
在SO和网络上发现了一些帖子/问题,没有任何帮助:
pristine svn-base文件丢失 - 建议清理原始文件,在我的情况下,它是未找到的"原始文本".
pristine svn-base文件丢失 - 建议使用smartSVN-单击"修改" - >验证管理区域 - 在我刚下载的智能SVN中不再存在...
和 Netbeans&Svn中的错误:未找到原始文本没有 答案......
有人帮忙吗?
我想在PowerShell脚本中使用SVN命令.
我知道我需要将SVN可执行文件声明为变量,但之后我想提交一个我声明为变量的文件,并且我想在文件中指定我想要提交的提交消息.
$svnExe = "C:\Program Files\TortoiseSVN\bin\svn.exe"
$myFile = "C:\xx\file.txt"
$commitMsg = "C:\xx\msg.txt"
Run Code Online (Sandbox Code Playgroud)
$myFile已经是版本化文件,$commitMsg不是也不会是版本化文件.
从命令行,这工作:
svn commit -F C:\xx\msg.txt C:\xx\file.txt
Run Code Online (Sandbox Code Playgroud)
但是我如何使用PowerShell执行此操作?
我想将svn文件夹移动到另一个svn文件夹。我在旧的svn文件夹中使用了dump。之后,我使用svnrdump加载到另一个svn文件夹。他们是同一台机器的不同svn回购。在加载期间,我以Ctr + C中断。之后,我尝试再次加载。但是以下错误正在返回。
> Failed to get lock on destination repos, currently held by 'current computer name'
> svnrdump: E200015: Caught signal
> svnrdump: E200042:
> Additional errors: svnrdump: E200015: Caught signal
Run Code Online (Sandbox Code Playgroud)
这是我的svn代码。
svnrdump dump http://...... > C:/mydump
svnrdump load http://.......< C:/mydump
Run Code Online (Sandbox Code Playgroud)
我该如何解决?谢谢大家
svn ×10
tortoisesvn ×2
windows ×2
ankhsvn ×1
batch-file ×1
branch ×1
cmd ×1
command-line ×1
dump ×1
linux ×1
load ×1
powershell ×1
recursion ×1
smartsvn ×1
svn-hooks ×1
svn-switch ×1
svnsync ×1