summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* 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.
* 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.