svn导入到当前目录(没有文件:///或http:///)

时间:2016-03-08 08:38:58

标签: batch-file svn import directory

我正在创建一个创建存储库的批处理文件,并将文件夹从现有的和固定的目录导入到该存储库中。

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

为此,批处理文件具有以下命令:



svnadmin create ./Module_QWER




然而,在批处理文件中,使用" svn import"时出现问题。我尝试将目录中的文件夹导入到刚刚创建的存储库中:



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完整,导入将起作用,但如前所述,存储库的URL将取决于用户放置批处理文件的位置。有没有办法将文件夹导入存储库,无论存放在哪里,只要它与批处理文件放在同一目录中?

1 个答案:

答案 0 :(得分:2)

当您使用与特定存储库相关的svn命令时,您需要拥有其完整路径和您要连接的协议。 因此,存储库的路径应该是:

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

在你的情况下,它将是:

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

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