Especificando qual git repo usar

3

Eu tenho um script bash, chamado cgit, que atua como git para um repositório repo específico (localizado em /.git ):

#!/bin/bash
cd /;
sudo git $@ > /dev/stdout

Eu uso para acompanhar arquivos de sistema importantes:

cgit add /etc/rc.conf

O problema é quando tento adicionar conteúdo relativo ao diretório em que estou, por exemplo:

cd /home/user
cgit add .ssh/config

cgit tentaria adicionar /.ssh/config ao /.git repo.

Alguma sugestão ou solução alternativa?

    
por Stefan 09.09.2010 / 15:35

2 respostas

3

Eu atualizaria seu script cgit para usar --git-dir . Das man pages:

   --git-dir=<path>
       Set the path to the repository. This can also be controlled by
       setting the GIT_DIR environment variable. It can be an absolute
       path or relative path to current working directory.

Então, seria:

#!/bin/bash
sudo git --git-dir=/.git $@ > /dev/stdout

FTR, eu não tentei isso.

    
por 09.09.2010 / 16:00
2

É muito melhor usar o etckeeper em vez da sua solução doméstica. Há um número de pegadinhas que o etckeeper endereça bem. É um pacote em várias distribuições do Linux e também é fácil de criar a partir do código-fonte.

Um recurso muito interessante em sistemas baseados em Debian é que ele se liga ao apt para confirmar automaticamente antes e depois de instalar ou atualizar pacotes. Isso ajuda a distinguir as alterações feitas por você mesmo daquelas feitas por atualizações de pacotes. Ele também (opcionalmente) faz um autocommit diário.

    
por 11.09.2010 / 00:37

Tags