dotfiles: pode / deve (?) gnu stow fazer hard links, então eu ainda posso usar programas de configurações de xfce gui

2

Estou tentando gerenciar meus dotfiles sob controle de versão. Meus repos dotfiles contém uma pasta xfce-base , esta pasta contém o .config/xfce4/.../xy-setting.xml stuff. Eu posso guardar, ou melhor, ligar simbolicamente no lugar correto, tudo funciona como esperado.

Mas, quando abro um dos editores de configurações do xfce (Gerenciador de Janelas, Atalhos de Teclado), as alterações feitas também substituem meu link simbólico por um arquivo normal. Então, adeus controle de versão. Eu acho que isso não aconteceria, se eu tivesse links rígidos, certo? A ligação difícil é possível com gnu stow (não parece ser assim?), Ou existem alternativas?

EDIT: eu me deparei com isso , faz links físicos, mas não funciona recursivamente (reclama sobre o diretório existente do .config ...)

EDIT II: Ainda não tenho certeza se um link físico é uma boa solução.

    
por benzkji 17.11.2016 / 16:35

1 resposta

4

Você está correto que o GNU Stow não suporta hard-linking atualmente. No entanto, acho que você também está correto, pois provavelmente uma solução não é melhor do que a conexão simbólica, porque se um aplicativo externo for feliz substituirá um link simbólico por um arquivo normal, certamente também poderá quebrar um link físico (isto é, substituir o inode).

No entanto, tenho boas notícias para você :-) Eu também use o GNU Stow para gerenciar meus dotfiles , e é por isso que em 2.1.3 eu adicionei especificamente a opção --adopt para ajudar a lidar precisamente com este cenário. Depois de um programa externo ter quebrado o seu link simbólico, você pode simplesmente restaurar com esta opção, e então a versão potencialmente alterada do arquivo será adotada no diretório do seu pacote Stow e o link simbólico será restaurado, com o efeito de não alterar o conteúdo do arquivo. Como você rastreia seus dotfiles por meio do controle de versão, é possível ver o que mudou (por exemplo, via git diff ) e, em seguida, se desejar, verifique algumas ou todas as alterações.

N.B. Para diretórios de pacotes que não são rastreados em um sistema de controle de versão, essa é uma opção arriscada, pois pode modificar o conteúdo do pacote Stow sem desfazer as alterações.

    
por 18.11.2016 / 22:24