summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bump to 1.3.4Gravatar Mike Burns2020-08-28
| | | | | | | * BUGFIX: Globs no longer expand permanently (Edd Salkield). * BUGFIX: Show $ for symlinked dirs in `lsrc -F` (Mathias Michel). * Feature: All symlinks in input are rejected (Mat M). * Packaging improvements (Stephen Groat, Martin Frost, Link Dupont).
* Prepping for releaseGravatar Mike Burns2020-08-28
| | | | | - Update NEWS. - Homebrew is now part of the official Homebrew package set.
* Use homebrew-core installGravatar Stephen2020-08-28
| | | | See https://github.com/Homebrew/homebrew-core/commit/acac1ed26447b9f9acad937dc74451c503ac8ad6
* Fix #237Gravatar Mat M2020-08-28
| | | | | Fix $ sigil for lsrc -F Add test
* Another attempt to alphabeticalizeGravatar Mike Burns2020-08-28
| | | | | | | | | Martin is right: "Debian-based" being first is confusing for more specific Debian-based OSes. Let's try being explicit about the fact that Ubuntu is further down. They're intentionally alphabetical so it doesn't seem like we give higher priority to one over the other.
* Move Ubuntu instructions above DebianGravatar Martin Frost2020-08-28
| | | | | | This change helps avoid confusion from Ubuntu users not reading all the way down to the Ubuntu installation instructions but instead stopping at the "Debian-based" chunk.
* Update Ubuntu installation instructionsGravatar Martin Frost2020-08-28
| | | | | | | | | | | | | | As of Ubuntu 19.04 (Disco Dingo), rcm is now available in the Universe package repository. The ppa will no longer be necessary for future versions of Ubuntu but will be kept around until the older releases are EOL. Also, add a line to ensure that `software-properties-common` is installed. It is for instance not included in the bare `ubuntu:16.04` docker image. Add software-properties-common
* Fix shell globbing bugsGravatar Edd Salkield2020-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several problems leading to the unintentional globbing issue: Firstly, within `rcup` and `rcdn`, when constructing arguments to pass to `lsrc`, the _for_ loops over the arguments do not have quoted variables, leading to globbing. I have quoted these accordingly. Secondly, `lsrc` is invoked as follows: ```sh dests_and_srcs="$(lsrc $LS_ARGS)" ``` When shells use command substitution like this, they go through two stages: - Word expansion. This is useful because it splits `LS_ARGS` back up into its constituent strings. - File name expansion. The side effect of this is to introduce globbing. You can read more about how this works [here](https://www.tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html#sect_03_04_07). To fix this, I have passed `lsrc` and its arguments to `eval`. This involves quoting the relevant arguments, so: ```sh for dotfiles_dir in "$DOTFILES_DIRS"; do LS_ARGS="$LS_ARGS -d $dotfiles_dir" done ``` becomes ```sh for dotfiles_dir in "$DOTFILES_DIRS"; do LS_ARGS="$LS_ARGS -d \"$dotfiles_dir\"" done ``` Then `lsrc` is invoked as follows: ```sh dests_and_srcs="$(eval "lsrc $LS_ARGS")" ``` There is one final non-globbing issue: the parsing of arguments can introduce extra spaces in the variables, which then trip up the `dotfiles_dir_excludes` function. For example: ```sh I) includes="$includes $OPTARG";; ``` introduces a space if `includes` is empty or null. I have introduced the function `append_variable`, which allows two variables to be appended without introducing unnecessary whitespace. Then the additional whitespace is never added in the first place. Fixes #256.
* Do not symlink a symlink in mkrcGravatar Mat M2020-01-17
| | | | | | | | | | | | | | We have a bug when calling mkrc(1) on a symlink: ```sh mkrc ~/.vimrc # links ~/.vimrc to ~/.dotfiles/vimrc mkrc ~/.vimrc # deletes ~/.dotfiles/vimrc ``` This catches that case ahead of time, preventing the user from running mkrc(1) on a symlink. Fix #144.
* Update Fedora installation instructionsGravatar subpop2018-12-10
| | | rcm is now in the main Fedora repositories for all current (non-EOL) Fedora versions. The COPR repository is no longer required.
* Start a new line in NEWS.md.inGravatar Mike Burns2018-07-13
|
* Bump 1.3.3v1.3.3Gravatar Mike Burns2018-07-13
| | | | A last-minute bug fix from Eric Collins, accidentally overlooked.
* Expand DOTFILE_DIR tilde in hooksGravatar Eric Collins2018-07-13
| | | | | Still does not expand in every usecase, possibly does not expand in all DOTFILE_DIRS usecases.
* readme. adjust alphine linux to render nicelyGravatar wplatter-cb2018-07-13
|
* Remove myself from the package maintainers listGravatar Leonardo Brondani Schenkel2018-07-13
| | | I have not been using FreeBSD for a while now. As such, I'm not able to keep maintaining the FreeBSD package.
* Start a new NEWS.md.in releaseGravatar Mike Burns2018-07-13
|
* Announce 1.3.2 in the READMEGravatar Mike Burns2018-07-13
|
* Update build docs and Homebrewv1.3.2Gravatar Mike Burns2018-07-13
| | | | | | | | | | | The Homebrew update is [thanks to Fabian Mettler]. [thanks to Fabian Mettler]: https://github.com/thoughtbot/homebrew-formulae/pull/42 --- I don't maintain the Arch or Debian packages, so remove their details from these docs.
* Bump to 1.3.2Gravatar Mike Burns2018-07-06
|
* Update the list of package maintainersGravatar Mike Burns2018-07-06
| | | | Compiled out of a casual bit of sleuthing.
* Update changelogGravatar Mike Burns2018-07-06
|
* Sort the installation instructions by OS nameGravatar Mike Burns2018-07-06
| | | | While here: OpenBSD is in -release, not just -current.
* Add Alpine Linux install instructionGravatar kajisha2018-07-06
| | | | | | As of Alpine 3.8.0, rcm is available at the [community repository]. [community repository]: https://pkgs.alpinelinux.org/packages?name=rcm&branch=v3.8
* avoid cd having issues with paths that begin with -Gravatar Christian Höltje2018-07-06
|
* Use HTTPS URL for Debian repositoryGravatar Scott Stevenson2018-07-06
| | | | | | | | With this change, Debian packages are downloaded over HTTPS. On Debian stretch and earlier this requires installation of the [apt-transport-https](https://packages.debian.org/stretch/apt-transport-https) package. Debian buster and later provide apt≥1.5 which has built-in support for HTTPS repositories.
* Set the LOGNAME from whoamiGravatar Mike Burns2018-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Well, $LOGNAME is defined by POSIX (see a801c4c58902cae7b835d890487edc39bd7da142) but it's not appearing in reality under clean environments: ~% env -i /bin/bash mike:/home/mike$ echo $LOGNAME mike:/home/mike$ exit ~% env -i /bin/dash $ echo $LOGNAME $ exit ~% env -i /bin/ksh $ echo $LOGNAME $ exit ~% env -i /usr/bin/zsh ~% echo $LOGNAME mike ~% exit Fall back to whoami(1) when $LOGNAME is not set. Modify one of the tests to run with a restricted environment in order to test this. I had tried modifying the test-driver to run all tests in a restricted environment but the test-driver script is generated by Automake. Closes #165.
* add Void Linux install instructionsGravatar maxice82018-07-06
|
* Remove redundant \Gravatar Yota Toyama2017-11-02
|
* Document the OS X -> macOS documentation fix.Gravatar Mike Burns2017-10-27
|
* Update rcm.7.mustacheGravatar Alan Yee2017-10-27
| | | Replace OS X with macOS
* Update lsrc.1Gravatar Alan Yee2017-10-27
| | | Replace OS X with macOS
* Update README.mdGravatar Alan Yee2017-10-27
| | | | Replace OS X with macOS
* Update NEWS.md with tilde expansion featureGravatar Mike Burns2017-10-27
|
* Document missing tilde expansionGravatar Mike Burns2017-10-27
| | | | | | | The `COPY_ALWAYS`, `EXCLUDES`, `SYMLINK_DIRS`, and `UNDOTTED` variables in rcrc(5) can contain globs. We want to expand `~` and e.g. `~dmr` but not `*`; therefore, we cannot perform tilde expansion within those variables.
* Expand ~ in DOTFILES_DIRSGravatar Rebecca Meritz2017-10-27
| | | | | Hat tip to fgatham for the `eval echo` tip. This means both `~` and e.g. `~dmr` work correctly.
* Update location of Makefile.am in CONTRIBUTING.mdGravatar Rebecca Meritz2017-10-25
|
* Add a `CODE_OF_CONDUCT.md` file for GitHubGravatar Mike Burns2017-06-15
| | | | | | | | The GitHub community page looks for this hardcoded file path. We could wait until it understands other file paths and other wording, or we could add this file with a link to the code of conduct. I'll save the filename fight for another time. Here, have a redirect.
* add Gentoo install instructionsGravatar Florian Tham2017-06-07
|
* rcup: handle directory names containing whitespaceGravatar Florian Tham2017-03-10
| | | | This commit fixes #197.
* GovernanceGravatar Mike Burns2017-03-10
| | | | | | | | Document the contract between maintainer, committer, contributor, and meta-contributors. This documents how it currently works, not how we wish it to work. Start there so that we can consciously improve.
* Update thoughtbot logoGravatar Tyson Gach2017-03-10
|
* Fixes for the Debian Almquist Shell (dash)Gravatar Florian Tham2017-02-24
| | | | | | | | | | | The `[` command, which is a builtin for dash, does not understand the `==` operator; this should be `=` instead. While here, more quotes in more places, including around `$*`. `CONFIG_SHELL=/bin/dash ./configure && make check` reports no failed test. Closes #200.
* Update location of thoughtbot's PGP keyGravatar Matthew Horan2017-02-01
|
* Fedora 22 to 25 is supported.Gravatar Mike Burns2017-01-07
|
* Document the official thoughtbot Debian repositoryGravatar Eric Collins2017-01-07
| | | | Big ups to Eric Collins for leading this charge.
* Fix the SHA for the tarballGravatar Mike Burns2017-01-07
| | | | I need to automate this.
* Bump to 1.3.1v1.3.1Gravatar Mike Burns2017-01-07
|
* Add to the list of package maintainersGravatar Mike Burns and Eric Collins2016-12-26
| | | | Add Korora, Arch, and MacPorts maintainers.
* Bump to 1.3.1, prepare for releaseGravatar Mike Burns and Eric Collins2016-12-26
| | | | | - Use SHA256 in Arch and Homebrew packages. - Use OpenSSL to calculate the SHA256 sum, for portability.
* Handle spaces in dotfile nameGravatar Mike Burns and Eric Collins2016-12-26
| | | | | | | | | | | | | | | | | In mkrc, separate the list of files with newlines instead of spaces. Change the `$IFS` when iterating to handle this. We hand the file off to rcup, which encodes the file name by replacing spaces with the bell character (`\a`). rcup then sends the file name off to lsrc, which decodes the bell back into a space. The test makes sure an `a` character is in the filename, in case some encoding goes wrong. We use tr(1) instead of sed(1) because tr(1) handles `\a`. Shoutout to Sublime Text 3 for forcing this issue.