簡體   English   中英

sharpsvn logmessage編輯sharpsvn?

[英]sharpsvn logmessage edit sharpsvn?

使用sharpsvn。 特定的修訂logmessage想要改變。

它的實現類似於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中的每條日志消息都存儲為修訂版屬性,即與每個修訂版一起使用的元數據。 查看subversion屬性完整列表 另請參閱此相關答案和Subversion 常見問題解答 相關答案顯示您想要做的是:

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

在標准存儲庫上,這會導致錯誤,因為默認行為是無法修改修訂屬性。 有關如何使用pre-revprop-change存儲庫掛鈎更改日志消息的信息,請參閱FAQ條目

翻譯為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);

        }
    }
}

據我所知,SharpSvn(以及一般的SVN客戶端)主要提供只讀訪問權限,不允許您編輯存儲庫中的日志消息。 但是,如果您具有管理員權限並需要編輯日志消息,則可以自己執行此操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM