Jer*_*eid 173 svn command-line windows-server-2003
我正在寻找一种好方法,可以自动将工作副本中的所有未版本控制的文件添加到我的SVN存储库中.
我有一个实时服务器,可以创建一些应该在源代码管理下的文件.我想有一个简短的脚本,我可以自动添加这些脚本,而不是一次一个地添加它们.
我的服务器运行的是Windows Server 2003,因此Unix解决方案不起作用.
Ron*_*nan 344
svn add --force * --auto-props --parents --depth infinity -q
棒极了!一句话:我的Eclipse会自动将新文件添加到忽略列表中.这可能是配置问题,但无论如何:有--no-ignore
选项可以帮助.
在此之后,您可以提交:
svn commit -m 'Adding a file'
Run Code Online (Sandbox Code Playgroud)
Sam*_*ron 69
svn status | grep '?' | sed 's/^.* /svn add /' | bash
Run Code Online (Sandbox Code Playgroud)
Neu*_*ino 37
有效的是:
c:\work\repo1>svn add . --force
Run Code Online (Sandbox Code Playgroud)
添加子目录的内容.
不添加被忽略的文件.
列出添加的文件.
命令中的点表示当前目录,如果要添加与当前目录不同的目录,则可以用特定目录名称或路径替换该目录.
lep*_*epe 33
这对我有用:
svn add `svn status . | grep "^?" | awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
(来源)
由于您已经解决了Windows的问题,因此这是一个UNIX解决方案(遵循Sam).我在这里添加,因为我认为对于那些提出同样问题的人来说它仍然有用(因为标题不包含关键字"WINDOWS").
注意(2015年2月):正如"bdrx"所评论的那样,上述命令可以通过这种方式进一步简化:
svn add `svn status . | awk '/^[?]/{print $2}'`
Run Code Online (Sandbox Code Playgroud)
此方法应该处理其中包含任意数量/空格组合的文件名...
svn status /home/websites/website1 | grep -Z "^?" | sed s/^?// | sed s/[[:space:]]*// | xargs -i svn add \"{}\"
Run Code Online (Sandbox Code Playgroud)
以下是该命令的作用的解释:
使用xargs的-i参数来处理能够将带空格的文件名导入'svn add' - 基本上,-i sets {}用作占位符,这样我们就可以把"svn使用的文件名周围的字符"加'.
这种方法的一个优点是,它应该处理带有空格的文件名.
归档时间: |
|
查看次数: |
182813 次 |
最近记录: |