Не все необходимые ревизии указаны sharpsvn - PullRequest
1 голос
/ 30 декабря 2008

Я пытаюсь выполнить слияние с помощью SharpSVN. Немного исследований, и я узнал, что SharpSVN поддерживает функцию MergDiff, однако, когда я пытаюсь выполнить код, как указано ниже, я получаю сообщение об ошибке, в котором указаны не все необходимые версии.

Спасибо

try
{
    SvnCheckOutArgs argsSVNCheckout = new SvnCheckOutArgs();
    SvnUpdateResult result;
    SvnTarget _rootSVNTarget = null;   // = new SvnTarget();
    string serverUrl = "http://svn.snaffpaw.com:8080/CPM Creator/";


    // The Subversion target to run log against
    SvnTarget target = null;

    // Attempt to create an SvnTarget by parsing the targetPath
    if (string.IsNullOrEmpty(targetPath) ||
        !SvnTarget.TryParse(targetPath, out target))

    if (string.IsNullOrEmpty(serverUrl) || (!SvnTarget.TryParse(serverUrl,out _rootSVNTarget))) 


    //SvnStatusArgs argSVN = new SvnStatusArgs();
    //argSVN.RetrieveRemoteStatus = true;

    //Collection<SvnStatusEventArgs> infos;
    //bool isChecked = client.GetStatus(targetPath, argSVN, out infos);

    // Attempt to create an SvnTarget by parsing the targetPath
    if (string.IsNullOrEmpty(targetPath) ||
        !SvnTarget.TryParse(targetPath, out target))


        if (string.IsNullOrEmpty(serverUrl) || !SvnTarget.TryParse(serverUrl, out _rootSVNTarget))



    client.Authentication.DefaultCredentials = new NetworkCredential("guest", "guestpwd");



    client.DiffMerge(targetPath, _rootSVNTarget, target); //<<<-- errors here
}
// ...

1 Ответ

1 голос
/ 31 декабря 2008

Как отмечено в списке пользователей SharpSvn, следующий пример разрешил бы отсутствующие ревизии:

using (SvnClient client = new SvnClient())
{
 client.DiffMerge(
     "CHANGES",  // Target to merge to
     new SvnUriTarget(new Uri("http://svn.collab.net/repos/svn/tags/1.5.0/CHANGES")), SvnRevision.Head),
     new SvnUriTarget(new Uri("http://svn.collab.net/repos/svn/tags/1.5.5/CHANGES"), SvnRevision.Head));
 }

Ошибка заключалась в том, что переданный Uris не использовал ревизию HEAD по умолчанию, а должен был явно использовать ревизию head.

Это исправлено в текущей ежедневной сборке, доступной на http://sharpsvn.net/daily/

...