Como adicionar arquivos em lote no CVS

PessoALL,
Hoje perdi um tempão tentando comitar alguns arquivos no meu repositório CVS. Mais com a ajuda de um colega, que me deu o caminho das pedras, consegui realizar essa simples tarefa que o CVS complica tanto.
Problema: O processo de adicionar um arquivo ao CVS e comitar não tem mistério, o problema é que o CVS força com que seja adicionado todos os diretório, subdiretórios e arquivos, um a um, o que complica um pouco quando temos bastante arquivos a serem adicionados para controle de versão.
Segue abaixo a solução que aprendi e me foi muito útil. Lembrando que todos os comandos devem ser executados da Raiz do repositório.
Descobrindo os arquivos a serem adicionados
$ cvs diff –brief 2>/dev/null | grep ‘?’ > /tmp/arquivosCVSAdd1.logs
Limpando o arquivo(Tira o ?) para deixar apenas os path no arquivo de log
$ cat /tmp/arquivosCVSAdd1.logs | cut -d ‘ ‘ -f2 > /tmp/arquivosCVSAdd2.logs
Adicionando tudo em 1 linha para poder rodar depois
$ for i in `cat /tmp/arquivosCVSAdd2.logs`; do echo -n ” $i”; done > /tmp/arquivoscvs3.logs
Edite o arquivo e coloque no inicio
cvs add
Dar permissão de execução e executar para ADICIONAR os arquivos
$ chmod a+x /tmp/arquivoscvs3.logs
$ . /tmp/arquivoscvs3.logs
Edite o arquivo e coloque no inicio
$ cvs commit –m ‘MENSAGEM’
Dar permissão de execução e executar para COMITAR os arquivos
$ chmod a+x /tmp/arquivoscvs3.logs
$ . /tmp/arquivoscvs3.logs
Após essa volta aos tempos das pedras, não posso ficar sem dizer: Como é bom o SVN e o GIT!
Abraços
Comentários recentes