Параметр локального каталога в SharpSVN Commit

Используете ли вы локальный путь при попытке что-то зафиксировать в SharpSVN? Я не понимаю, как эта библиотека работает с онлайн-репозиторием Subversion. Очень смущенный. любая помощь будет здорово. услышать, как я пытаюсь совершить ...

using (SvnClient client = new SvnClient())
        {
            SvnCommitArgs args = new SvnCommitArgs();

            args.LogMessage = message;
            args.ThrowOnError = true;
            args.ThrowOnCancel = true;

            try
            {
                return client.Commit(path, args);
            }
            catch (Exception e)
            {
                if (e.InnerException != null)
                {
                    throw new Exception(e.InnerException.Message, e);
                }

                throw e;
            }
        }

person SoftwareSavant    schedule 05.01.2012    source источник


Ответы (1)


В Subversion вы фиксируете изменения из локальной рабочей копии в репозиторий.

Таким образом, вы сначала извлекаете рабочую копию (например, с помощью SvnClient.CheckOut), а затем вносите некоторые изменения.

И после того, как вы закончите вносить изменения, вы фиксируете все свои изменения в репозитории. См. http://svnbook.red-bean.com/ для получения основной информации о подрывной деятельности.

ThrowOnError по умолчанию имеет значение true, поэтому вам не нужно его устанавливать. И чтобы разрешить отмену, вам нужно установить некоторые обратные вызовы, поэтому обычно вы можете просто игнорировать этот случай.

В случае ошибок фиксации Subversion обычно возвращает сразу несколько ошибок, поэтому вам нужно смотреть не только на внешнее или одно из внутренних исключений, но и на всю цепочку ошибок.

person Bert Huijben    schedule 07.01.2012