summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAge
* 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.
* 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
* Add a list of contributors to rcm(7)Gravatar Mike Burns2014-02-28
| | | | | | | | | | | | | | 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.
* Start bringing in the Makefile.am from gitshGravatar Mike Burns2014-02-26
| | | | | | | | | | | 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 sigil (`$`) for symlinked dir for lsrc -FGravatar Pablo Olmos de Aguilera Corradini2014-02-24
| | | | | | | The `$` sigil in `-F` indicates that the directory is symlinked instead of recurred upon. Fixes #37.
* Force some directories to be symlinksGravatar Pablo Olmos de Aguilera Corradini and Mike Burns2014-02-18
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Allow {pre,post}-up hook directoriesGravatar Pablo Olmos de Aguilera Corradini2014-02-07
| | | | | If the `pre-up` or `post-up` files are actually directories, run the executable contents of them in an arbitrary order.
* Fixed typoGravatar Jordan Eldredge2014-02-06
| | | Someone had dots on the brain
* Fix NEWS format, fix typoGravatar Mike Burns2014-02-03
| | | | | | | * 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.
* Fixed typo in rcm manpageGravatar Roberto Pedroso2014-01-27
|
* Prefer RCRC environment variable over ~/.rcrcGravatar patrick brisbin2013-12-11
| | | | | | | | | * 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).
* Add generated files to .gitignoreGravatar patrick brisbin2013-12-10
|
* Fix typo in rcm man pageGravatar Dan Croak2013-10-02
| | | | The word "multiple" was misspelled.
* Upgrade to automake 1.14Gravatar Mike Burns2013-09-14
| | | | | This is what FreeBSD has in its ports tree and is the latest as of 21 June 2013.
* 1.1 buld cruftGravatar Mike Burns2013-09-12
| | | | Running autogen.sh changes these files. Clearly they must be important.
* Add -kK for rcup and rcdnGravatar Mike Burns2013-08-16
| | | | | The hooks can be skipped using `-K`, if needed and they can be forced with the `-k` flag.
* Pre-up, post-up, pre-down, and post-down hooksGravatar Mike Burns2013-08-16
| | | | | | | | | | | | | | | | 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.
* Add the COPY_ALWAYS optionGravatar Mike Burns2013-08-11
| | | | | | | | | | | | | | | | | | | | 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.
* Change `-e` to `-x`Gravatar Mike Burns2013-08-11
| | | | | | 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.
* rcdn only removes symlinksGravatar Mike Burns2013-08-11
| | | | | | | | | | | | | | | | | | | 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.
* Upgrade to automake 1.13.3 and autoconf 2.69Gravatar Mike Burns2013-08-11
| | | | This is what is in Debian testing.
* Add -C for copying filesGravatar Mike Burns2013-08-05
| | | | | | | | | | | | | | Some files prefer to be copies instead of symlinks---for example, OpenSSH ignores symlinks. Add the `-C` option to mkrc(1) and rcup(1) to handle this. mkrc -C .ssh rcup -C ssh This does raise a synchronization problem that I do not yet know how to solve; namely, what to do when the rc file changes. Perhaps a `rcsync` command is in order; perhaps `rcup` should handle this; perhaps `rcsync` is a better name for `rcup`.
* Inclusionary patterns: -IGravatar Mike Burns2013-08-05
| | | | | | | | | | | The `-I` flag serves as an "undo" for the `-e` pattern. It overrides any matching exclusions, allowing for temporary listing/installation/removal. For example, if you want to try a `.pythonrc` but leave it in your `EXCLUDES` in rcrc(5), you can do: rcup -Ipythonrc pythonrc
* Introduce exclusion patternsGravatar Mike Burns2013-08-05
| | | | | | | | | | | | | | | | | | | The lsrc(1), rcup(1), and rcdn(1) commands now take any number of `-e` flags, used to specify an exclusion pattern. This can also be controlled via rcrc(5), the `EXCLUDES` variable. An exclusion pattern specifies a file glob to skip. In the case of lsrc(1), any file matching the glob is not listed; in rcup(1) it is not symlinked; and in rcdn(1) it is not removed. The file glob can be preceded by the name of a dotfiles directory (separated from the file glob by a colon) to increase the specificity. Useful for: rcdn -e rcrc rcup -d work-dotfiles -e bashrc rcup -d ~/.dotfiles -d wife-dotfiles -d sys-dotfiles -e wife-dotfiles:tigrc
* Some 1.0.0 cruftGravatar Mike Burns2013-08-03
| | | | I'll figure out `make release` someday.
* rcup -f and -iGravatar Mike Burns2013-08-03
| | | | | | | | | | | | Add the `-f` and `-i` options to rcup(1). `-f` will overwrite any file it doesn't recognize; `-i` will prompt each time, and is the default. For example: rm ~/.zshrc touch ~/.zshrc rcup -f # overwrite that .zshrc with the symlink rcup -i # prompt whether to overwrite that .zshrc
* Add rcdnGravatar Mike Burns2013-08-03
| | | | | | | | | | | | | | | This program will remove all your rc files that are symlinked. This can be further controlled by `-d` and `-t`. For example, you can feel comfortable trying new rc files because you can quickly remove them again with `-d`. rcup -d thoughtbot-dotfiles rcdn -d thoughtbot-dotfiles Likewise, when you're done with Python just drop it: rcdn -t python
* Add `mkrc -o` to install host-specific filesGravatar Mike Burns2013-08-02
| | | | | | | | To make it easier to manage host-specific rc files, `mkrc` now supports a `-o` option. This causes the specified file to be added to the host section named for the current machine. This option is in conflict with the `-t` option.
* Extra argument parsing into rcm.shGravatar Mike Burns2013-08-02
| | | | | | Pull the `-V`, `-v`, `-q`, `-t`, and `-d` out into the `handle_common_flags` and `handle_metadata_flags` functions, shared between the different programs.
* Add a release targetGravatar Mike Burns2013-08-01
| | | | | | | | | | | | | The `make release` command will build the Debian package, push the version to a git tag on GitHub, and upload the docs to GitHub pages. This also adds a `deb` target, along with `build-docs`, `upload-docs`, `build-tag`, and `push-tag`. In addition, introduce a `NEWS.md` file. Both `rcm.sh.in` and `NEWS.md.in` will act as input files. This is to abstract over the version number.
* Rebuild Makefile.in with automake 1.14v0.0.2Gravatar Mike Burns2013-08-01
| | | | | | The Makefile.in generated from automake 1.14 is backward compatible, but not forward compatible. This allows it to build on more systems, such as Arch and OS X.
* Wording improvements to rcm(7)Gravatar Mike Burns2013-08-01
| | | | | Again thanks to Rebecca Meritz (@rmeritz). The word I was looking for was, indeed, "empty".
* Incorporate final round of rcm(7) feedbackGravatar Mike Burns2013-08-01
| | | | | | | Some good suggestions from Rebecca Meritz (@rmeritz) again, including having the tag, host, and multiple dirs sections use enumerated lists like the quick start sections, and using the phrase "common problems" instead of "caveats".
* Re-write the tutorialGravatar Mike Burns2013-07-31
| | | | | | | | | | | | Thanks to Rebecca Meritz (@rmeritz) for feedback on rcm(7), I have restructured it and re-written the quick start section. Much of the details about the sync algorithm have moved into rcup(1). The new rcm(7) covers a quick start for those with existing directories, including caveats for `install` scripts, dotted filenames, and non-~/.dotfiles directory names; a quick start for those without anything; and motivating sections for "advanced" features like tags, host-specific files, and multiple directories.
* Re-write the manpages in mdocGravatar Mike Burns2013-07-28
| | | | | | Convert all the manpages to mdoc. This gives us access to the mdoc suite of tools, which includes HTML conversion, plus mdoc is a more expressable and natural format in general.
* Add tutorial-style documentation: rcm(7)Gravatar Mike Burns2013-07-28
| | | | | | Add a manpage with a tutorial, named `rcm`. This covers how to get started from nothing, how to convert an existing dotfiles directory, and why to use suite at all.
* Able to generate deb packagesGravatar Mike Burns2013-07-27
| | | | | | | | | The following command can generate a Debian package: debuild -us uc The directory structure and tarball must be perfectly set up first. This is documented in `DEVELOPERS.md`.
* Re-write using GNU autoconf and automakeGravatar Mike Burns2013-07-27
| | | | Replace the `Makefile` with a `configure.ac` and a set of `Makefile.am`.
* Flatten man and share directoriesGravatar Mike Burns2013-07-27
| | | | | The `man` and `share` directories in this project had an unnecessarily deeply nested structure. Flatten it.
* Add lsrcGravatar Mike Burns2013-07-12
| | | | | | | | | The `lsrc` command works just like the `rcup` command but instead of making symlinks and directories, it just lists all the files that would be symlinks. It prints the destination (e.g. `~/.foo`) and the source (`~/.dotfiles/foo`), separated by a colon. Re-write `rcup` in terms of `lsrc`.
* Support multiple source directoriesGravatar Mike Burns2013-07-09
| | | | | | | | | | | | | | | | | | | | | | | The `rcup` and `mkrc` commands now support multiple source directories. This is useful for sharing dotfiles between friends, spliting dotfiles into private and public ones, or other such situations. In `mkrc` this support means that you can specify the destination directory for your dotfile, either from the command-line or from you `~/.rcrc` configuration. In `rcup` this means that it will recur through all source directories, in order, creating the symlinks as needed. This means that duplicated files will not be overridden. The order can be specified by the `-d` option, which can be repeated, or by the `DOTFILES_DIRS` option in your `~/.rcrc` configuration. The `-d` option overrides the configuration. For example, this configuration file will update from the two directories in order: DOTFILES_DIRS="/home/mike/.dotfiles/public /home/mike/.dotfiles/private" Any source directories that don't exist are skipped.
* Introduce a manpage for rcrc(5)Gravatar Mike Burns2013-06-07
| | | | Document the `.rcrc` dotfile. So far it only supports `TAGS`.
* Minor manpage cleanup to rcup(1)Gravatar Mike Burns2013-06-07
| | | | Add an AUTHOR section and fix the NAME section header.
* Add a manpage for mkrc(1)Gravatar Mike Burns2013-06-07
| | | | Document mkrc(1), with its options, a description, and author.
* Add a manpage for rcup(1)Gravatar Mike Burns2013-06-07
A quick and unskilled manpage for rcup(1) with a synopsis, description, options, directory layout, and references to other manpages that I haven't written yet.