Git

NOME

git-cvsexportcommit - Exportar um único commit para uma averiguação do CVS

RESUMO

git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]
	[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID

DESCRIÇÃO

Exporta um commit do Git para um checkout do CVS, facilitando a mesclagem de patches de um repositório Git em um repositório CVS.

Especifique o nome de uma verificação geral do CVS utilizando a opção -w ou execute uma cópia do trabalho a partir da raiz do CVS. No último caso, o GIT_DIR deve ser definido. Veja os exemplos abaixo.

Ele faz o possível para garantir a segurança, verificará se os arquivos estão inalterados e atualizados no "checkout" do CVS e por predefinição, os commits não serão feitos automaticamente.

Oferece suporte a adições, remoções e commits que afetem os arquivos binários.

Caso o commit seja um commit mesclado, informe ao git cvsexportcommit de qual origem o "changeset" deve ser feito.

OPÇÕES

-c

Faça o commit automaticamente caso o patch seja aplicado sem erros. O commit não será feito caso algum bloco falhe durante na aplicação ou caso haja outros problemas.

-p

Seja paranoico ao aplicar os patches. Invoca o patch com a opção --fuzz=0

-a

Adicionar informações de autoria. Adiciona a linha do autor e de quem fez o commit (caso seja diferente do autor) na mensagem.

-d

Defina um CVSROOT alternativo para ser utilizado. Isso corresponde ao parâmetro CVS -d. Geralmente, os usuários não vão querer definir isso, exceto caso utilize o CVS de maneira assimétrica.

-f

Imponha a mesclagem mesmo que os arquivos não estejam atualizados.

-p

Imponha o commit da origem, ainda que não seja direto dela.

-m

Anexe a mensagem do commit com o prefixo informado. Útil para patches em série e similares.

-u

Atualize os arquivos afetados do repositório CVS antes de tentar exportar.

-k

Reverta a expansão das palavras-chave do CVS (por exemplo, $Revision: 1.2.3.4$ se torna $Revision$) no CVS de trabalho antes de aplicar o patch.

-w

Especifique o local do checkout do CVS a ser utilizado para a exportação. Esta opção não requer que GIT_DIR seja definido antes da execução caso o diretório atual esteja dentro de um repositório Git. O valor predefinido é o que está na variável cvsexportcommit.cvsdir.

-W

Diga ao cvsexportcommit que o diretório de trabalho atual não é apenas um checkout do Git, mas também o checkout do CVS. Portanto, o Git redefinirá o diretório de trabalho para o commit da origem antes de continuar.

-v

Loquaz.

CONFIGURAÇÃO

cvsexportcommit.cvsdir

O local predefinido utilizado pelo checkout do CVS para a exportação.

EXEMPLOS

Mesclar um patch no CVS
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cvsexportcommit -v <commit-sha1>
$ cvs commit -F .msg <arquivos>
Mescle um patch no CVS (as opções -c e -w). O diretório de trabalho está dentro do Git Repo
	$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
Mesclar os patches pendentes no CVS automaticamente — somente se você realmente souber o que está fazendo
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v

GIT

Parte do conjunto git[1]