summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bump the version to 1.2.2v1.2.2Gravatar Mike Burns2014-03-28
|
* Update the NEWSGravatar Mike Burns2014-03-28
| | | | We had missed a few news items in our excitement.
* Discover a POSIX shell for SolarisGravatar Mike Burns2014-03-28
| | | | | | | | | | | | Under Solaris, use ksh instead of `/bin/sh`. This uses `$SHELL` as a POSIX shell, coupled with a `configure` check that sets it correctly. Note that the POSIX shell might end up being bash, so this actually introduces more fragmentation than it reduces. Taken from https://github.com/freedreno/mesa/blob/master/configure.ac
* Only show hook filename when debuggingGravatar Mike Burns2014-03-28
| | | | | This uses a bit of a hack: if `$DEBUG` is set to `:`, then we are not in debug mode.
* rcm.sh should not have +x attributeGravatar Andrei Dziahel2014-03-28
| | | | | | | | The `rcm.sh` library was treated as a script in the Makefile, which gave it executable permissions. Treating it as data just installs it as-is. This fixes rpmlint's `script-without-shebang /usr/share/rcm/rcm.sh` warning.
* Generate the list of contributors from gitGravatar Mike Burns2014-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of requiring contributors to update rcm(7), pull the list of contributors from the git log instead. The `rcm.7` file has been moved to `rcm.7.mustache`. The `autogen.sh` command will write `rcm.7` using autocontrib, a quick script included in this commit. This commit adds a `.mailmap` file, used by git-shortlog(1) to produce correct and useful names and email addresses. An initial `.mailmap` has been added to correct some existing email addresses and duplications. `.mailmap` is documented in [Documentation/mailmap.txt][mailmap] for git. This adds a maintainer dependency on Ruby and the mustache gem. The autocontrib program is spiked out in Ruby due to my familarity with the language, but the choice of templating language (mustache) allows flexibility for switching languages later. This is a dependency requirement only for people who run `autogen.sh` -- maintainers. This adds a maintainer dependency on git. Again, this is only for maintainers, and many (all?) of them need git to get rcm's source anyway. Thanks to Patrick Brisbin and George Brocklehurst for the review. [mailmap]: https://github.com/git/git/blob/6a907786af835ac15962be53f1492f23e044f479/Documentation/mailmap.txt
* Fixed hooks not executing under CygwinGravatar Daniel Watson2014-03-19
|
* Fix the NEWS.md.inGravatar Mike Burns2014-03-19
| | | | | Add 1.2.1 to the NEWS.md.in and move the unreleased news items to the correct spot.
* Add support for -v option on OpenBSDGravatar The Linux Kitten2014-03-19
| | | | | | | | | | The `-v` (verbose) flag for `cp`, `ln`, and `rm` is not standard. It is simple to implement using shell functions, so introduce `cp_v`, `ln_v`, and `rm_v`. These shell functions use the existing `$VERBOSE` variable for printing, which simplifies the code and reduces the number of variables. Fixes #61.
* Document that you must quote globsGravatar Mike Burns2014-03-10
| | | | | The shell likes to expand globs as conveniently as possible. Therefore, quote them when passing them to lsrc(1) and others (e.g. `-x '*vim*'`).
* Fix spelling of CONTRIBUTING.md in READMEGravatar John Axel Eriksson2014-03-10
|
* Fresh changelogs, ready for a new commitGravatar Mike Burns2014-03-07
|
* Grab the ORIGIN_URL in man MakefileGravatar Mike Burns2014-03-07
| | | | This caused the push to fail because it couldn't find the repo URL.
* Last-minute changesv1.2.1Gravatar Mike Burns2014-03-07
| | | | | * Debian package has a -2 in its filename. Of course. * Build HTML docs in the top-level gh-pages directory.
* Update installation instructions for 1.2.1Gravatar Mike Burns2014-03-07
| | | | | This also ties up any loose ends, including where to find the tarball and how to contribute.
* Manpage cleanupGravatar Mike Burns2014-03-07
| | | | | | | | * Make sure `rcm` is mentioned in every `.Nd`, so that it will appear in whatis(1). * Every `.Bl -tag` must have a `-width`. * Put the sections in a consistent order, as defined my mandoc. * A `.Sh` should not be followed by a `.Pp`.
* Document glob bugsGravatar Mike Burns2014-03-07
| | | | | | | | | | Until we can get a handle on globbing, we cannot close #11. That bug is the last remaining ticket blocking the 1.2.1 release. However, it may involve a larger modification than a patch release should. Documenting allows us to make the release while working on the bug for the next release. http://1389blog.com/pix/thats-a-feature-not-a-bug.jpg
* Fix bad merge in run_hooksGravatar patrick brisbin2014-03-06
| | | | | | It's likely that while shuffling commits for the quoting of "$@" issue, some lines were kept from both that branch and master resulting in an invalid state.
* Quote $@Gravatar patrick brisbin and Mike Burns2014-03-05
| | | | | | | | | Most of this commit is actually about $IFS. Modifying the environment for a single invocation (i.e. with `VAR=x command` or `env VAR=x command`) only works for actual commands, not a built-in like `set`. Consequently, we must manually store the existing $IFS value and restore it after invoking `set`.
* Add quoting, remove backticks, use $PWDGravatar patrick brisbin2014-03-05
| | | | | * http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03 * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08
* Update NEWSGravatar Mike Burns2014-03-05
| | | | | | All future pull requests and commits should at least consider updating the `NEWS.md.in` file. Updating it with what's been done so far is a great first step to trying to make that happen.
* Symlink dirs that are tag- or host-specificGravatar Mike Burns2014-03-04
| | | | | The original `SYMLINK_DIRS` pull request had ignored the tag- and host-specific sections. This brings them back into being.
* Add quoting, remove backticks, use $PWDGravatar patrick brisbin2014-03-04
| | | | | | | | | * http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03 * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08 Fixes #46. This does not handle quotes around `$@`. That is taken separately in #53.
* Quotes around the arguments to diffGravatar Caleb Land2014-03-03
|
* Correctly set hook_file in run_hooksGravatar patrick brisbin2014-02-28
| | | | | | | | | | The code was setting the $hook_file variable to $dotfiles_dir/hooks/$when-$direction outside of the loop which actually sets the $dotfiles_dir variable to each of the dotfiles directories being processed in turn. This would lead to (for example) /hooks/post-up which is not correct. The fix is to move that logic into the loop.
* Add a list of contributors to rcm(7)Gravatar Mike Burns2014-02-28
| | | | | | | | | | | | | | This list is an alphabetical listing of everyone who has authored at least one commit, plus their email address. When the author is a coworker I have changed this to use their thoughtbot email address. This also updates the `AUTHORS` section to mention thoughtbot. The `NEWS.md.in` file has been changed to reflect that 1.2.0 is released. A `CONTRIBUTING.md` file has been added to explain what is required to send a good contribution.
* Quote the PWDGravatar Mike Burns2014-02-27
| | | | | | | | | This allows for users to run this command from within directories that have spaces in their path. I've also quoted `DOTFILES_DIR` in more places, but this is so far a waste: we still don't support dotfiles directories with spaces in their name.
* -d is relative to the $PWDGravatar Mike Burns2014-02-27
| | | | | | | | | | | | | | | | | | | | | | | This case fails: ~% lsrc -d foo -d bar /home/mike/.zshrc:/home/mike/foo/zshrc Because: skipping non-existent directory: /home/mike/foo/bar However, giving the absolute path fixes it: ~% lsrc -d $PWD/foo -d $PWD/bar /home/mike/.zshrc:/home/mike/foo/zshrc /home/mike/.vimrc:/home/mike/bar/vimrc In this commit we fix this by storing the user's working directory when they start, and always `cd`ing back before changing dotfile directory. In this way they are always relative to the current working directory. Fixes #21.
* Handle more files with spaces and special charsGravatar Caleb Land2014-02-27
|
* Start bringing in the Makefile.am from gitshGravatar Mike Burns2014-02-26
| | | | | | | | | | | It introduces the `Makefile.am` from gitsh, and abstracts it a bit. This `Makefile.am`, or most of it, could be dropped into gitsh again. How to use it is documented in `DEVELOPERS.md`. The whole release process is more consistent and simple: `make release` to build a tarball, Homebrew, Arch, Debian, HTML (from manpages), and tag it, pushed to the various repos, and with cleanup. The `release` target is composed of smaller targets that stack well.
* Add install instruction on Gentoo-based systemsGravatar Anton Ilin2014-02-24
| | | | | | Add instruction how to install rcm on a Gentoo-based GNU/Linux distribution. Currently the overlay is maintained by Anton Ilin (bronislav).
* Add sigil (`$`) for symlinked dir for lsrc -FGravatar Pablo Olmos de Aguilera Corradini2014-02-24
| | | | | | | The `$` sigil in `-F` indicates that the directory is symlinked instead of recurred upon. Fixes #37.
* Fix error when hooks files/dirs don't existGravatar Pablo Olmos de Aguilera Corradini2014-02-24
| | | | | | | We had been relying on `hooks/pre-up` and `hooks/post-up` files to exist. This explicitly checks first. Fixes #34.
* Use sed to split out the short hostnameGravatar Mike Burns2014-02-19
| | | | | | | | Instead of using the non-standard `-s` argument to `hostname`, use `sed` to split out everything after the first period. This fixes lsrc(1) on Cygwin, among others. Fixes #28.
* Force some directories to be symlinksGravatar Pablo Olmos de Aguilera Corradini and Mike Burns2014-02-18
| | | | | | | | | | | | | | | | | | | | | | | Typically a directory structure is copied instead of symlinked, while files are symlinked. However, some cases require symlinked dirs: git submodules, vim plugins, and so on. This introduces a `SYMLINK_DIRS` option for rcrc(5) that takes a space-separated list of "exclude patterns". Any directory matching these patterns is symlinked. This also introduces a `-S` argument for lsrc(1), rcup(1), and rcdn(1). This argument takes a pattern, for one-off directory symlinking. It can be repeated. This also introduces `-S` and `-s` for mkrc(1). `-S` will re-install the files as symlinks, and `-s` will not. This does work with `-C`, though perhaps unintuitively - we don't know what the user means in this case. However, it will not crash. Bug: `-s` does not work right if `SYMLINK_DIRS` is set. Bug #36 addresses this.
* Allow {pre,post}-up hook directoriesGravatar Pablo Olmos de Aguilera Corradini2014-02-07
| | | | | If the `pre-up` or `post-up` files are actually directories, run the executable contents of them in an arbitrary order.
* Fixed typoGravatar Jordan Eldredge2014-02-06
| | | Someone had dots on the brain
* Bump to 1.2.0.v1.2.0Gravatar Mike Burns2014-02-03
|
* Fix NEWS format, fix typoGravatar Mike Burns2014-02-03
| | | | | | | * The NEWS format was off: bullets must be preceded by two spaces. * The word 'committing' was misspelled; hats off to debbuild's linter for catching this.
* Update the NEWSGravatar Mike Burns2014-02-03
|
* Rename the homebrew repo.Gravatar George Brocklehurst2014-01-31
| | | | Having a single homebrew tap for all of thoughtbot's projects makes sense.
* Fixed typo in rcm manpageGravatar Roberto Pedroso2014-01-27
|
* Unset the CDPATH before running the programGravatar Mike Burns2014-01-27
| | | | | | | | | | | | | | | | | As reported in #23, you can trick `rcup` into installing into `.` with this `CDPATH`: export CDPATH=/tmp:. As described [online][1], it is a mistake to export the `CDPATH` environment variable to begin with. Since it is a one-liner to work around it, though, it's worth fixing. The workaround is to unset `CDPATH` at the beginning of the script. This does not affect the outside environment, it only affects the script and its functions. [1]: http://bosker.wordpress.com/2012/02/12/bash-scripters-beware-of-the-cdpath/
* Prefer RCRC environment variable over ~/.rcrcGravatar patrick brisbin2013-12-11
| | | | | | | | | * Centralize configuration loading in rcm.sh(.in) * Check for readability, not just existence Add RCRC notes to all manpages. Putting the environment variables in a table lines them up more neatly and definitively, across all output formats, and also follows the examples used by e.g. BSD ls(1).
* Add generated files to .gitignoreGravatar patrick brisbin2013-12-10
|
* Run hooks by default, as the manpage indicatesGravatar patrick brisbin2013-12-10
|
* Mention rcdnGravatar Mike Burns2013-12-09
|
* Reference the thoughtbot URLsGravatar Mike Burns2013-12-09
| | | | | Now that Mike (that's me) transfered this project to thoughtbot, move all the URLs to thoughtbot-specific ones, too.
* Show a difference between moving and link in mkrcGravatar Pablo Olmos de Aguilera Corradini2013-10-08
| | | | | | | | | | | | | | | | | I found that after you add a file with `mkrc` command from any dir, the output looks like: $ mkrc ~/.my-awesome-dot-file ‘$HOME/.my-awesome-dot-file -> ‘$HOME/.dotfiles/my-awesome-dot-file' ‘$HOME/.my-awesome-dot-file -> ‘$HOME/.dotfiles/my-awesome-dot-file' $ It looks like the output it's appearing twice, which could led you believe something went wrong or the output is a bit buggy. Obivously, it's not, and the command ran without problems. Use `$PRINT` to show which step it is on before the verbose messages are displayed.
* Fix typo in rcm man pageGravatar Dan Croak2013-10-02
| | | | The word "multiple" was misspelled.