Спецификация конфигурации будет применять правила для каждого обновления и при оформлении заказа, а также при проверке (но не так, как вы думаете).
При проверке новая версия будет создана в ответвлении (здесь branch_1
).
Эта новая версия может не быть выбрана по новой спецификации конфигурации, НО ветка, в которой она была извлечена, НЕ изменена упомянутой новой спецификацией конфигурации.
Изменение branch1
в branch2
в то время как test.c
является уже проверил (в branch1
) ничего не меняет. Он будет проверен в branch_1
.
Теперь, когда вы будете создавать версию на branch1
на приезд для test.c
(даже с вашей второй конфигурацией спецификацией), вы должны понимать, что все будущие кассовые/возвраты будут проходить на ту же ветку для test.c
, потому что:
- правило
element * branch_1/LATEST
сохранит новые версии на этой ветви
- правило
element * /main/LATEST -mkbranch branch_2
действительна только для версии извлечена из основных (и test.c уже не на /main
, то на branch1
: /main/branch1
)
Эта конфигурация спецификации будет убедиться, что все новые версии (после первого оформленного в test.c
на branch1
) выполняются на branch2
:
element * CHECKEDOUT
element * .../branch_2/LATEST
element * ../branch_1/LATEST -mkbranch branch_2
element * /main/LATEST -mkbranch branch_2
порядок правил имеет важное значение, так как первый который может быть применен «побеждает» (т.е. путники игнорируются).
См. Этот конкретный пример конфигурации конфигурации в «Config Spec to display labeled files from 2 branches».
Обратите внимание, что после первого оформленного в test.c
, вы получите новую версию, созданную на branch1
, как описано ранее.
Однако ваш второй вариант конфигурации выберет /main/1
, а не /main/branch1/1
.
Это происходит из-за неправильное правило в вашей второй конфигурации спецификации:
element * branch_1/LATEST
Это можно было бы выбрать правильный вариант:
element * .../branch_1/LATEST
Но если ваша вторая конфигурация спецификация не имеет правила в отношении branch1
, test.c
по-прежнему будет выбран как /main/1
: нет версии, созданной на branch2
, поэтому element * /main/LATEST
является только r ule, которые могут быть применены.
спасибо! Я абсолютный новичок, и мне это трудно. я не понимаю «Изменение ветки 1 в ветке2, в то время как test.c уже проверен (в ветке 1) ничего не меняет. Он будет проверен в ветке_1.». когда я снова проведу test.c, что будет выбрано в поле зрения? – all
@all * second * checkout будет выполнен в соответствии с текущей конфигурационной спецификацией (которую вы изменили), поэтому она будет по-прежнему 'branch1' (потому что только LATEST из main должны быть извлечены в' branch2'). Если вы хотите, чтобы верхняя часть отображалась в разделе second2 во втором контроле, вам нужно дополнительное правило выбора: 'element * .../branch1/LATEST -mkbranch branch2', поставить вторую позицию. – VonC
Мне очень тяжело :) Спасибо, я хочу понять, но ... – all