summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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.
* Document how to generate the gh-pagesGravatar Mike Burns2013-07-30
| | | | | The mdocml tools, specifically mandoc(1), are used to generate the gh-pages HTML docs. This documentation is now documented.
* 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.
* Alter the dotfiles dir with mkrcGravatar Mike Burns2013-07-27
| | | | | | | | | Bugfix: passing `-d` to `mkrc` previously did not make the symlink. This is now fixed. We have previously installed the file by calling `rcup`, but we never passed the `-d` flag to `rcup`. Instead, we `cd`ed. This changes it: no `cd`, pass the `-d` flag.
* Handle relative dotfiles directoriesGravatar Mike Burns2013-07-27
| | | | | | | | | | | | | | | The `lsrc` command (and thus the other commands, too) now supports passing a relative directory name to `-d`. Previously, this caused only the non-host and non-tag directories to run; now all dotfiles directories are run for all metafiles, too. As an example, this now works correctly: lsrc -d dotfiles This still works, too: lsrc -d /home/mike/dotfiles
* 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.
* Rename libexec to shareGravatar Mike Burns2013-07-23
| | | | | | The `/usr/local/libexec` standard looks awkward on Debian, so after careful and sad evaluation we've concluded that we do not, in fact, execute the `rcm.sh` library. Move it to `/usr/local/share` instead.
* Hide duplicatesGravatar Mike Burns2013-07-12
| | | | | | | | | | | | | | | | | | | | | | | | With multiple source directories it is possible to have duplicates. Consider these source directories, `a` and `b`: |-- a | |-- bar | `-- foo `-- b |-- baz `-- foo The goal is to have this: .bar -> a/bar .baz -> b/baz .foo -> a/foo Note the duplcate `foo` file. We now handle this, in `lsrc` and therefore in `rcup`. We do this by storing a `:`-separated string of destination files (e.g. `.foo`) and `grep`ing that string before we operate on any destination.
* Add an `uninstall` targetGravatar Mike Burns2013-07-12
| | | | This program can now be uninstalled using `make uninstall`.
* Stop ignoring Rakefile and installGravatar Mike Burns2013-07-12
| | | | | | | | | | Originally my installation script was a Ruby rake task, so I had to ignore the `Rakefile` when installing. Then I moved onto `install`, written on a trans-Atlantic flight, so I had to ignore that too. Now, ignore neither of these.
* 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`.
* Fix legacy naming: dotfiles-add -> mkrcGravatar Mike Burns2013-07-11
| | | | | | | The very original name of the `mkrc` script was `dotfiles-add`, and that name was still in the help text. Fixed. Pointed out by George Brocklehurst.
* Bump to 0.0.2Gravatar Mike Burns2013-07-09
|
* 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.
* Add version flag, -VGravatar Mike Burns2013-06-13
| | | | | | | Add a flag to print the package version: `-V`. This change also brings with it the libexec directory, so we can pull common code out.
* Rename DIRSTACK to DIR_STACKGravatar Mike Burns2013-06-11
| | | | | | | Some sysadmins mistakenly link `/bin/sh` to bash. Bash sets `DIRSTACK` and won't let you mutate it. This magical variable just so happens to be what I had named my directory stack variable in `popdir` and `pushdir`. Renaming it seems to fix it.
* Stop debugging on every mkrcGravatar Mike Burns2013-06-08
| | | | I had `set -x` on in mkrc. Now it's off. Whew.
* Make the full directory path during mkrcGravatar Mike Burns2013-06-08
| | | | | Previously mkrc would make sure the dotfiles and tag directories existed but ignore dot directories. Now it does all of that.
* Make directories in a way BSD understandsGravatar Mike Burns2013-06-08
| | | | | Instead of passing `-D` to `install`, pass `-d` to a separate call to `install`. This handles both BSD and GNU pretty OK.
* Fix the Makefile to mkdir as neededGravatar Mike Burns2013-06-08
| | | | When installing, make all directories as desired.
* Add a READMEGravatar Mike Burns2013-06-07
| | | | | Introduce a README to describe the project, installation, support, and license.
* Introduce a manpage for rcrc(5)Gravatar Mike Burns2013-06-07
| | | | Document the `.rcrc` dotfile. So far it only supports `TAGS`.
* Create destination directory during a mkrcGravatar Mike Burns2013-06-07
| | | | | Allow for creating new tags when making a new rc file using `mkrc`. If you pass `-t foo` and `tag-foo` doesn't exist, it first makes it exist.
* Bugfix: mkrc now uses rcupGravatar Mike Burns2013-06-07
| | | | mkrc previously hardcoded `./install`. Now it hardcodes `rcup`.
* 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.
* BSD licenseGravatar Mike Burns2013-06-07
| | | | | This software is licensed under the BSD 3-clause license. Copyright 2013.
* 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.
* Initial commitGravatar Mike Burns2013-06-07
This adds mkrc and rcup, along with a Makefile to handle installation. `rcup` is for installing files from the `~/.dotfiles` repo. It allows for tagged files and host-specific files, and can install/update one-off files. `mkrc` is for moving a normal file into the dotfiles repo.