ClearCase, Отображение определенных папок в Дисках, используя динамические представления - PullRequest
2 голосов
/ 14 января 2010

Мне нужно сопоставить каталог с собственным диском (я знаю, что это возможно с помощью таких инструментов Windows, как «Подключить сетевой диск», «Субстрат»), но с помощью этих инструментов подключенные диски больше не являются MVFS ...

Я ищу способ сопоставить папки MVFS в каком-либо динамическом представлении с собственным диском или, альтернативно, сконфигурировать спецификацию конфигурации для фильтрации всего, кроме определенной папки, например, сконфигурировать спецификацию конфигурации так:

M: \ some_dynamic_view \ some_folder \ some_nested_folder будет сопоставлен с:

K: \ some_nested_folder

Есть идеи?

Спасибо заранее, Эрик.

(Необходимость сопоставления папок с дисками обусловлена ​​ограничением длины пути в прозрачном окне в Windows).

Ответы [ 2 ]

0 голосов
/ 06 апреля 2013

Я в основном использую снимки, поэтому не думаю, что могу использовать решение m: \ path_to_view. После многих лет выкрикивания «doh» на моем мониторе я написал этот командный файл, чтобы избавить меня от необходимости менять каталог обратно на исходное местоположение представления каждый раз, когда я хотел выполнить команду cleartool.

@echo off
rem ct.bat by Paul Douglas
setlocal
setlocal enabledelayedexpansion
set currentDirectory=%cd:~2,8189%
set currentDrive=%cd:~0,1%

for /f "delims=" %%a in ('subst') do (
set thisDrive=%%a
set thisDrive=!thisDrive:~0,1!
set targetFolder=%%a
set targetFolder=!targetFolder:~8,8183!
if "!thisDrive!"=="%currentDrive%" (
  pushd !targetFolder!%currentDirectory% 
  call cleartool %1 %2 %3 %4 %5 %6 %7 %8 %9 
  popd 
  goto :eof
)
)

call cleartool %1 %2 %3 %4 %5 %6 %7 %8 %9
0 голосов
/ 14 января 2010

Я только что проверил:

 subst N: M:\some_dynamic_view\some_folder\some_nested_folder

и N: будет отображать содержимое some_nested_folder, как при динамическом просмотре.
Его тип - диск файловой системы MVFS (по умолчанию CCase)

Теперь, чтобы иметь только каталог (а не его содержимое) в N: \, вам потребуется спецификация конфигурации, например:

element /some_folder/some_nested_folder/... /main/LATEST
element /some_folder/* -none
element * /main/LATEST

(Предположим, простое представление, не относящееся к UCM, с отображением только основной ветви. Адаптируйте спецификацию конфигурации к вашей конфигурации и ветви, в которой вам нужно читать / изменять файлы.
Для представления UCM это было бы сложнее, поскольку эти правила должны были бы быть перед всеми другими сгенерированными правилами выбора UCM, то есть они исчезли бы при следующей синхронизации спецификации конфигурации представления с его потоком.)
(примечание: нет необходимости использовать '\' в спецификации конфигурации, '/' работает просто отлично, для спецификации конфигурации Windows или Unix)

Затем:

subst N: M:\some_dynamic_view\some_folder

будет отображать some_nested_folder (и его содержимое) только в N:

...