Я использую java API StarTeam (v10.4).Использование Java StarTeam API, как я могу найти, какие ревизии элемента StarTeam имеют определенную метку?
У меня есть время heckuva, пытаясь найти, какие конкретные ревизии применяется к этикетке. Что делает этот сложный процесс, так это то, что на объекте Label не существует метода, который предоставляет список того, к чему применяется эта метка.
Таким образом, вам (казалось бы) нужно вернуться назад и найти список элементов, которые вы хотите проверить для определенной метки, например.
int[] check_these_items = new int[]{ item_to_check.getID() };
int[] labelledItems = myLabel.getLabeledItemIDs(check_these_items)
Во-первых, это своего рода запутанным, потому что вы должны иметь этикетки в первую очередь, когда на самом деле то, что я хотел, чтобы получить список меток, прикрепленных к одной ревизии. Но, ладно, давайте покончим с этим пока. Итак, теперь мне нужно найти одну ревизию из истории. Давайте сделаем это простой и сказать, что я хочу, чтобы получить третий (или четвертый) пересмотр:
Item specific_child = item_to_check.getHistory()[3];
Теперь проблема заключается в том, что этот новый ребенок из истории имеет тот же идентификатор (через getID()
), как родитель, так используя getLabeledItemIds(check_these_items)
будет вернуть те же метки и, по сути, мы никуда не денутся.
Я нашел question, связанный с поиском прошлых версий, но не касался поиска наклеек на прошлых версий.
Конечно, я проверил документацию API Borland, но не придумал решение.
Я знаю, что пользовательский интерфейс может сделать это, так что, конечно, есть способ, я просто нашел его.
Любые предложения даже на высоком уровне будут очень признательны!
Просто глядя на моих старых постах , да, ты совершенно прав. В конце концов, я сделал повторное внедрение решения в этом направлении. 'int item_rev_at_label = child.getFromHistoryByLabelID (lastLabel.getID()). getRevisionNumber()', а затем 'if (child.getRevisionNumber() <= item_rev_at_label)' ... и т. д. трудно опубликовать код в комментарии. , ! – AndyJ