Конфигурация спецификации в рациональном прозрачном регистре

Я настолько новичок в этом понятном инструменте. Я учусь, потому что у меня есть проект для работы. я только что узнал, что спецификация конфигурации по умолчанию

element *CHECKEDOUT
element */main/LATEST 

Таким образом, новая версия создается в main ветка после предыдущей версии.
Но я пробовал это, и я просто изменил свою конфигурационную спецификацию на эти

element *CHECKEDOUT
element */main/2

После этих настроек, когда я нажимаю на файл, он говорит "file not found": Я не могу проверить или проверить.
И затем я изменил на стандартную конфигурационную спецификацию, она снова работает.

В чем дело?
Также скажите мне, как я могу пойти в version 4 создать там ветку, если моя последняя версия 6 в main?

1 ответ

Делая правило выбора:

 element */main/2

Вы поручаете ClearCase показывать только "версию 2" из... Все:

 /my/path/to/a/File

Так что если какой-либо из родительского каталогаaFile'нет версии 2', вы не сможете получить доступ aFile,

Вы всегда должны держать/main/LATEST'правило выбора в конце вашей спецификации конфигурации, чтобы, если какое-либо из предыдущих правил не работало, вернуться к этому одному универсальному правилу (универсальному, потому что любой элемент имеет по крайней мере version 0 хранится вmain"филиал, если не"mainбыл переименован, что очень плохо)

Например:

 element * CHECKEDOUT
 element * /main/2
 element * /main/LATEST

будет работать, и покажет вам version 2 всего, если у них есть один, или последняя версия, если у них их нет.

Если вы хотите создать ветку с определенной точки, лучше не полагаться на номер версии (потому что то, что вы называете "версией 4", действительно только для вашего файла, а не для вашего каталога).
Не забывайте, что файлы и каталог версионируются в элементной основе: вы создаете версию файла, затем каталога, затем другого файла...: он ориентирован на файлы, а не на репозиторий, как другие VCS (SVN, Git, Mercurial, ...) с атомарным коммитом и одним номером ревизии для всего репо: здесь у вас есть индивидуальный номер версии для каждого элемента (файла или каталога).
См. " Какие основные концепции ClearCase должен знать каждый разработчик?"

Лучше всего сначала установить метку, чтобы оттуда разветвляться.

Но если у вас нет лейбла, мой совет:

  • определить момент времени, когда ваш код находится в том состоянии, в котором вы хотите, чтобы он был для вашей ветви
  • сделать правило выбора на основе времени
  • дополнить это правило выбора директивой mkbranch
  • не забудьте новые файлы, которые вы добавите в эту ветку (это/main/0правило)

Так:

element * CHECKEDOUT
element * .../myBranch/LATEST
element * /main/LATEST -time dd-Month-yyyy -mkbranch myBranch
element * /main/0 -mkbranch myBranch
element * /main/LATEST 

создаст новую веткуmyBranch'для любого элемента, созданного не более на дату dd-Month-yyy.

Другие вопросы по тегам