summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix shell variable syntax in release scriptGravatar Teo Ljungberg2015-06-05
| | | | `$(var)` creates a sub shell and does not reference a variable
* Changes the priority to: hosts->tags->defaultGravatar Christian Höltje2015-06-05
| | | | | | | | | | This changes the order that things are pulled in so that: 1. Hosts take priority over everything. 2. Tags take priority over default. 3. Default takes priority over nothing. Closes #94
* Link to thoughtbot's contributor code of conductGravatar Mike Burns2015-04-08
|
* Documentation editing and improvementsGravatar Mike Burns2015-04-08
| | | | | | | Some formatting and more explanatory text. Frost was missing from the rcm(7) credits. While here, bump the version number. Honestly I just had these edits sitting around, unsure for how long.
* Add "About thoughtbot" section to READMEGravatar Joe Ferris2015-03-09
|
* Clean the changelogGravatar Mike Burns2015-01-08
| | | | | | | In preparation for 1.2.4, update the changelog such that it is ready for a release. Move the bugfixes and documentation improvements to the top, new features to the bottom, attribute as many people as reasonable, and so on.
* Run hooks on rcdn as indicated by the manpageGravatar Ben Turrubiates2015-01-07
| | | | | | - Make sure IFS in rcup and rcdn isn't left in an incorrect state when the output of lsrc is empty. - Add tests to check that hooks run on rcdn and rcup by default.
* Improve release script with a focus on DebianGravatar Martin Frost2015-01-07
| | | | | | | | | - Fix obvious typos in `release.in`. - Build both binary and source Debian package. Also, make sure to run `debuild` in the actual build directory. - Add Debian source packages to gh-pages branch. - Put lonely `:` on its own line, to help it stand out. - Turn on signing for Debian source packages.
* Improve setup documentationGravatar Martin Frost2015-01-07
| | | | | | | Improve the `CONTRIBUTING.md` documentation about what dependencies exist, how to install them, and how to get started in general. Remind developers about the `configure` script, because without it no `Makefile` will exist.
* Improve explanation of DOTFILES_DIRS optionGravatar Jason Daniel Augustine Gilliland2015-01-05
| | | | | The explanation in the man page was vague as to what "canonical source" meant.
* Add a release scriptGravatar Mike Burns2014-12-19
| | | | | | | | | The Makefiles were mostly filled with a complex shell script written in m4sh. Moving that out into a separate script helps debugging and compatibility, and in general makes life better. This also improved the DEVELOPERS.md documentation to be more clear about the steps of a release, including third-party packages.
* Add rcup example of adding new rc filesGravatar Melissa Xie2014-12-02
| | | | | | | It wasn't obvious that you could also use rcup with undotted files to add them as new rc files. There was also a typo.
* Expand on instructions for contributors to get startedGravatar Melissa Xie2014-11-24
| | | | | | | | These changes: * add the steps needed to get set up * update the docs regarding mandatory tests * clarify release instructions * fix documentation formatting
* Add test helper to the check taskGravatar Mike Burns2014-11-19
| | | | | | The `helper.sh` was not being distributed, which caused `make distcheck` to fail. Add it as data so that it's not processed but still distributed.
* Support rc files without leading dotsGravatar Christopher Koch2014-11-19
| | | | | | | | | | | This adds the `-U` option to lsrc(1), rcup(1), and rcdn(1) commands; its argument is an exclusion pattern. Any file matching this pattern is symlinked without the leading dot. There is also a `-u` option to undo a `-U`. The `UNDOTTED` setting in rcrc(5) can be used to set it permanently. The mkrc(1) command has `-U` and `-u` flags. They take no argument.
* Only use the host's name in the testGravatar Mike Burns2014-11-19
| | | | | | | | | | | | The test uses `$(hostname)`, which can produce the FQDN; however, the code only uses the host name portion of that. Modify the test to do the same by defining a `hostname` function that calls the hostname(1) binary then pipes it through sed(1). Use command instead of hardcoding the path. OS X uses `$HOSTNAME` instead of the result of hostname(1). In the test suite, use `$HOSTNAME` first, falling back to hostname(1).
* Fix broken mailmap documentation linkGravatar Melissa Xie2014-11-18
| | | | | It was not the full path to the docs, but let's also just refer to the version on master.
* Manually resolve symlinks in test helpersGravatar Melissa Xie2014-11-17
| | | | | | | | | | | | Mac OS X's `readlink` command does not support the same options as GNU, FreeBSD, and other operating systems, nor does it support canonicalizing symlink resolutions. In place of `readlink`, we're going to borrow [this] suggested implementation from the community. [this]: http://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac
* 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.