4 ms·
Stow can do that if you only need files to be replaced, not sections of files. Let's say you want to manage the file ~/test/.gitconfig, you can create this stru
by shock 12y ago
Stow can do that if you only need files to be replaced, not sections of files. Let's say you want to manage the file ~/test/.gitconfig, you can create this structure:
$ cd ~/gittest
$ tree -a
~/gittest/
├── gitconfig-home
│ └── test
│ └── .gitconfig
└── gitconfig-work
└── test
└── .gitconfig
$ cat ~/gittest/gitconfig-home/test/.gitconfig
git config 1
$ cat ~/gittest/gitconfig-work/test/.gitconfig
git config 2
$ stow --no-folding --override='.+/.gitconfig' gitconfig-home
$ cat ~/test/.gitconfig
git config 1
$ stow --no-folding --override='.+/.gitconfig' gitconfig-work
$ cat ~/test/.gitconfig
git config 2
If you need to manage sections of files, take a look at dotdee[0] or update-dotdee[1]
[0] - https://launchpad.net/dotdee https://launchpad.net/dotdee
[1] - https://pypi.python.org/pypi/update-dotdee https://pypi.python.org/pypi/update-dotdee
- mitchty 12y agoThat helps thanks. So note for now I just copy/update my entire gitconfig and replace the one off changes every so often. Its not ideal but each difference is really an entire file. I worded my question poorly in that regard but i'll have a look at dotdee. I'm somewhat tempted to just use m4 for generating the dot files for things that may change and doing a conf.d type setup that just lets me copy a fragment file into place then instantiate the file.