gpt4 book ai didi

c# - sharpsvn 日志消息编辑 sharpsvn?

转载 作者:行者123 更新时间:2023-11-30 17:05:39 25 4
gpt4 key购买 nike

使用 sharpsvn。想要更改的具体修订日志消息。

它的实现类似于svn的'[show log] -[edit logmessage]'

我的英语很笨拙。所以,帮你理解。附上我的代码。

        public void logEdit()
{
Collection<SvnLogEventArgs> logitems = new Collection<SvnLogEventArgs>();

SvnRevisionRange range = new SvnRevisionRange(277, 277);
SvnLogArgs arg = new SvnLogArgs( range ) ;

m_svn.GetLog(new System.Uri(m_targetPath), arg, out logitems);

SvnLogEventArgs logs;
foreach (var logentry in logitems)
{
string autor = logentry.LogMessage; // only read ..
// autor += "AA";
}

// m_svn.Log( new System.Uri(m_targetPath), new System.EventHandler<SvnLogEventArgs> ());

}

最佳答案

Subversion 中的每条日志消息都存储为修订属性,即与每个修订一起使用的元数据。查看complete list of subversion properties .也看看 this related answer和颠覆 FAQ .相关的答案表明你想要做的是这样的:

svn propedit -r 277 --revprop svn:log "new log message" <path or url>

在标准存储库中,这会导致错误,因为默认行为是无法修改修订属性。查看FAQ entry关于更改日志消息关于如何使用 pre-revprop-change 存储库 Hook 更改日志消息。

翻译成 SharpSvn:

public void ChangeLogMessage(Uri repositoryRoot, long revision, string newMessage)
{
using (SvnClient client = new SvnClient())
{
SvnSetRevisionPropertyArgs sa = new SvnSetRevisionPropertyArgs();

// Here we prevent an exception from being thrown when the
// repository doesn't have support for changing log messages
sa.AddExpectedError(SvnErrorCode.SVN_ERR_REPOS_DISABLED_FEATURE);

client.SetRevisionProperty(repositoryRoot,
revision,
SvnPropertyNames.SvnLog,
newMessage,
sa);

if (sa.LastException != null &&
sa.LastException.SvnErrorCode ==
SvnErrorCode.SVN_ERR_REPOS_DISABLED_FEATURE)
{
MessageBox.Show(
sa.LastException.Message,
"",
MessageBoxButtons.OK,
MessageBoxIcon.Information);

}
}
}

关于c# - sharpsvn 日志消息编辑 sharpsvn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16292387/

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