gpt4 book ai didi

svn - 提交前显示合并历史

转载 作者:行者123 更新时间:2023-12-04 21:19:30 26 4
gpt4 key购买 nike

svn log有一个 --use-merge-history显示作为合并一部分的所有修订的选项。

在提交之前,如何在我的工作副本中获得相同的合并信息?

例如。我跑后svn merge ... (同步合并)但在我运行之前 svn ci我想查看并总结提交消息的日志。

最佳答案

有趣的问题。不幸的是,命令行工具显然不直接支持这个用例。但是,您可以编写一个脚本,使用 svn mergeinfo 的输出。并将其提供给 svn log以获取此信息。以下 bash 脚本可能是一个很好的起点。

#! /bin/bash
source="^/trunk"
url="$( svn info | sed -ne '/^URL: /s///p' )"
mergeinfo=(svn mergeinfo --show-revs=merged "$source")
revs=($( diff <( "${mergeinfo[@]}" ) <( "${mergeinfo[@]}" "$url" ) |
sed -ne '/^< r\([0-9]\+\)$/s//-c \1/p' |
tac ))
[[ -n "$revs" ]] &&
svn log "${revs[@]}" "$source"

更新:棘手的部分是找出哪些修订已合并到工作副本中,但尚未提交。上面的脚本通过以下方式解决了这个问题:首先,它确定已在工作目录中合并的所有修订——包括已提交和未提交的合并。其次,它确定所有提交的合并。最后计算这两组的差值。

关于svn - 提交前显示合并历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16685891/

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