mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      GET(1)                                                   GET(1)

      НАЗВАНИЕ
              get - извлечение версии из SCCS-файла

      СИНТАКСИС
              get  [-rс_идентификатор] [-cкон_время] [-iсписок] [-xсписок] [-k]
                  [-e] [-l[p]] [-p] [-m] [-n] [-s] [-b] [-g] [-t] [-wтекст]
                  [-aпорядковый_номер] файл ...

      ОПИСАНИЕ
              Команда get  генерирует  текстовый  файл  из  указанных
              SCCS-файлов в соответствии с опциями. Опции могут зада-
              ваться в любом порядке и относятся  ко  всем  указанным
              SCCS-файлам. Если указано имя каталога, get обрабатыва-
              ет все файлы в этом каталоге, начинающиеся с s.; файлы,
              к которым нет доступа на чтение, игнорируются  без  до-
              полнительных сообщений. Если указано имя -,  происходит
              чтение со стандартного ввода; каждая  строка  при  этом
              трактуется, как имя SCCS-файла, подлежащего  обработке.
              Файлы, не начинающиеся с s., и  файлы,  к  которым  нет
              доступа на чтение, также игнорируются без  дополнитель-
              ных сообщений.

              Сгенерированный текст обычно записывается в так называ-
              емый g-файл. Имя g-файла получается путем удаления  на-
              чальных s. из имени SCCS-файла (см. ниже).

              Каждая опция об ясняется ниже для одного обрабатываемо-
              го файла; при нескольких файлах она применяется к  каж-
              дому из них.

              -rс_идентификатор
                   Извлечь из SCCS-файла версию по указанному с_иден-
                   тификатору (SID, SCCS IDentification string). Таб-
                   лица 1 (ниже) показывает для наиболее  распростра-
                   ненных случаев, как зависит извлекаемая версия  от
                   указанного  с_идентификатора,  а также каким будет
                   с_идентификатор новой версии после создания коман-
                   дой delta(1) (если в get использована опция -e).

              -cкон_время
                   Кон_время имеет формат:

                       гг[мм[дд[чч[мм[сс]]]]]

                   Не включать в генерируемый файл версии SCCS-файла,
                   которые созданы после указанного кон_времени. Опу-
                   щенные цифры по умолчанию имеют  максимально  воз-
                   можные   значения,  например  -c7502  эквивалентно
                   -c750228235959. Произвольное число любых  нецифро-
                   вых  символов  может разделять пары цифр, например
                   можно задать кон_время в виде "-c77/2/2  9:22:25".
                   Это  позволяет  использовать  ключевые слова %E% и
                   %U% (см. ниже) для вложенных get, например, в  се-
                   ансе работы с командой cu(1C):

                        ~!get  "-c%E% %U%" s.file

              -e   Показывает, что команда get делается для  редакти-
                   рования  или  последующего  добавления  версии   в
                   SCCS-файл с помощью delta(1). Если для  какой-либо
                   версии в SCCS-файле сделан get, последующие версии
                   с тем же с_идентификатором отвергаются до тех пор,
                   пока не  будет  выполнена  команда  delta  [или  в
                   SCCS-файле не будет установлен  флаг  j,  см.  ad-
                   min(1)]. Допускается использование команды get  -e
                   одновременно для разных с_идентификаторов.

                   Если сгенерированный  командой  get  с  опцией  -e
                   g-файл случайно испорчен, он может быть  перегене-
                   рирован командой get с опцией -k вместо -e.

                   Ограничение прав доступа к версиям SCCS-файла  ор-
                   ганизуется с помощью запоминаемого в файле  макси-
                   мального и минимального номера  версии,  доступной
                   для редактирования, и списка пользователей,  кото-
                   рые могут редактировать версии [см. admin(1)]. При
                   использовании опции -e все эти права проверяются.

              -b   Используется вместе в опцией -e для указания,  что
                   новая  версия должна начинать ответвление, как по-
                   казано в таблице 1. Опция -b игнорируется, если  в
                   SCCS-файле  отсутствует  флаг b [см. admin(1)] или
                   извлекаемая версия не  является  терминальной  (то
                   есть  у  нее  есть  преемники  в   дереве   версий
                   SCCS-файла).  Для нетерминальных версий всегда бу-
                   дет строиться ответвление.

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

                       <список>  ::= <элемент> | <список>,<элемент>
                       <элемент> ::= СИД | СИД-СИД

                   где СИД - сокращение от  с_идентификатор  -  может
                   иметь любой формат, упомянутый в колонке  "Указан-
                   ный СИД" таблицы 1. Интерпретация значений показа-
                   на в колонке "Извлеченный СИД" таблицы 1.

              -xсписок
                   Список версий, которые не должны быть включены при
                   генерации  файла. Формат списка см. в описании оп-
                   ции -i.

              -k   Подавить при генерации подстановку значений вместо
                   ключевых слов (см. ниже). Опция -k подразумевается
                   опцией -e.

              -l[p] Выдать сведения о версиях в l-файл. Если  исполь-
                    зуется опция -lp, l-файл не создается, все сведе-
                    ния  пишутся на стандартный вывод. Формат l-файла
                    описан ниже.

              -p   Текст, извлеченный из SCCS-файла, пишется на стан-
                   дартный вывод. G-файл не создается.  Все  то,  что
                   обычно пишется на стандартный вывод, при этом, ес-
                   ли указана опция -s, не выводится никуда  (исчеза-
                   ет), а если опция  -s  опущена,  переадресуется  в
                   стандартный протокол.

              -s   Подавить выдачу на  стандартный  вывод.  Выдача  в
                   стандартный протокол (в том числе сообщения о  фа-
                   тальных ошибках) при этом не подавляется.

              -m   Перед каждой строкой, извлеченной  из  SCCS-файла,
                   помещается с_идентификатор версии, в  которой  она
                   появилась, в следующем формате:
                      с_идентификатор табуляция строка

              -n   Перед каждой строкой, извлеченной  из  SCCS-файла,
                   помещается значение ключевого слова %M%  (см.  ни-
                   же) в соответствии с форматом:
                      %M% табуляция строка
                   Если опции -m и -n используются одновременно, фор-
                   мат будет таким:
                      %M% табуляция с_идентификатор табуляция строка

              -g   Подавить генерацию g-файла. Эта опция используется
                   для генерации l-файла или для проверки существова-
                   ния конкретного с_идентификатора.

              -t   Получить доступ к самому последнему  (по  времени)
                   состоянию указанной версии (например -r1) или вер-
                   сии и уровню (например -r1.2).

              -wтекст
                   Подставить  текст вместо всех вхождений %W% в изв-
                   лекаемый файл.

              -aпорядковый_номер
                   Порядковый номер версии SCCS-файла, которая должна
                   быть извлечена (см. sccsfile(4)).  Эта  опция  ис-
                   пользуется командой comb(1), пользователям ее при-
                   менять не рекомендуется. Если указаны одновременно
                   опции -r и -a, принимается  опция  -a.  Необходимо
                   соблюдать осторожность при одновременном использо-
                   вании опций -a и -e, так как с_идентификатор  соз-
                   даваемой версии может оказаться  не  тем,  который
                   ожидается. Для управления  с_идентификатором  соз-
                   даваемой версии  можно  использовать  одновременно
                   опции -a, -e и -r.

              Для каждого обрабатываемого файла команда  get  выводит
              на   стандартный  вывод  с_идентификатор  и  количество
              строк, извлеченных из SCCS-файла. Если используется оп-
              ция -e, вслед за с_идентификатором, к которому  получен
              доступ, следует вновь созданный с_идентификатор. Если в
              команде  указано более одного файла, указан каталог или
              стандартный ввод, перед обработкой каждого файла  выво-
              дится  его  имя с предшествующим переводом строки. Если
              используется опция -i, выводятся включаемые версии,  за
              которыми  следует слово Included. Если используется оп-
              ция -x, выводятся исключаемые версии, за которыми  сле-
              дует слово Excluded.
                Таблица 1. Определение с_идентификатора (СИД)

      Указанный    Опция   Дополнительные  Извлеченный  СИД создаваемой 
      СИД*         -b****     условия         СИД       версии          

      <пусто>***** нет     R по умолч.=mR    mR.mL     mR.(mL+1)        
      <пусто>***** да      R по умолч.=mR    mR.mL     mR.mL.(mB+1).1   
      R            нет     R > mR            mR.mL     R.1***           
      R            нет     R = mR            mR.mL     mR.(mL+1)        
      R            да      R > mR            mR.mL     mR.mL.(mB+1).1   
      R            да      R = mR            mR.mL     mR.mL.(mB+1).1   
                           R < mR и                                     
      R            -       R не существует   hR.mL**   hR.mL.(mB+1).1   
                           R < mR и                                     
      R            -       R существует      R.mL      R.mL.(mB+1).1    
      R.L          нет     L = mL            R.L       R.(L+1)          
      R.L          да      L = mL            R.L       R.L.(mB+1).1     
      R.L           -      L < mL            R.L       R.L.(mB+1).1     
      R.L.B        нет     B = mB            R.L.B.mS  R.L.B.(mS+1)     
      R.L.B        да      B = mB            R.L.B.mS  R.L.(mB+1).1     
      R.L.B.S      нет     B = mB            R.L.B.S   R.L.B.(S+1)      
      R.L.B.S      да      B = mB            R.L.B.S   R.L.(mB+1).1     
      R.L.B.S      -       B < mB            R.L.B.S   R.L.(mB+1).1     


              *    R, L, B, и S - это соответствующие компоненты с_и-
                   дентификатора: выпуск (release), уровень  (level),
                   ветвь (branch), модификация (sequence); m означает
                   максимум.  Таким  образом, например, R.mL означает
                   максимальный номер уровня в версии R; R.L.(mB+1).1
                   означает первый номер новой ветви (то есть  макси-
                   мальный номер ветви плюс 1) уровня L версии R. При
                   указании  с_идентификатора  в  виде R.L, R.L.B или
                   R.L.B.S каждый из указанных компонентов должен су-
                   ществовать.

              **   hR - это максимальная существующая  версия,  мень-
                   шая, чем указанная несуществующая версия R.

              ***  Используется для создания первой версии нового вы-
                   пуска.

              **** Опция  -b  работает, только если в SCCS-файле при-
                   сутствует флаг b [см. admin(1)].  Если  в  колонке
                   указан -, то значение может быть любым.

              ***** Применимо, только если флаг d (с_идентификатор по
                    умолчанию) в файле не установлен. Если флаг d ус-
                    тановлен, используется его значение, как если  бы
                    оно было указано в команде. Тем самым применяются
                    другие строки таблицы 1.

           Идентифицирующие ключевые слова
              Идентифицирующая информация вставляется  в  извлекаемый
              текст вместо идентифицирующих ключевых слов. В текстах,
              сохраняемых в SCCS-файлах, могут использоваться следую-
              щие ключевые слова:

              %M%  Имя модуля: либо значение флага m [см.  admin(1)],
                   либо,  если  флаг  m  отсутствует,   простое   имя
                   SCCS-файла в котором удалены передние s..

              %I%  С_идентификатор   (%R%.%L%.%B%.%S%)   извлекаемого
                   текста.

              %R%  Выпуск (release).

              %L%  Уровень (level).

              %B%  Ветвь (branch).

              %S%  Модификация (sequence).

              %D%  Текущая дата (гг/мм/дд).

              %H%  Текущая дата (мм/дд/гг).

              %T%  Текущее время (чч:мм:сс).

              %E%  Дата создания последней версии (гг/мм/дд).

              %G%  Дата создания последней версии (мм/дд/гг).

              %U%  Время создания последней версии (чч:мм:сс).

              %Y%  Тип модуля: значение флага t в SCCS-файле [см. ad-
                   min(1)].

              %F%  Простое имя SCCS-файла.

              %P%  Полное имя SCCS-файла.

              %Q%  Значение флага q в SCCS-файле [см. admin(1)].

              %C%  Текущий номер строки. Это ключевое слово  предназ-
                   начено для идентификации  ошибок  типа  "этого  не
                   должно быть". Оно не предназначено для использова-
                   ния в каждой строке для нумерации.

              %Z%  Четырехсимвольная  цепочка  @(#),   распознаваемая
                   программой what(1).

              %W%  Сокращение  для  создания строк выполняемых файлов
                   версии 5 для what(1):
                      %W% = %Z%%M% табуляция %I%

              %A%  Сокращение для создания строк  выполняемых  файлов
                   не версии 5 для what(1):
                      %A% = %Z%%Y%  %M%  %I%%Z%

              Команда  get  создает  несколько дополнительных файлов:
              g-файл, l-файл, p-файл и z-файл.  Имена  дополнительных
              файлов  формируются  из  имени  SCCS-файла: простое имя
              SCCS-файла должно начинаться с s.; имя g-файла  получа-
              ется путем удаления s., имена остальных файлов строятся
              путем  замены первого символа s соответственно на l, p,
              z. Например, для файла  s.xyz.c,  дополнительные  файлы
              будут   иметь   имена  соответственно  xyz.c,  l.xyz.c,
              p.xyz.c и z.xyz.c.

              G-файл, содержащий сгенерированный текст,  создается  в
              текущем  каталоге  (если  не  используется  опция  -p).
              G-файл создается даже если из SCCS-файла get не  извлек
              ни одной строки. За идентификатор владельца берется ре-
              альный идентификатор  пользователя.  Если  используется
              опция -k, права доступа к файлу устанавливаются равными
              644, иначе  444.  Реальный  идентификатор  пользователя
              должен быть таким, чтобы позволить запись в текущий ка-
              талог.

              L-файл содержит таблицу, показывающую, какие версии бы-
              ли использованы при генерации текста. L-файл  создается
              в текущем каталоге при использовании опции -l; его пра-
              ва доступа 444, идентификатор владельца равен реальному
              идентификатору  пользователя.  Реальный   идентификатор
              пользователя должен быть таким, чтобы позволить  запись
              в текущий каталог.

              Строки l-файла имеют следующий формат:

                   1. Пробел, если версия использована; * в противном
                      случае.
                   2. Пробел, если версия использована или проигнори-
                      рована; *, если версия  не  использована  и  не
                      проигнорирована.
                   3. Код причины, почему версия была или не была ис-
                      пользована:
                       I:  Включена по опции -i.
                       X:  Исключена по опции -x.
                       C:  Время не  соответствует  указанному  в
                           опции -c.
                   4. Пробел.
                   5. С_идентификатор.
                   6. Табуляция.
                   7. Дата и время создания (гг/мм/дд чч:мм:сс).
                   8. Пробел.
                   9. Входное имя пользователя, создавшего версию.

                   Комментарии и номер причины модификации  выводятся
                   на следующих строках, перед ними один знак табуля-
                   ции. Каждая запись заканчивается пустой строкой.

              P-файл используется для передачи информации  от  get  с
              опцией -e к delta. Его  содержимое  также  используется
              для предотвращения последующего выполнения get -e с тем
              же с_идентификатором, пока не будет  выполнена  команда
              delta или в SCCS-файле не будет установлен флаг j, [см.
              admin(1)].  P-файл  создается  в  каталоге,  содержащем
              SCCS-файл, действующий идентификатор пользователя  дол-
              жен быть таким, чтобы разрешить запись в этот  каталог.
              Права доступа к файлу равны 644, идентификатор владель-
              ца равен действующему идентификатору пользователя. Фор-
              мат  p-файла  следующий:  извлеченный  с_идентификатор,
              пробел, новый с_идентификатор, пробел, имя,  соответст-
              вующее реальному идентификатору  пользователя,  пробел,
              дата и время выполнения get, пробел, аргумент опции  -i
              (если есть), пробел, аргумент опции -x (если есть), пе-
              ревод строки. В  p-файле  может  быть  различное  число
              строк; никакие две из них не могут содержать один и тот
              же новый с_идентификатор.

              Z-файл служит как файл-замок для защиты от  одновремен-
              ных  изменений.  Его  содержимое - двоичный двухбайтный
              идентификатор процесса get, создавшего  z-файл.  Z-файл
              создается  в  каталоге,  содержащем SCCS-файл, на время
              выполнения get. Права доступа к z-файлу 444,  остальное
              то же, что и для p-файла.

      ФАЙЛЫ
              g-файл          Существует до выполнения команды delta;
                              удаляется после ее завершения.
              p-файл          Существует до выполнения команды delta;
                              может остаться после ее завершения.
              q-файл          Создается  во  время выполнения команды
                              delta; удаляется после ее завершения.
              x-файл          Создается во время  выполнения  команды
                              delta;  переименовывается  в  SCCS-файл
                              после ее завершения.
              z-файл          Создается во время  выполнения  команды
                              delta;  удаляется также во время ее вы-
                              полнения.
              d-файл          Создается во время  выполнения  команды
                              delta; удаляется после ее завершения.
              /usr/bin/bdiff  Программа  для выявления различий между
                              "извлеченным" и g-файлом.

      СМ. ТАКЖЕ
              admin(1), delta(1), help(1), prs(1), what(1).
              sccsfile(4) в Справочнике программиста.

      ДИАГНОСТИКА
              Для раз яснений пользуйтесь командой help(1).

      СЮРПРИЗЫ
              Если действующий идентификатор  пользователя  позволяет
              запись  (явно  или  неявно)   в   каталог,   содержащий
              SCCS-файлы, а реальный идентификатор пользователя этого
              не позволяет, то при использовании опции -e  в  команде
              get может быть указано только одно имя файла.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк