| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
Quick usage summaries for the four commands.
|
|
|
|
|
| |
The hooks can be skipped using `-K`, if needed and they can be forced
with the `-k` flag.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are programs that, if they exist, will run before or after the
syncronization/removal is run. Three use cases caused this:
1. The thoughtbot dotfiles will run a vundle installation set of
commands after intitial synchronization.
2. I changed the location of `.bash_history` to `.bash/history` and
wanted to move `.bash_history` to `.bash/history` after up to preserve
existing history.
3. Moving from an existing old-style custom install script to `rcup`
might require some cleanup; this happened in practice, and required a
simple script.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The suite now honors the `COPY_ALWAYS` option in rcrc(5). This can be
set to a space-separated list of file globs. Any file matching a glob is
copied instead of symlinked. This is handy both for secure programs
(`netrc`, `ssh/id_*`) and for programs that oddly re-write files
(`weechat/*`).
To always copy everything, use the `*` glob.
This is reflected throughout the suite as follows:
* lsrc now has a `-F` option which shows a symbol to indicate whether it
is a symlink (`@`) or a copy (`X`).
* rcdn only removes symlinks unless the file under question matches a
`COPY_ALWAYS` glob, in which case it is removed regardless of whether
it is a symlink.
* rcup will copy instead of symlinking any file that matches any
`COPY_ALWAYS` glob.
|
|
|
|
|
|
| |
Since the `-e` flag was for exclude patterns, and since it's rare for a
word with an `x` to come along, change the `-e` flag to `-x`. Better to
do it now before a new release.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Picture this case:
% ls -l ~/.a
~/.a -> ~/.dotfiles/a
% tree ~/.dotfiles/a
a
`-- b
`-- c
`-- d
`-- foo
Ideally we would want `~/.a/b/c/d/foo` to be the symlink, and the rest
to be actual directories. However, some people did it differently.
Running `rcdn` on the above would previously have removed `foo` from
`~/.dotfiles`. Now, it removes `~/.a` and nothing more.
|
|
|
|
| |
This is what is in Debian testing.
|
|
|
|
|
|
| |
`lsrc` was stripping hostname domain suffixes, but `mkrc` was not meaning
that `mkrc -o` didn't work correctly with a suffix. This was particularly
noticeable on OS X where the hostname has a `.local` suffix by default.
|