summaryrefslogtreecommitdiff
path: root/bin/lsrc
Commit message (Collapse)AuthorAge
* Bugfix: support -t and -d againGravatar Mike Burns2013-08-03
| | | | | | | | | Due to the awesome refactoring in fe3244ca9c8c9a38ea700851e36667b1015d11e6, the `-t` and `-d` options were broken. Fix it by removing the `handle_metadata_flags` function and inlining the code again, and build the `LS_ARGS` argument differently. Clearly I need a test suite.
* Extra argument parsing into rcm.shGravatar Mike Burns2013-08-02
| | | | | | Pull the `-V`, `-v`, `-q`, `-t`, and `-d` out into the `handle_common_flags` and `handle_metadata_flags` functions, shared between the different programs.
* Handle relative dotfiles directoriesGravatar Mike Burns2013-07-27
| | | | | | | | | | | | | | | The `lsrc` command (and thus the other commands, too) now supports passing a relative directory name to `-d`. Previously, this caused only the non-host and non-tag directories to run; now all dotfiles directories are run for all metafiles, too. As an example, this now works correctly: lsrc -d dotfiles This still works, too: lsrc -d /home/mike/dotfiles
* Rename libexec to shareGravatar Mike Burns2013-07-23
| | | | | | The `/usr/local/libexec` standard looks awkward on Debian, so after careful and sad evaluation we've concluded that we do not, in fact, execute the `rcm.sh` library. Move it to `/usr/local/share` instead.
* Hide duplicatesGravatar Mike Burns2013-07-12
| | | | | | | | | | | | | | | | | | | | | | | | With multiple source directories it is possible to have duplicates. Consider these source directories, `a` and `b`: |-- a | |-- bar | `-- foo `-- b |-- baz `-- foo The goal is to have this: .bar -> a/bar .baz -> b/baz .foo -> a/foo Note the duplcate `foo` file. We now handle this, in `lsrc` and therefore in `rcup`. We do this by storing a `:`-separated string of destination files (e.g. `.foo`) and `grep`ing that string before we operate on any destination.
* Stop ignoring Rakefile and installGravatar Mike Burns2013-07-12
| | | | | | | | | | Originally my installation script was a Ruby rake task, so I had to ignore the `Rakefile` when installing. Then I moved onto `install`, written on a trans-Atlantic flight, so I had to ignore that too. Now, ignore neither of these.
* Add lsrcGravatar Mike Burns2013-07-12
The `lsrc` command works just like the `rcup` command but instead of making symlinks and directories, it just lists all the files that would be symlinks. It prints the destination (e.g. `~/.foo`) and the source (`~/.dotfiles/foo`), separated by a colon. Re-write `rcup` in terms of `lsrc`.