UndoCheckOutFiles(Objects: IMetabaseObjectDescriptors, FileNames: Array, Var ResId: Integer): Boolean;
Objects. Объекты, изменения которых необходимо отменить. Измененные объекты можно задать вручную или получить с помощью метода IMetabase.GetPendingChangesVCS;
FileNames. Массив путей до измененных файлов объектов. Пути до измененных файлов объектов можно задать вручную или получить с помощью свойства IMetabaseObjectDescriptor.LocalCheckedOutFileNames;
ResId. Переменная, в которую будет помещен код ошибки.
Метод UndoCheckOutFiles отменяет изменения указанных объектов.
Данный метод актуально использовать, если объекты добавлены в систему управления версиями и изменения объектов еще не опубликованы.
После удачной отмены изменений метод возвращает значение True и код ошибки принимает значение «0». Если отмена изменений не произошла, то метод возвращает значение False и параметру ResId присваивается код ошибки.
Для публикации изменений указанных объектов используйте метод IMetabase.CheckInFiles.
Для выполнения примера убедитесь, что репозиторий подключен к системе управления версиями и в нём содержится измененный объект с идентификатором OBJECT_VCS. В локальном репозитории системы управления содержатся файлы измененного объекта, расположенные по пути C:\GIT\GitRepo\OBJECT_VCS\.
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MB: IMetabase;
Objects: IMetabaseObjectDescriptors;
ObjKeys: Array Of Integer;
FileNames: Array Of String;
ResId: Integer;
Begin
MB := MetabaseClass.Active;
// Зададим измененный объект
ObjKeys := New Integer[1];
ObjKeys[0] := MB.GetObjectKeyById("OBJECT_VCS");
Objects := MB.GetItems(ObjKeys);
// Зададим измененный файл объекта
FileNames := New String[1];
FileNames[0] := "С:\GIT\GitRepo\OBJECT_VCS\OBJECT_VCS.text";
// Отменим изменения
Mb.UndoCheckOutFiles(Objects, FileNames, ResId);
End Sub UserProc;
В результате выполнения примера будут отменены изменения указанного объекта в репозитории и в файле OBJECT_VCS.text локального репозитория системы управления.
См. также: