De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Uso o RCS para edição de arquivos do sistema

Colaboração: José Arthur Benetasso Villanova

Data de Publicação: 10 de Novembro de 2003

O RCS (Revision Control System) é uma boa solução para a edição de arquivos do sistema. Com ele você pode salva apenas as diferenças entre ve rsões em um único arquivo, ao invés de ter um arquivo para cada versão antiga.

Como um exemplo simples, editemos o arquivo /etc/passwd:

Primeiro passo: salvar a versão anterior:

  # ci -l /etc/passwd
  /etc/passwd,v  <--  /etc/passwd
  enter description, terminated with single '.' or end of file:
  NOTE: This is NOT the log message!
  >> Arquivo de senhas da máquina localhost.
  >> .
  initial revision: 1.1
  done

Altere o que for necessário e, após a edição, salve a versão atual:

  # ci -l /etc/passwd
  /etc/passwd,v  <--  /etc/passwd
  new revision: 1.2; previous revision: 1.1
  enter log message, terminated with single '.' or end of file:
  >> Adição de um novo usuário.
  >> .
  done

Supondo que alguém (obviamente não você) introduziu um erro nesse arquivo. Veja o que há de diferente entre a versão atual e a última gravada no arquivo das revisões.

  # rcsdiff /etc/passwd
  ===================================================================
  RCS file: /etc/passwd,v
  retrieving revision 1.2
  diff -r1.2 /etc/passwd
  41a42
  > aaa

Depois de avaliadas as diferenças, corrija o erro e atualize se arquivo de versões. Caso existam muitas mudanças, talvez seja mais convenient e sobrescrever o arquivo com uma versão funcional.

  # co /etc/passwd
  /etc/passwd,v  -->  /etc/passwd
  revision 1.2 (locked)
  writable /etc/passwd exists; remove it? [ny](n): y
  done

Caso queria a versão original, basta especificar com a flag -r:

  # co -r1.1

Pronto, agora a versão do arquivo /etc/passwd é a Original (1.1).

Outro comando interessante é o rlog, que mostra as mensagens de log gravadas na criação de cada versão.

  # rlog /etc/passwd
  
  RCS file: /etc/passwd,v
  Working file: /etc/passwd
  head: 1.2
  branch:
  locks: strict
          root: 1.2
  access list:
  symbolic names:
  keyword substitution: kv
  total revisions: 2;     selected revisions: 2
  description:
  Arquivo de senhas da máquina localhost.
  
  revision 1.2    locked by: root;
  date: 2003/07/23 17:56:12;  author: root;  state: Exp;  lines: +1 -0
  Adição de um novo usuário.
  
  revision 1.1
  date: 2003/07/23 17:54:34;  author: root;  state: Exp;
  Versão original.
  

Isso é o suficiente para o uso básico do RCS. As manpages 'rcs', 'ci', 'co', etc. contém muita informação útil caso queira se aprofundar.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de José Arthur Benetasso Villanova