summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Install from OpenBSD packagesGravatar Mike Burns2014-11-16
| | | | | | | | We are now in the OpenBSD ports tree, so add pkg_add(1) instructions. This only works on -current right now. While here, re-arrange installation instructions to be alphabetical by OS (or distribution) name.
* Update usage messagesGravatar Mike Burns2014-11-14
| | | | | | | | Various flags were missing from usage messages across the system; `-g` and `-s` were the most notable ones. Add them to the appropriate usage messages. Spotted by Christopher Koch.
* Fix typo in rcm man pageGravatar Scott Stevenson2014-11-07
| | | | The word "directory" was duplicated.
* Spell add-apt-repository in Ubuntu instructionsGravatar David Alexander2014-11-07
|
* Generate an installation scriptGravatar Mike Burns2014-08-26
| | | | | | | | | | | | | | | | | | This commit adds a `-g` flag to rcup(1) to generate a standalone shell script. This shell script can then be run again, even on different computers, to recreate the symlinks. This allows people to recreate the "download my dotfiles and run ./install.sh" instructions, but with generated code that they do not need to maintain. This provides us more freedom with lsrc(1): since rcm can be used to generate a universal shell script, lsrc(1) now can be harder to install -- it can depend on a compiler, for example -- because you only need to install it on one machine. The generated script is rather limited; this can be improved in future commits, as desired.
* Installation instructions for UbuntuGravatar Martin Frost2014-08-01
| | | | | | Add instructions for how to install rcm on Ubuntu using the [~martin-frost/thoughtbot-rcm PPA](https://launchpad.net/~martin-frost/+archive/ubuntu/thoughtbot-rcm)
* Fix -I in rcdn(1)Gravatar Christopher Koch2014-07-29
| | | | | The prior fix for `-k` moved the `:` from after `I` to after `k`. Move it back.
* rcdn(1) -K -kGravatar Mike Burns2014-07-22
| | | | | | | | | The rcdn(1) program is all set up to handle the `-K` and `-k` flags, except those flags were never actually allowed through `getopts`. Thanks to Mikkel Fahnøe Jørgensen for discovering this. Closes #93.
* Allow the user to override SYMLINK_DIRS with -sGravatar Mike Burns2014-07-09
| | | | | | | | This adds a `-s` that can be used to override the `SYMLINK_DIRS` config, or the `-S` flag, to lsrc(1), mkrc(1), rcup(1), and rcdn(1). The `-s` flag is the opposite of -S: any argument, if it is a directory, is not symlinked but instead recurred down.
* PKGBUILD-git improvementsGravatar Michael Reed2014-07-09
| | | | | | | | | - Remove two configure flags which just caused warnings. - Replace `pkgver` function with a working one. - Explicititly `cd` into `srcdir` before `gitname` as found in `PKGBUILD-git.proto`. - Bump `pkgrel`. - Specify correct package version.
* Link to the Web manpagesGravatar Mike Burns2014-06-04
| | | | | To give people a preview of the joy they will expect to find when they start using rcm, link to the HTML manpages from the README.
* On bad args, show usage and exitGravatar Mike Burns2014-05-30
| | | | | | | | | | | | The lsrc(1), mkrc(1), rcup(1), and rcdn(1) commands will now print a usage message and exit immediately (with 64, `EX_USAGE`) when given an option it does not understand. This includes `--version` and `--help`. Normal `-h` will print usage and exit successfully, as normal. Closes #59.
* Make the tests run againGravatar Mike Burns2014-05-30
| | | | | | | | The `check` target was broken because of `dist_TESTS`; it _must_ be just `TESTS`, not distributed. Use `dist_check_SCRIPTS` instead so that they can be packaged as scripts for checking the system.
* Ignore the Arch git packageGravatar Mike Burns2014-05-30
| | | | This file is generated, so ignore it.
* Add -git PKGBUILDGravatar patrick brisbin2014-05-23
| | | | This allows people to install rcm-git on Arch.
* Prepare for the next releaseGravatar Mike Burns2014-05-14
| | | | | The Debian changelog and NEWS.md.in need to be updated to prepare for the auto-generation next time.
* Release 1.2.3v1.2.3Gravatar Mike Burns2014-05-09
|
* Distribute the tests with the tarballGravatar Mike Burns2014-05-09
| | | | | People who download the tarball should be able to run the tests themselves, so distribute the tests as part of the tarball.
* Update documentation on usageGravatar Mike Burns2014-05-09
| | | | | | | | | | | | | | | | | New flags have accumulated without proper care for the usage instructions or man pages. I manually went through each program and verified its usage instruction against its `getopts`, then I alphabeticalized the usage message. Based on the usage message, I then verified the synposis in the manpage. Then, based on the synposis, I alphabeticalized the detailed listing of the arguments and filled in the missing pieces. The `-h` and `-V` arguments were missing from all manpages. In the future we will need to be more careful about this. It would be good to automate a checker that refuses to build unless the docs have all the flags mentioned.
* Document the wild hostname(1) issue on OS XGravatar Mike Burns2014-05-09
| | | | | | | | | | | | | | As described in #82, the hostname on OS X can vary: - The result of hostname(1) can change depending on DHCP settings; by default, as you move between networks, your hostname will change. - The value for `ComputerName` as set in scutil(8) contains values that are inappropriate for a directory name (spaces, quotes, and so on), and is blank by default. - The value for `LocalHostName` changes based on DNS and DHCP settings. Therefore, OS X users are highly encouraged to set a hostname using the `HOSTNAME` variable in rcrc(5).
* Add a hostname overrideGravatar Mike Burns2014-05-07
| | | | | | | | | | | | | | | | | | | Based on issue #82, we now provide `-B` to override the hostname. In particular: - `mkrc -B foo` will enable `-o` but with the hostname set up `foo`. - `lsrc -B foo` will work like normal `lsrc` except it treats `host-foo` as the host-specific directory. - `rcup -B foo` will run a normal `rcup` except `host-foo` is the host-specific directory. - `rcdn -B foo` is just like normal `rcdn`, but with `host-foo` as the host-specific directory. The `HOSTNAME` can also be set in the rcrc(5), and this is overridden by the aforementioned `-B`. While making this change: The `test/Makefile.am` used a mix of tabs and spaces. Since it's a Makefile, replace it all with tabs.
* Bugfix: do not break out of the for loopGravatar Mike Burns2014-05-06
| | | | | | | | A `break` anywhere inside a `for` loop (even inside a `case`) will exit from the innermost loop. Replace the `break` with a `:` to get the desired effect. Spotted by Pat Brisin.
* Update the copyright, assign it to thoughtbotGravatar Mike Burns2014-05-05
| | | | This is a thoughtbot project now, so assign copyright to thoughtbot.
* Remove duplicate NEWS entryGravatar Mike Burns2014-05-05
| | | | | This merge conflict was not handled perfectly, apparently, because we got the same entry twice in `NEWS.md.in`.
* mkrc with relative filenames inside dotted dirGravatar Pablo Olmos de Aguilera Corradini2014-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This is best explained with an example. If I want to track a file like `~/.bundle/config`, the correct way would be: ~$ mkrc ~/.bundle/config --> ~/.dotfiles/bundle/config But if you are already inside the directory, say: ~/.bundle $ and you ran: ~/.bundle $ mkrc con<TAB> # for autocomplete ~/.bundle $ mkrc config --> ~/.dotfiles/.config Which is obviously not what you meant. This basically checks first if the file exists in the current working directory and if it is, it's expand the full path. ~/.bundle $ mkrc config --> ~/.dotfiles/bundle/config
* Link to the openSUSE (and RHEL and CentOS) packageGravatar Andrei Dziahel2014-04-25
| | | | | This project is now a part of openSUSE, which can provide easy-to-use packages for RHEL and CentOS. Link to that.
* Partial fix for finding hook executablesGravatar Christian Höltje2014-04-22
| | | | | | | | | This allows, at least, more executables to be picked up. It doesn't pick up group-executable scripts and ignore xattr files but it should be better than what was there before. Closes #80
* An integration test suiteGravatar patrick brisbin2014-04-08
| | | | | | | | | | | | | | | | | | | | | | | This test suite uses cram to run integration tests through `/bin/sh`. The tests are all high-level acceptance tests; they should work regardless of the implemention code. To run them, you must first install cram: sudo pip install cram Then the `check` target will run them: make check Failure output should be printed clearly to stdout, but in general: full test output is in `test/test-suite.log` and output specific to a test named `foo.t` is in `foo.t.log`. Tests are now encouraged in `CONTRIBUTING.md` as part of the normal pull request process. This is a TAP-enabled test suite.
* Files with the same prefix in different dirsGravatar The Linux Kitten2014-04-01
| | | | | | | | | | | | | | | | | | | | The bug: ~% ls -1 test-dotfiles/**/*(.) test-dotfiles/tag-openbsdbox/zshrc_alias test-dotfiles/tag-openbsdbox/zshrc_bsd test-dotfiles/tag-zsh/zshrc ~% lsrc -t openbsdbox -t zsh -d test-dotfiles /home/mike/.zshrc_alias:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_alias /home/mike/.zshrc_bsd:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_bsd ~% We expect to also see: /home/mike/.zshrc:/home/mike/test-dotfiles/tag-zsh/zshrc This arises because we were checking for files the start with another name, rather than a full equality.
* Post-release cleanupGravatar Mike Burns2014-03-28
|
* 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