【问题标题】:SVN- How to commit multiple files in a single shotSVN-如何一次提交多个文件
【发布时间】:2011-05-19 03:42:55
【问题描述】:

我尝试一次性提交跨不同目录的多个文件,如下所示,

svn commit –m”log msg” mydir/dir1/file1.c mydir/dir2/myfile1.h mydir/dir3/myfile3.c etc etc

因为,我想从提交列表中排除一些文件,所以我将每个文件名放在命令行中,如上所述。我把它放在记事本里,大约有 25 个文件。当我在命令行上复制并粘贴它时,最后几个文件丢失了,我猜这可能是命令行缓冲区限制(?)。有什么办法可以增加缓冲区的长度吗?

是否有任何选项可以将所有文件放在一个文本文件中并将其作为 svn commit 的参数?

【问题讨论】:

  • @Thi - 那些不使用 GUI 进行颠覆的人是受虐狂。获取 Tortoise SVN 或它的 Linux 等价物。
  • 如果缓冲区长度有限制,它不会在SVN中,它会在你使用的任何shell中。
  • @cinquTimo:您可能更喜欢使用 GUI 来处理所有事情。其他人没有。
  • @Colin,我想是的,在这种情况下如何增加shell缓冲区长度?
  • “那些不使用 GUI 进行颠覆的人是受虐狂。” -- 自虐就是用颠覆,但我们有些人别无选择。

标签: svn file commit


【解决方案1】:

您可以使用svn changelist 来跟踪要一起提交的一组文件。

链接页面包含很多细节,但这里有一个执行摘要示例:

$ svn changelist my-changelist mydir/dir1/file1.c mydir/dir2/myfile1.h
$ svn changelist my-changelist mydir/dir3/myfile3.c etc.
... (add all the files you want to commit together at your own rate)
$ svn commit -m"log msg" --changelist my-changelist

【讨论】:

  • 它有一个问题,你在该文件夹下添加了一个新文件夹和一个文件。当您将文件夹添加到更改列表时,它显示“已跳过”。当您使用更改列表提交时,svn 显示错误 E200009: '[folder you added]' is not known to exist in the repository and is not part of the commit, but its child '[file you added]'' is part of the提交。
【解决方案2】:

您可以使用--targets ARG 选项,其中 ARG 是包含提交目标的文本文件的名称。

svn ci --targets myfiles.txt -m "another commit"

【讨论】:

  • 在这个 bash 命令中为我工作:find . -name \*my.mask | xargs svn ci -m"message" --targets -
【解决方案3】:

我在提交一些这样的文件时没有遇到任何问题:

svn commit fileDir1/ fileDir2/ -m "updated!"

【讨论】:

  • 这对我不起作用。收到错误“svn:'/'不是工作副本”。我在这里发布了我的问题,你可以看看。 askubuntu.com/questions/442742/how-to-update-dir-on-svn-server/…
  • 是的,效果很好。同样在我的文档根目录中,我可以使用以下命令提交工作副本树结构中的所有更改: >svn commit 。 -m '批量提交消息'
【解决方案4】:

使用变更集。 您可以一次或通过多个命令将任意数量的文件添加到变更集中;然后一次性全部提交。

【讨论】:

【解决方案5】:

answer by Dmitry Yudakov 相同,但没有中间文件,使用process substitution

svn commit --targets <(echo "MyFile1.txt\nMyFile2.txt\n")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2019-11-07
    相关资源
    最近更新 更多