我正在使用ORM从CLI生成大量文件.是否有一种简单的方法来运行svn add目录中的所有文件,这些文件在?我运行时出现svn status?
编辑 这些文件存在于目录树中,因此添加*一个目录将不起作用.
我有一个名为"files"的文件夹.它已经在存储库中.现在,新文件不断添加到此文件夹及其子文件夹中.我可以键入什么命令来添加尚未添加的所有文件.这不起作用:
svn add files
Run Code Online (Sandbox Code Playgroud)
它说
svn:警告:'files'已经受版本控制
在被TortoiseSVN宠坏之后,我现在正在使用Linux上的命令行与SVN存储库进行交互.
在TortoiseSVN中,我只提交更改,它会显示添加内容,删除内容和修改内容的列表.我会检查所有方框并单击OK.
使用命令行,svn add当我添加文件svn rm时,我必须这样做,当我删除文件时,当我完成所有操作时,我输入svn commit,然后提交添加,删除和修改.
是否有一个我可以使用的命令,只提交我删除的文件/文件夹,我添加的文件/文件夹和我一次修改的文件?
我使用svn add*将文件添加到svn,并添加配置文件,肯定会添加到忽略.
lyuba@lyuba-laptop:/workspace/project$ svn propget svn:ignore
.sass-cache
config.js
Run Code Online (Sandbox Code Playgroud)
什么可能导致问题?
我们正在尝试将构建过程自动化到我们的临时服务器,但是遇到了一个障碍,虽然相当小.我们使用VS2010内置的Publish功能,提交Subversion,然后第三方应用程序(Beanstalk)自动提取更新的文件并将它们FTP到Staging服务器.
我们遇到的问题是我们似乎只有以下选择:
我的问题:是否有一个简单的解决方法,或者我们忽略的完全不同的部署选项(我们不希望从VS直接发布到服务器,因为我们想要跟踪部署发生的人/什么/何时)?我遇到的唯一问题是在发布之前手动删除文件内容,同时保持文件夹结构不变,然后使用"将匹配的文件替换为本地副本"进行部署.不幸的是,这带来了"自动化"这个词的全新含义.
关于如何最好地实现这一点的任何想法?
svn asp.net automation web-deployment one-click-web-publishing
我想svn在macOS系统中为命令添加一些别名.例如:
svn ci "Some message" // equal to svn commit -m "Some message"
svn addall // equal to svn add --force * --auto-props --parents --depth infinity -q
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到这一点?
我是svn中的新手,之前我使用过git,所有别名都是在.gitconfig文件中创建的.这有可能以同样的方式进行svn吗?
UPDATE
关于此答案,在~/.subversion/config文件中添加以下行后:
alias ciam = "commit -m"
[alias]
ciam = commit -m
Run Code Online (Sandbox Code Playgroud)
命令:
svn ciam
Run Code Online (Sandbox Code Playgroud)
还是行不通.
是否有可能定义svn别名?
是否有任何命令行技巧可以让SVN以svn stat交互方式添加到所有丢失的文件中?
例如,类似于:
svn add --interactive
$ new file: file1.tmp (Add / Ignore) ?
$ missing file: file.tmp (Remove / Ignore) ?
Run Code Online (Sandbox Code Playgroud)
编辑:
可以实现此目的的脚本也可以工作.
我不小心将几十个备份文件添加到SVN,并希望递归恢复与给定模式匹配的所有文件(*.~sql)
在UNIX上,我只是使用一个
svn revert `svn status .|grep "~sql$"|awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
这是我如何将所有未版本控制的文件添加到SVN的答案之一的变体?
使用Powershell,我提出了
svn status|findstr "~sql" | %{ $_.Split('`t')[1]; }
Run Code Online (Sandbox Code Playgroud)
但这似乎削减了文件名的第一个字符(例如我得到ch_sys .~sql而不是scratch_sys .~sql).
我在这里错过了什么?还是有更多的Powershellish方式来做到这一点?
到目前为止,我已经使用Tortoise SVN在版本控制下提交和更新文件夹.当我提交时,我在GUI对话框中选中"all",以便提交删除和添加.
现在我在版本控制下有越来越多的文件夹,我希望有一个批处理文件来提交和更新所有文件夹.
到目前为止,我已经尝试了命令行并发现了这个:
svn add . --force
svn commit -m"Adding missing files"
Run Code Online (Sandbox Code Playgroud)
这会添加新文件,但不会反映任何删除.
你能帮我解决批处理文件吗?它会让我的工作变得更容易,但我真的对SVN /批处理文件没有经验,我自己做这个...
我使用Win7x64和Tortoise SVN 1.7.12和命令行扩展.
谢谢!
svn ×9
command-line ×2
commit ×2
asp.net ×1
automation ×1
batch-file ×1
ignore ×1
macos ×1
powershell ×1
windows ×1
windows-7 ×1