Comando de Administração (SCCS)
Propósito
Cria e controla arquivos do Sistema de Controle de Código de Origem (SCCS).
Sintaxe
Para criar novos arquivos SCCS
admin { -n -i[FileName ] } [ -a { User | GroupID } ] ... [ -f HeaderFlag[Value ] ... ] [ -r SID ] [ -t FileName ] [ -m ModificationRequestList ] [ -y[Comment ] ] Arquivo...
Nota: Não coloque um espaço entre uma bandeira e uma variável opcional (bracketed).
Para modificar arquivos SCCS existentes
admin [ -a { Usuário | GroupID } ] ... [ -e { User | GroupID } ] ... [ { -d HeaderFlag | -f HeaderFlag[Value ] ... } ] [ -m ModificationRequestList ] [ -tFileName ] ] [ -y[Comentário ] ] Arquivo...
Nota: Não coloque um espaço entre uma bandeira e uma variável opcional (bracketed).
Para verificar arquivos SCCS danificados
admin -h Arquivo ...
Para corrigir arquivos SCCS danificados
admin -z Arquivo ...
Descrição
O comando admin cria novos arquivos SCCS (Source Code Control System) ou altera os parâmetros especificados nos arquivos SCCS existentes.
O comando admin pode alterar os parâmetros que controlam como o comando get cria os arquivos que você pode editar. Os parâmetros também podem definir condições sobre quem pode acessar o arquivo e quais versões dos arquivos podem ser editadas.
Se o arquivo especificado pelo parâmetro File existir, o comando admin modificará o arquivo conforme especificado pelos sinalizadores. Se o arquivo não existir e você fornecer o sinalizador -i ou -n, o comando admin criará um novo arquivo e fornecerá valores padrão para sinalizadores não especificados.
Se você especificar um nome de diretório para o parâmetro File (Arquivo ), o comando admin executará as ações solicitadas em todos os arquivos SCCS desse diretório. Todos os arquivos SCCS contêm o s. antes do nome do arquivo. Se você usar um - (sinal de menos) no parâmetro File (Arquivo ), o comando admin lerá a entrada padrão e interpretará cada linha como o nome de um arquivo SCCS. Um caractere de fim de arquivo encerra a entrada.
Você deve ter permissão de gravação no diretório para criar um arquivo. Todos os nomes de arquivos SCCS devem ter o formato s.Name. Novos arquivos SCCS são criados com permissão de leitura. O comando admin grava em um arquivo x temporário, que ele chama de x.Name. Se já existir, o arquivo x terá as mesmas permissões que o arquivo SCCS original. O arquivo x é somente leitura se o comando admin precisar criar um novo arquivo. Após a conclusão bem-sucedida do comando admin, o arquivo x é movido para o nome do arquivo SCCS. Isso garante que as alterações sejam feitas no arquivo SCCS somente se o comando admin não detectar nenhum erro durante a execução.
Os diretórios que contêm arquivos SCCS devem ser criados com o código de permissão 755 (permissões de leitura, gravação e execução para o proprietário, permissões de leitura e execução para membros do grupo e outros). Os próprios arquivos SCCS devem ser criados como ficheiros de leitura (444). Com essas permissões, apenas o proprietário pode usar comandos não SCCS para modificar arquivos SCCS. Se um grupo pode acessar e modificar os arquivos SCCS, os diretórios devem incluir permissão de gravação de grupo.
O comando admin também usa um arquivo de bloqueio temporário (chamado z.Name) para evitar atualizações simultâneas do arquivo SCCS por diferentes usuários.
Você pode inserir sinalizadores e nomes de arquivo de entrada em qualquer ordem. Todas as bandeiras se aplicam a todos os arquivos. Não coloque um espaço entre um sinalizador e uma variável opcional (variável entre colchetes). Os sinalizadores de cabeçalho podem ser definidos com o sinalizador -f e desmarcados com o sinalizador -d. Os sinalizadores de cabeçalho controlam o formato do arquivo g criado com o comando get.
Sinalizações
| Item | Descrição |
|---|---|
| -um usuário ou -a GroupID | Inclui o usuário especificado na lista de usuários que podem fazer conjuntos de alterações (deltas) para o arquivo SCCS. O valor User (Usuário ) pode ser um nome de usuário ou um ID de grupo. Especificar um ID de grupo é o mesmo que especificar os nomes de todos os usuários desse grupo. É possível especificar mais de um sinalizador -a em uma única linha de comando do administrador. Se um arquivo SCCS contém uma lista de usuários vazia, qualquer um pode adicionar deltas. Se um arquivo tiver uma lista de usuários, o criador do arquivo deverá ser incluído na lista para que o criador possa fazer deltas no arquivo. Se o parâmetro User ou GroupID for precedido por um ! (ponto de exclamação), os usuários especificados não têm permissão para fazer deltas. Por exemplo, digite-a !User. |
| -d HeaderFlag | Desativa os efeitos da sinalização do cabeçalho especificado dentro do arquivo SCCS. Você pode especificar esta sinalização apenas com arquivos SCCS existentes. Também é possível especificar mais de um sinalizador -d em um único comando de administração. Consulte a lista de sinalizadores de cabeçalho que segue para saber mais sobre os valores suportados. |
| -e Usuário ou -e GroupID | Remove o usuário especificado da lista de usuários autorizados a fazer deltas no arquivo SCCS. Especificar um ID de grupo é equivalente a especificar todos os nomes Usuário comuns a esse grupo. É possível especificar vários sinalizadores -e em uma única linha de comando do administrador. |
| -f HeaderFlag[Value ] | Ativa a sinalização de cabeçalho especificada e valor no arquivo SCCS. É possível especificar mais de um sinalizador de cabeçalho em um único comando de administração. Há 12 bandeiras de cabeçalho. Consulte a lista de sinalizadores de cabeçalho que segue para saber mais sobre os valores suportados. Não coloque um espaço entre as variáveis HeaderFlag e Value. |
| -h | Verifica a estrutura do arquivo SCCS e compara um checksum recém-computado com a soma de verificação que é armazenada na primeira linha do arquivo SCCS. Quando o valor do checksum não está correto, o arquivo foi modificado indevidamente ou danificado. Esse sinalizador o ajuda a detectar danos causados pelo uso inadequado de comandos que não sejam do SCCS para modificar arquivos do SCCS, bem como danos acidentais. O sinalizador -h impede a gravação no arquivo, portanto, cancela o efeito de quaisquer outros sinalizadores fornecidos. Se for retornada uma mensagem de erro indicando que o arquivo está danificado, use o sinalizador -z para computar novamente a soma de verificação. Em seguida, teste para ver se o arquivo foi corrigido usando o sinalizador -h novamente. |
| -iFileName ] | Obtém o texto para um novo arquivo SCCS da variável FileName . Este texto é o primeiro delta do arquivo. Se você especificar o sinalizador -i, mas omitir o nome do arquivo, o comando admin lerá o texto da entrada padrão até chegar a um caractere de fim de arquivo. Se você não especificar o sinalizador -i, mas especificar o sinalizador -n, o comando criará um arquivo SCCS vazio. O comando admin só pode criar um arquivo contendo texto por vez. Se estiver criando dois ou mais arquivos SCCS com uma chamada para o comando admin, será necessário usar o sinalizador -n, e os arquivos SCCS criados estarão vazios. Cada linha do arquivo especificado pela variável FileName não pode conter mais de 512 caracteres. O nome do arquivo pode incluir caracteres MBCS (multibyte character set). Não coloque um espaço entre o sinalizador e a variável FileName. |
| -m ModificationRequestList | Especifica uma lista de números de Solicitação de Modificação (MR) a serem inseridos no arquivo SCCS como o motivo da criação do delta inicial. Uma lista nula ou vazia pode ser considerada válida, dependendo do programa de validação utilizado. O sinalizador de cabeçalho v deve ser definido. Os números de RM são validados se o sinalizador de cabeçalho v tiver um valor (o nome de um programa de validação de números de RM). O comando admin informa um erro se o sinalizador de cabeçalho v não estiver definido ou se a validação de MR falhar. |
| -n | Cria um novo arquivo SCCS vazio. Quando o sinalizador -n é usado sem o sinalizador -i, o arquivo SCCS é criado com informações de controle, mas sem nenhum dado de arquivo. |
| -r SID | Especifica a versão de arquivo SCCS de identificação (SID) a ser criada. A variável SID aceita um delta com quatro níveis: release, nível, ramificação e sequência, por exemplo 3.2.5.1. Se apenas release for especificado, o comando admin assumirá automaticamente o nível 1. Se você não especificar o sinalizador -r, o delta inicial se tornará a versão 1, nível 1 (ou seja, 1.1). Para obter mais detalhes sobre a especificação do SID, consulte a tabela Determinação do SID descrita no comando get. Você pode especificar o sinalizador -r somente se também especificar o sinalizador -i ou -n. Use esta sinalização apenas ao criar um arquivo SCCS. |
| -tFileName] | Obtém o texto descritivo para o arquivo SCCS do arquivo especificado pela variável FileName. Se você usar o sinalizador -t ao criar um novo arquivo SCCS, deverá fornecer um nome de arquivo. No caso dos arquivos SCCS existentes:
Não coloque um espaço entre a sinalização e a variável FileName . |
| -y[Comentário] | Insere o comentário especificado no delta inicial de maneira idêntica à do comando delta. Use esta sinalização apenas quando você criar um arquivo SCCS. Se você não especificar um comentário, o comando admin insere uma linha com o seguinte formato:Os comentários podem incluir caracteres MBCS (multibyte character set). Não coloque um espaço entre a sinalização e a variável FileName . |
| -z | Calcula novamente a soma de verificação do arquivo SCCS e a armazena na primeira linha do arquivo SCCS (consulte o sinalizador -h ).Atenção: Usar o comando admin com o sinalizador -z em um arquivo danificado pode impedir a detecção futura do dano. Esse sinalizador só deve ser usado se o arquivo SCCS for alterado usando comandos que não sejam do SCCS devido a um erro grave. |
| Arquivo | Especifica o nome do arquivo criado ou alterado pelo comando admin. Se for especificado um - (sinal de menos), o comando admin lê a partir da entrada padrão. Um caractere de fim de arquivo encerra a entrada padrão. |
Sinalizadores de cabeçalho
A lista a seguir contém os sinalizadores de cabeçalho que podem ser definidos com o sinalizador -f e desinstalados com o sinalizador -d. Os sinalizadores de cabeçalho controlam o formato do arquivo g criado com o comando get.
| Item | Descrição |
|---|---|
| B | Permite que você use o sinalizador -b de um comando get para criar deltas de ramificação. |
| c) Número | Torna a variável Number o número de versão mais alto que um comando get -e pode usar. O valor da variável Número deve ser maior que 0 e menor ou igual a 9999. (O valor padrão é 9999.) |
| d SID | Faz com que a variável SID seja o delta padrão fornecido a um comando get. |
| f Número | Torna a variável Number o menor número de versão que um comando get -e pode recuperar. A variável Número deve ser maior que 0 e menor que 9999. (O valor padrão é 1.) |
| i[String] | Trata a seguinte mensagem informativa, emitida pelo comando get ou delta, como um erro:Na ausência desta bandeira, a mensagem é apenas um aviso. A mensagem é emitida se nenhuma palavra-chave de identificação do SCCS for encontrada no texto recuperado ou armazenado no arquivo SCCS (consulte o comando get ). Se uma string for fornecida, as palavras-chave devem corresponder exatamente à string dada. A string deve conter uma palavra-chave e não ter novas linhas integradas. |
| j | Permite comandos get simultâneos para editar o mesmo SID de um arquivo SCCS. O uso do sinalizador de cabeçalho j permite várias atualizações simultâneas da mesma versão do arquivo SCCS. |
| lLista | (L minúsculo) Bloqueia as versões especificadas pela variável List contra edição, de modo que um comando get -e em uma dessas versões falhe. A lista tem a seguinte sintaxe:Onde o caráterana lista é equivalente a especificar todas as versões para o arquivo SCCS nomeado. |
| m Módulo | Substitui a variável Module por todas as ocorrências da palavra-chave 59 em um arquivo de texto do SCCS recuperado por um comando get. A variável padrão do módulo é o nome do arquivo SCCS sem o s. prefixo. O nome do módulo pode incluir caracteres MBCS (multibyte character set). |
| n | Faz com que o comando delta crie um delta nulo em todas as versões que são ignoradas quando um delta é feito em uma nova versão. Por exemplo, se você fizer delta 5.1 após delta 2.7, as liberações 3 e 4 serão nulas. As versões 3 e 4 serão criadas como entradas delta nulas na tabela delta do s. . As deltas nulas resultantes podem servir como pontos a partir da qual construir deltas de ramificação. Sem esta sinalização, releases ignorados não aparecem no arquivo SCCS. |
| q Texto | Substitui o texto especificado por todas as ocorrências da palavra-chave ' em um arquivo de texto SCCS recuperado por um comando get. |
| t Tipo | Substitui o tipo especificado por todas as palavras-chave ' em um arquivo g recuperado por um comando get. |
| v[Programa] | Faz com que o comando delta solicite números de Solicitação de Modificação (MR) como o motivo para a criação de um delta. A variável Program especifica o nome de um programa de verificação de validade de número MR. Se o sinalizador v for definido no arquivo SCCS, o sinalizador -m também deverá ser usado, mesmo que seu valor seja nulo. O nome do programa pode incluir caracteres MBCS (multibyte character set). |
Localização de arquivos SCCS danificados
Embora o SCCS forneça alguma proteção de erro, você pode precisar recuperar um arquivo que foi danificado acidentalmente. Esse dano pode resultar de um mau funcionamento do sistema, erro do operador ou alteração de um arquivo SCCS sem o uso de comandos SCCS.
Os comandos SCCS usam o checksum para determinar se um arquivo foi alterado desde que foi usado pela última vez. O único comando do SCCS que processa um arquivo danificado é o comando admin, quando usado com os sinalizadores -h ou -z. O sinalizador -h informa ao comando admin para comparar a soma de verificação armazenada no cabeçalho do arquivo SCCS com a soma de verificação computada. O sinalizador -z diz ao comando para computar novamente a soma de verificação e armazená-la no cabeçalho do arquivo.
Status de saída
Esse comando retorna os valores de saída a seguir:
| Item | Descrição |
|---|---|
| 0 | Conclusão bem-sucedida. |
| >0 | Ocorreu um erro. |
Exemplos
Esses exemplos usam um arquivo de texto imaginário chamadotest.ce um editor como o ed para editar arquivos.
- Primeiro, crie um arquivo SCCS comum. Para criar um arquivo SCCS vazio chamados.test.c, digite:
Usar o comando admin com o sinalizador -n cria um arquivo SCCS vazio.$ admin -n s.test.c - Para converter um arquivo de texto existente em um arquivo SCCS, digite:
Se você usar o sinalizador -i, o comando admin criará o delta 1.1 a partir do arquivo especificado. Quando o delta 1.1 for criado, renomeie o arquivo de texto original para que ele não interfira com os comandos do SCCS:$ admin -itest.c s.test.c There are no SCCS identification keywords in the file (cm7) $ ls s.test.c test.c
A mensagemThere are no SCCS identification keywords in the file (cm7)não indica um erro. O SCCS grava esta mensagem quando não há palavras-chave de identificação no arquivo. Palavras-chave de identificação são variáveis que podem ser colocadas em um arquivo SCCS. Os valores dessas variáveis fornecem informações como data, hora, SID ou nome do arquivo. Consulte o comando get para obter uma explicação das palavras-chave de identificação. Se não existirem palavras-chave de identificação, o SCCS grava a mensagem. No entanto, se o sinalizador de cabeçalho i estiver definido no s. essa mensagem causa uma condição de erro. Esta sinalização é definida pelo usuário.$ mv test.c back.cDê ao arquivo SCCS qualquer nome, começando com s.. No exemplo anterior, o arquivo original e o arquivo SCCS possuem o mesmo nome, mas isso não é necessário.
Como você não especificou um número de versão, o comando admin deu ao arquivo SCCS um SID de 1.1. O SCCS não usa o número 0 para identificar deltas. Portanto, um arquivo não pode ter um SID 1.0 ou 2.1.1.0, por exemplo. Todos os novos lançamentos começam com o nível 1.
- Para iniciar otest.ccom um número de versão 3.1, use o sinalizador -r com o comando admin, conforme mostrado abaixo, e digite:
Para restringir a permissão de alteração de arquivos SCCS a um conjunto específico de IDs de usuário, liste os IDs de usuário ou os números de ID de grupo na lista de usuários do arquivo SCCS usando o sinalizador -a do comando admin. Esta sinalização pode aparecer várias vezes na linha de comando. Esses IDs então aparecem no cabeçalho do arquivo SCCS. Sem o sinalizador -a para restringir o acesso, todos os IDs de usuário podem alterar os arquivos SCCS.$ admin -itest.c -r3 s.test.c - Para restringir a permissão de edição ao ID do usuáriodan, digite:
$ admin -adan s.test.c - Verifique regularmente os arquivos SCCS quanto a possíveis danos. A maneira mais fácil de fazer isso é executar o comando admin com o sinalizador -h em todos os arquivos ou diretórios do SCCS, como segue:
Se o comando admin encontrar um arquivo em que a soma de verificação computada não seja igual à soma de verificação listada no cabeçalho do arquivo SCCS, ele exibirá esta mensagem:$ admin -h s.file1 s.file2 ... $ admin -h directory1 directory2 ...
Se um arquivo foi danificado, tente editar o arquivo novamente ou leia uma cópia de backup. Depois de corrigir o arquivo, execute o comando admin com o sinalizador -z e o nome do arquivo reparado:ERROR [s. filename]: 1255-057 The file is damaged. (co6)
Esta operação substitui o antigo checksum no cabeçalho do arquivo SCCS com um novo checksum baseado no conteúdo do arquivo atual. Outros comandos SCCS podem agora processar o arquivo.$ admin -z s.file1
Arquivos
| Item | Descrição |
|---|---|
| /usr/bin/admin | Contém o comando de administração do SCCS. |