Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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 [1] - https://pypi.python.org/pypi/update-dotdee



That 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: