gpt4 book ai didi

svn - 传递给 SVN --diff3-cmd 的参数是什么?

转载 作者:行者123 更新时间:2023-12-04 20:12:02 25 4
gpt4 key购买 nike

我一直在尝试为 SVN 编写自己的 diff3 包装脚本,我想知道传递给 --diff3-cmd 的各种参数是什么。

到目前为止我能找到的最接近的东西是:

How can I use Beyond Compare 3 as the diff3-cmd for svn?

但它并不能完全解释所有参数的作用。

我也尝试通过这个传递它:

#!/bin/ksh
echo "$*"

as --diff3-cmd,并得到了一些输出,但我无法弄清楚它吐出的参数。这些是某些 unix diff 命令的标准参数吗?

-E -m -L .working -L .merge-left.r1000 -L .merge-right.r1001 /home/user/some/long/filename1 /tmp/tmp /home/user/some/long/filename2

最佳答案

Are these the standard args for some unix diff command?

是的,这些是 GNU diff3 的参数。这是covered in the svn book .

这就是它们实际代表的内容:

  1. -E - 在 diff 输出中添加括号。例如<<<<<<< mine
  2. -m -Output the merge file directly
  3. -L -Same as --label 为文件命名。
  4. .working - 工作副本文件的标签名称。
  5. -L -Same as --label 为文件命名。
  6. .merge-left.rXXX - 标签名称是旧版本的版本号。
  7. -L -Same as --label 为文件命名。
  8. .merge-right.rXXX - 标签名称是较新版本的版本号。
  9. <temp-file-path> - “我的”文件的文件路径。即the working copy before the update process
  10. <temp-file-path> - “旧”文件的文件路径。即旧版本
  11. <temp-file-path> - “你的”文件的文件路径。即较新的修订版

如您所见,前 2 个与 GNU diff3 以外的任何内容无关,因此在编写 bat 文件以将参数传递给外部工具时,请使用 SHIFT两次,以便相关参数位于插槽 1-9 而不是 3-11 中。

这对于批处理文件是必需的,因为它们只处理 9 个参数,但对于 bash/python 等则不是必需的。

关于svn - 传递给 SVN --diff3-cmd 的参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com