Project

General

Profile

Actions

Task #10497

closed

Автоматизация распределения ForeignID идентефикаторов

Added by Denis Kildishev about 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
09/16/2020
Due date:
% Done:

100%

Estimated time:
Detected in build:
git
Published in build:
1.3.642

Description

Фиксирую текущее видение по реализации ForeignID.
Каждый идентефикатор должен быть уникален, новый доступный идентефикатор доступен в /Requirements в свойстве nextid
Для использования функции автоматического распределения идентефикаторов нужно явно ее включить в свойствах проекта. При этом также может быть реализован выбор имени свойства вместо ForeignID.
При первом включении происходит распределение новых идентефикаторов по всем наследникам /Requirements с увеличением nextid. Впоследствии все новые требования(как и скопированные) получают новый идентефикатор с увеличением nextid.
Для проверки уникальности идентефикаторов и того что все они меньше nextid нужно реализовать на это чекер.

Для того чтобы избежать чрезмерного увеличения nextid нужно реализовать массовую операцию которая будет осуществлять следующее:
1. Получит номер nextid из head проекта
2. Для каждого объекта с номером больше nextid присвоит новый номер.

Стоит также отметить наличие в будущем проблемы с merge. При этом могут появиться объекты с одинаковыми идентефикаторами. На данный момент предпологается что в этом случае второй из осуществляющих commit получит сообщение о необходимости переназначения идентефикаторов. Сейчас merge не поддерживается и проблемы пока нет.

Actions

Also available in: Atom PDF