| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
| |
This uses a bit of a hack: if `$DEBUG` is set to `:`, then we are not in
debug mode.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
Add 1.2.1 to the NEWS.md.in and move the unreleased news items to the
correct spot.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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*'`).
|
| |
|
| |
|
|
|
|
| |
This caused the push to fail because it couldn't find the repo URL.
|
|
|
|
|
| |
* Debian package has a -2 in its filename. Of course.
* Build HTML docs in the top-level gh-pages directory.
|
|
|
|
|
| |
This also ties up any loose ends, including where to find the tarball
and how to contribute.
|
|
|
|
|
|
|
|
| |
* 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`.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The original `SYMLINK_DIRS` pull request had ignored the tag- and
host-specific sections. This brings them back into being.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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 instruction how to install rcm on a Gentoo-based GNU/Linux
distribution. Currently the overlay is maintained by Anton Ilin
(bronislav).
|
|
|
|
|
|
|
| |
The `$` sigil in `-F` indicates that the directory is symlinked instead
of recurred upon.
Fixes #37.
|
|
|
|
|
|
|
| |
We had been relying on `hooks/pre-up` and `hooks/post-up` files to
exist. This explicitly checks first.
Fixes #34.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
If the `pre-up` or `post-up` files are actually directories, run the
executable contents of them in an arbitrary order.
|
|
|
| |
Someone had dots on the brain
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
Having a single homebrew tap for all of thoughtbot's projects makes sense.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/
|
|
|
|
|
|
|
|
|
| |
* 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).
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Now that Mike (that's me) transfered this project to thoughtbot, move
all the URLs to thoughtbot-specific ones, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The word "multiple" was misspelled.
|
|
|
|
|
| |
This is what FreeBSD has in its ports tree and is the latest as of 21
June 2013.
|
|
|
|
|
|
| |
The Makefile did not explcitly list rcdn(1), so the HTML was never
generated for it. Temporary fix: also list rcdn(1) in the Makefile.
Desired long-term fix: use the man/Makefile to generate the HTML docs.
|
|
|
|
| |
Running autogen.sh changes these files. Clearly they must be important.
|