我尝试使用svn ci dir / a dir / b -m“我的评论” 但这不起作用。我也用过svn ci dir / a / * dir / b / * -m“我的评论” 它也不起作用。
我知道您可以指定多个文件,但是如何告诉subversion检入这些文件夹中的所有已修改文件?我主要想这样做,以便我的所有更改都可以进入一个版本。我可以一次签入一个目录,但最终会为每个目录提供不同的修订版本。
答案 0 :(得分:9)
您可能需要指定“但这不起作用”的含义,因为它在这里工作正常:
D:\Projects>svn commit -m 'test1' test\aaa "test\aaa bbb ccc"
Sending test\aaa\aaa222\xxx.txt
Sending test\aaa bbb ccc\aaa.txt
Transmitting file data ..
Committed revision 8.
D:\Projects>
答案 1 :(得分:4)
svn add dir/a
svn add dir/b
svn commit
尽管如此,你更有可能在想:
svn add dir/*
svn commit
答案 2 :(得分:1)
我认为你只有1个选项:检查包含目录 - 将这两个作为子目录的目录。
如果它们没有那样组织(即它们都是repo中的顶级目录),那么你可以做的事情并不多 - svn命令只能在一个目录上工作。
答案 3 :(得分:1)
您可以使用--changelist选项,在top目录下创建一个包含您要提交的所有文件的更改列表,然后提交更改列表。
来源和信息: svn book: changelist
答案 4 :(得分:0)
如果您从更高级别的文件夹中签出a和b的位置,这很容易。因此,如果您的工作副本是“dir”而a和b有更改,请提交“dir”以提交对两者的更改。我一直这样做。
修改:
要提交多个文件夹,您需要将它们放在同一个工作副本中。
如果您担心处理过多,可以尝试仅使用所需文件夹的稀疏结账,然后您可以根据需要提交基本目录或子目录,而无需其他项目的开销。
答案 5 :(得分:0)
考虑使用svn:externals属性来检出存储库的一部分。您可以选择要获取的目录,然后在一个步骤中提交到多个目标。我们一直在使用这种方法取得了巨大的成功。
答案 6 :(得分:0)
考虑以下是查询
转到顶级目录并运行命令
svn ci -m "comments"
这将签入顶级目录下的所有修改文件以及它下面的许多子目录。
答案 7 :(得分:0)
遇到类似的问题。我有一个存储库,我需要有两个单独的工作副本的一些repoeitory的子文件夹。存储库是这样的:
/web/lib
/web/htdocs
...
...我需要分别在单独的工作副本中使用:
C:/.../web/lib
C:/.../htdocs/cbs
我通过在/web
中拥有C:/.../web
的“主”工作副本并在C:/.../htdocs/cbs
“中创建指向”C:/.../web/htdocs
的硬链接(或NTFS联结)来解决此问题。 。因此,每当我对其中一个工作副本进行本地更改时,我总是提交C:/.../web
,它自然包含来自两个工作副本的更改。
我希望这种方式对你有用。
答案 8 :(得分:0)
自问这个问题以来已经很长时间了,但我对任何迟到的人都有更新。
假设您有一个像dir / a,dir / b,dir / c,dir / d ....这样的树,并且只想在子文件夹a和b中提交更改,则以下命令有效:
svn ci dir / a / * dir / b / * -m“我的评论”
如果七年前你尝试过它时真的不起作用,我只能假设在后续版本中添加了这个功能。