Hi again Joey, On Sun, Nov 13, 2011 at 11:35 AM, Adam Spiers <vcs-h...@adamspiers.org> wrote: > Hi Joey et al., > > I've been doing a lot of work on my stow plug-in for mr, and in the > process have not only resurrected GNU stow from the dead (last release > was 2002) but also ended up doing quite a bit of work on mr itself > too. I've made a number of fixes to minor bugs, a few enhancements > (including the new --repos switch, for which I posted a preliminary > and somewhat broken patch to this list a week or 3 ago), and some > cosmetic changes. I'm not quite done yet, but I thought it would be > prudent to give you guys a heads up anyway. Hopefully most of the > patches are relatively uncontroversial, but I expect a few will > generate some discussion too. Anyway, if you want a sneak preview > then you can see the patch series here: > > https://github.com/aspiers/kitenet-mr/commits/master > > WARNING! This branch *will* get rebased regularly, so I strongly > recommend that you do not attempt to merge from it at this point > otherwise you will almost certainly run into issues. When I'm happy > that it's stabilised then I'll send another mail to the list.
I've made a lot of progress since this last mail, and I'm conscious that my branch is now approximately 50 commits ahead of the official master branch, so I think it's time to work on convergence if possible. Here's a summary of the main features of my branch: - A plug-in module for integration with the GNU Stow symlink manager, now well-tested and stable. I have recently become co-maintainer of GNU Stow, and its current git master branch and next official release contain enhancements which make it compatible with mr out-of-the-box. This makes tracking your $HOME dotfiles as easy as: [shell-config] checkout = git clone ... stowable = true and then if this repository contains (say) .bashrc, `mr checkout' will automatically create the symlink ~/.bashrc which points it. - A plug-in module which allows tar balls / zip files etc. to be downloaded, unpacked, and used as repositories with minimal effort, e.g. [foo] checkout = mr_download_checkout http://example.com/foo.tar.bz2 - Support for a --repos switch to filter repositories by name (and a corresponding optional special 'name' config parameter). - Refactored the STDOUT/STDERR output code in a way that supports multiple levels of verbosity from quiet (-q) to extremely verbose (-v6 - for developers only). - Added colored output, e.g. red for errors and yellow for warnings, skipped repositories etc. - Support for composite actions via the '_append' suffix, so that actions such as fixups can be constructed accumulatively from different files. - mr checkout only checks out lazy repositories if --repos is given. - A handy 'mrcd' zsh function and corresponding completion function. - A few minor bugfixes and other tweaks. As I said before, hopefully most of the patches are relatively uncontroversial, and virtually all of them should be self-explanatory as I have regularly squashed in order to keep each commit as a logical unit of a sensible size. But they may not all be to everyone's taste. Feedback very welcome! Thanks, Adam _______________________________________________ vcs-home mailing list vcs-home@lists.madduck.net http://lists.madduck.net/listinfo/vcs-home