2016-03-08 39 views
1

我正在创建一个批处理文件,该文件创建一个存储库并将一个文件夹从现有和固定目录导入该存储库。将svn导入到当前目录(不带文件:///或http:///)

存储库将在放置批处理文件的文件夹中创建,该文件夹位于。因此,例如,如果用户决定将该批处理文件放在名为C:/ temp的目录中并运行该批处理文件,则该存储库将被创建并放置在C:/ temp中。如果批处理文件放置在C:/ foo中,则将创建该存储库并将其放置在C:/ foo中。

要做到这一点,该批处理文件有这个命令:

svnadmin create ./Module_QWER

然而,在批处理文件,使用 “SVN进口” 时,有一个问题。我试图从目录中导入的文件夹为刚做这个创建的存储库:

svn import "C:/temp/content to import" ./Module_QWER/Sample/Trunk

并发生错误:

svn: E205000: Try 'svn help import' for more information 
 
svn: E205000: Invalid URL 'Module_QWER/Sample/Trunk'

据我所知,如果存储库的URL是完整的导入将wor k,但如前所述,存储库的URL将取决于用户放置批处理文件的位置。有没有办法将文件夹导入存储库,无论存储库放置在何处,只要它与批处理文件放在同一目录中即可?

回答

2

当您使用与特定存储库相关的svn命令时,您需要具有完整路径和您正在连接的协议。 所以仓库路径应该是这样的:

file:///d:/full/path/to/repo 

你的情况,那就是:

svn import "C:/temp/content to import" file:///%cd%/Module_QWER/Sample/Trunk -m "log message" 

编辑:OK,我只注意到了问题的标题是不使用协议在路径中。 我不认为这是可能的,但是对于当前工作目录使用%~dp0%作为批处理的当前目录,或使用%cd%可以简单地实现存储库的完整路径。

+0

非常感谢!我在最后使用了这个: –

+0

file:///%〜dp0%/ Module_QWER/Sample/Trunk –

+0

@DanielleXin很高兴能帮到你。 –