Recent changes to this wiki:

auto-adding other remotes
diff --git a/doc/todo/scheme_for_managing_Forks.mdwn b/doc/todo/scheme_for_managing_Forks.mdwn
new file mode 100644
index 0000000..a36b881
--- /dev/null
+++ b/doc/todo/scheme_for_managing_Forks.mdwn
@@ -0,0 +1,7 @@
+My last feature request today, I promise!
+
+A workflow that is common for Github-style hosting sites is for there to be a canonical repo for a given software project, and for contributors to have a separate "fork" of that repository, to which they push changes. The changes are merged into the canonical repository by way of Pull Requests, an out-of-band process (from the pov of command line git).
+
+I've just cloned 27 github repositories that belong to a given organisation and I wish to configure an additional remote, corresponding to my github fork, for each repo. It would be nice if mr could facilitate this in an organised way; in  addition, repositories in this github organisation (or put it another way, in this part of my filesystem hierarchy) might come and go over time (see [[nicities when working with github and similar]]).
+
+-- [Jonathan Dowland](https://jmtd.net/)

feature request: move repositories
diff --git a/doc/todo/command_to_move_or_rename_repositories.mdwn b/doc/todo/command_to_move_or_rename_repositories.mdwn
new file mode 100644
index 0000000..c0d0784
--- /dev/null
+++ b/doc/todo/command_to_move_or_rename_repositories.mdwn
@@ -0,0 +1,5 @@
+It would be useful to be able to easily move or rename repositories, e.g.
+
+    mr move historicrepo old/historicrepo
+
+Updating the relevant mrconfig(s) accordingly. -- [Jonathan Dowland](https://jmtd.net/)

feature request: github/gh-style organisation tracking
diff --git a/doc/todo/nicities_when_working_with_github_and_similar.mdwn b/doc/todo/nicities_when_working_with_github_and_similar.mdwn
new file mode 100644
index 0000000..1b7762a
--- /dev/null
+++ b/doc/todo/nicities_when_working_with_github_and_similar.mdwn
@@ -0,0 +1 @@
+I am using `mr` to manage/track repositories for a team which uses one or more github Organisations. It would be nice if mr was able to notice when a new repository was added for a given github organisation, and automatically clone it / add it to the set of locally cloned/tracked repositories. I suppose it could associate a particular local directory path with an Organisation name. Likewise I suppose for other github-style things. I found this simple python script to list all repositories under an organisationhttps://gist.github.com/ralphbean/5733076 which uses a python module pygithub3, I'm guessing there's likely a REST API. -- [Jonathan Dowland](https://jmtd.net/)

bug report
diff --git a/doc/todo/mr_config_chained_repo_section_name_issue.mdwn b/doc/todo/mr_config_chained_repo_section_name_issue.mdwn
new file mode 100644
index 0000000..5bb4a45
--- /dev/null
+++ b/doc/todo/mr_config_chained_repo_section_name_issue.mdwn
@@ -0,0 +1,24 @@
+`mr config` has confusing behavior when used with chained mrconfig files.
+
+For example, I have ~/.mrconfig which defines a git-annex repository.
+And chains to ~/src/.mrconfig, which defines a git-annex repisoitory too.
+Those are separate repositories in different locations. But, if
+I run `mr config git-annex checkout`, it prints out the checkout
+actions for both repositories.
+
+Another example, my ~/.mrconfig defines a "." repository, which goes
+in my $HOME. If I run `mr config . checkout`, it prints out the checkout
+command for that repsitory, even when I'm in some other repository. Which
+is pretty confusing behavior!
+
+This might be especially bad when using mr config to change settings.
+I have not dared to try it.
+
+Looking at the code to `sub config`, it just iterates over each config
+and if it contains a section named like the basename of the repository,
+prints its config.
+
+To fix it, it seems that it would need to pay attention to where it's
+run. This would be a behavior change, and there's some chance it might
+break something.
+--[[Joey]]

more
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
index 1e63289..71dae59 100644
--- a/doc/todo/patches_from_pabs.mdwn
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -6,6 +6,7 @@ https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
 
 ```
 $ git log --oneline
+a0c46bd Fix home directory handling
 6afdd95 vis: pass arguments to the commands
 145454d webcheckout: consider https URLs to be anonymous too
 4154b26 Switch URLs from http to https where possible

one more commit
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
index 64da4bc..1e63289 100644
--- a/doc/todo/patches_from_pabs.mdwn
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -6,6 +6,7 @@ https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
 
 ```
 $ git log --oneline
+6afdd95 vis: pass arguments to the commands
 145454d webcheckout: consider https URLs to be anonymous too
 4154b26 Switch URLs from http to https where possible
 8c81c1d vis: fall back from GUI to terminal tools when no X11 display is available

more commits
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
index 81db4e9..64da4bc 100644
--- a/doc/todo/patches_from_pabs.mdwn
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -6,6 +6,9 @@ https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
 
 ```
 $ git log --oneline
+145454d webcheckout: consider https URLs to be anonymous too
+4154b26 Switch URLs from http to https where possible
+8c81c1d vis: fall back from GUI to terminal tools when no X11 display is available
 84583ce Pass -a to darcs fetch command
 0091d74 Update list of distro install commands
 692adf9 Replace Debian BTS link with myrepos/mr pages for many distros.

one more
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
index d57164d..81db4e9 100644
--- a/doc/todo/patches_from_pabs.mdwn
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -6,6 +6,7 @@ https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
 
 ```
 $ git log --oneline
+84583ce Pass -a to darcs fetch command
 0091d74 Update list of distro install commands
 692adf9 Replace Debian BTS link with myrepos/mr pages for many distros.
 cc24aa1 Cope with the transition from ack-grep to ack in Debian

update list of patches
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
index b5ccf0f..d57164d 100644
--- a/doc/todo/patches_from_pabs.mdwn
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -5,7 +5,9 @@ https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
 ```
 
 ```
-$ git log --oneline 
+$ git log --oneline
+0091d74 Update list of distro install commands
+692adf9 Replace Debian BTS link with myrepos/mr pages for many distros.
 cc24aa1 Cope with the transition from ack-grep to ack in Debian
 91def65 Ignore new debhelper cruft
 2e8aa85 Synchronise git_svn_status with git_status

add request to merge my patches
diff --git a/doc/todo/patches_from_pabs.mdwn b/doc/todo/patches_from_pabs.mdwn
new file mode 100644
index 0000000..b5ccf0f
--- /dev/null
+++ b/doc/todo/patches_from_pabs.mdwn
@@ -0,0 +1,14 @@
+Please merge the patches from the master branch of my repo:
+
+```
+https://anonscm.debian.org/cgit/users/pabs/myrepos.git/
+```
+
+```
+$ git log --oneline 
+cc24aa1 Cope with the transition from ack-grep to ack in Debian
+91def65 Ignore new debhelper cruft
+2e8aa85 Synchronise git_svn_status with git_status
+9e740ff Ignore the return value from grep and ack-grep subcommands.
+cabc3e2 Erase to the end of the line when exiting
+```

add gentoo install instructions
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 66bb6cc..edfb05d 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -5,3 +5,4 @@ It's a simple perl script, which can be copied anywhere to install.
 Debian: `apt-get install myrepos`  
 Homebrew: `brew install mr`  
 FreeBSD: `pkg install myrepos`  
+Gentoo: `emerge dev-vcs/mr`

the github mirror has been removed due to their horrible new anti-GPL TOS
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 0599b71..66bb6cc 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -1,5 +1,4 @@
 `git clone git://myrepos.branchable.com/ myrepos`  
-Or get it [from github](https://github.com/joeyh/myrepos).
 
 It's a simple perl script, which can be copied anywhere to install.
 

comment
diff --git a/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers/comment_1_626017f1808b990bceda431ed3a75284._comment b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers/comment_1_626017f1808b990bceda431ed3a75284._comment
new file mode 100644
index 0000000..afce0e3
--- /dev/null
+++ b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers/comment_1_626017f1808b990bceda431ed3a75284._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2017-01-31T15:11:08Z"
+ content="""
+This website is a wiki, so you can edit the main page, add a link to a new
+page listing myrepos addons. I agree this would be a good idea; don't think
+I heard of mr-drupal before.
+"""]]

diff --git a/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn
index 1a7bbce..b62a14d 100644
--- a/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn
+++ b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn
@@ -1,4 +1,4 @@
-4 years ago, I created https://github.com/wimleers/mr-drupal. It still works great. I wrote about it at http://wimleers.com/article/mr-drupal.
+4 years ago, I created <https://github.com/wimleers/mr-drupal>. It still works great. I wrote about it at <http://wimleers.com/article/mr-drupal>.
 
 But this is very hard to discover.
 

diff --git a/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn
new file mode 100644
index 0000000..1a7bbce
--- /dev/null
+++ b/doc/todo/Discoverability_of_mr_VCS_types__47__modules__47__handlers.mdwn
@@ -0,0 +1,7 @@
+4 years ago, I created https://github.com/wimleers/mr-drupal. It still works great. I wrote about it at http://wimleers.com/article/mr-drupal.
+
+But this is very hard to discover.
+
+I wonder what other great additions I'm missing out on? If the canonical `myrepos` repo + website would list contributions/extensions, that'd IMHO greatly enhance the ecosystem!
+
+P.S.: thanks again for this excellent tool. A happy user for 4 years now.

Added a comment
diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_3_2c82a7a0cd5b4d0a155bdcca0955a64a._comment b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_3_2c82a7a0cd5b4d0a155bdcca0955a64a._comment
new file mode 100644
index 0000000..c45d6bf
--- /dev/null
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_3_2c82a7a0cd5b4d0a155bdcca0955a64a._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="work@2755f4a6f2444f511295fe4cbe38b246105ca833"
+ nickname="work"
+ avatar="http://cdn.libravatar.org/avatar/d0d17378b21f669a28ac7ea4013091f7"
+ subject="comment 3"
+ date="2017-01-29T23:11:17Z"
+ content="""
+> Just make fixups commands be run after all repositories are updated, instead of the current behavior of running them when the repository that defines them is updated.
+
+This is honestly exactly how I thought it was meant to work when I started using `mr`. It's always been confusing to me that it doesn't work this way. So, insofar voting is relevant: +1 :)
+"""]]

add news item for myrepos 1.20170129
diff --git a/doc/news/version_1.20141023.mdwn b/doc/news/version_1.20141023.mdwn
deleted file mode 100644
index 4664ce1..0000000
--- a/doc/news/version_1.20141023.mdwn
+++ /dev/null
@@ -1,6 +0,0 @@
-myrepos 1.20141023 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Add darcs grep command using ack-grep.
-     Thanks, Paul Wise.
-   * Add a clean command.
-     Thanks, Paul Wise. Closes: #[702685](http://bugs.debian.org/702685)"""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20170129.mdwn b/doc/news/version_1.20170129.mdwn
new file mode 100644
index 0000000..e4713a1
--- /dev/null
+++ b/doc/news/version_1.20170129.mdwn
@@ -0,0 +1,12 @@
+myrepos 1.20170129 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Strip .git extension when registering vsch repositories.
+     Thanks, Don March
+   * Disable git pager when mr status runs git stash list.
+   * Added stow library. This lets dotfiles in repositories managed by mr
+     be symlinked into the home directory by GNU stow.
+     Thanks, Sean Whitton and Adam Spiers.
+   * cvs\_status: do not fail when all files are up to date.
+     Thanks, Paul Wise.
+   * Added dgit plugin.
+     Thanks, Sean Whitton."""]]
\ No newline at end of file

merged
diff --git a/doc/todo/updates_to_stow_lib.mdwn b/doc/todo/updates_to_stow_lib.mdwn
index f8af00c..c554bdf 100644
--- a/doc/todo/updates_to_stow_lib.mdwn
+++ b/doc/todo/updates_to_stow_lib.mdwn
@@ -7,3 +7,5 @@ Changes:
 * minor doc tweaks
 
 --spwhitton
+
+> merged [[done]] --[[Joey]]

Added dgit plugin. Thanks, Sean Whitton.
diff --git a/debian/changelog b/debian/changelog
index c6ee061..c6a4ab0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ myrepos (1.20160123) UNRELEASED; urgency=medium
     Thanks, Sean Whitton and Adam Spiers.
   * cvs_status: do not fail when all files are up to date.
     Thanks, Paul Wise.
+  * Added dgit plugin.
+    Thanks, Sean Whitton.
 
  -- Joey Hess <id@joeyh.name>  Sat, 02 Apr 2016 15:10:58 -0400
 
diff --git a/doc/todo/dgit_plugin.mdwn b/doc/todo/dgit_plugin.mdwn
index 84cdb72..a6b03fc 100644
--- a/doc/todo/dgit_plugin.mdwn
+++ b/doc/todo/dgit_plugin.mdwn
@@ -3,3 +3,5 @@ Please consider merging branch `dgit` of repo `https://git.spwhitton.name/myrepo
 Adds a new plugin to make life easier for dgit users.  Please see comments in the file for info about some of the design choices.
 
 --spwhitton
+
+> merged [[done]] --[[Joey]]

remove flattr button
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 7497aad..e0b28bf 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -83,5 +83,4 @@ Some more examples of things it can do include:
 [[!sidebar content="""
 [[install]]  
 [[todo]]  
-<a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>  
 """]]

submit dgit lib merge request
diff --git a/doc/todo/dgit_plugin.mdwn b/doc/todo/dgit_plugin.mdwn
new file mode 100644
index 0000000..84cdb72
--- /dev/null
+++ b/doc/todo/dgit_plugin.mdwn
@@ -0,0 +1,5 @@
+Please consider merging branch `dgit` of repo `https://git.spwhitton.name/myrepos`
+
+Adds a new plugin to make life easier for dgit users.  Please see comments in the file for info about some of the design choices.
+
+--spwhitton

submit merge request
diff --git a/doc/todo/updates_to_stow_lib.mdwn b/doc/todo/updates_to_stow_lib.mdwn
new file mode 100644
index 0000000..f8af00c
--- /dev/null
+++ b/doc/todo/updates_to_stow_lib.mdwn
@@ -0,0 +1,9 @@
+Please consider merging branch `stow-lib` of repo `https://git.spwhitton.name/myrepos`.
+
+Changes:
+
+* drastically simplify lib & workflow docs using stow's `--adopt` mode -- removes lots of shell code
+* fix usage when $HOME contains unresolved symlinks
+* minor doc tweaks
+
+--spwhitton

diff --git a/doc/todo/repository_tags.mdwn b/doc/todo/repository_tags.mdwn
new file mode 100644
index 0000000..491641c
--- /dev/null
+++ b/doc/todo/repository_tags.mdwn
@@ -0,0 +1 @@
+It would be nice to be able to tag repositories and then have commands only apply to some subset of them. For example, some repos might be built with Python's setup.py while others with plain make. It'd be nice to be able to mark commands as only making sense for certain tags.

Added a comment: Overwriting cvs_status failed
diff --git a/doc/todo/CVS_status_shortened_too_much/comment_3_b3e6644ee3a1712681269a2802175858._comment b/doc/todo/CVS_status_shortened_too_much/comment_3_b3e6644ee3a1712681269a2802175858._comment
new file mode 100644
index 0000000..ce6f175
--- /dev/null
+++ b/doc/todo/CVS_status_shortened_too_much/comment_3_b3e6644ee3a1712681269a2802175858._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="HBBroeker@7b8f56781fb3120ee02aa80d45117f3a3c4b162f"
+ nickname="HBBroeker"
+ avatar="http://cdn.libravatar.org/avatar/68dceeadd8964493ad730b8dba6cc4a1"
+ subject="Overwriting cvs_status failed"
+ date="2016-11-02T21:57:44Z"
+ content="""
+As per your suggestion, I did try to override the \"cvs_status\" in my ~/.mrconfig, but
+
+    mr config DEFAULT cvs_status='cvs -n -q update'
+
+had no noticeable effect.  \"mr status\" after this still uses the command in the \"mr\" script instead of my own one.
+"""]]

Added a comment: An easier approach
diff --git a/doc/todo/CVS_status_shortened_too_much/comment_2_e1e49339e2972147bc79ea4727bfae26._comment b/doc/todo/CVS_status_shortened_too_much/comment_2_e1e49339e2972147bc79ea4727bfae26._comment
new file mode 100644
index 0000000..cb2fc00
--- /dev/null
+++ b/doc/todo/CVS_status_shortened_too_much/comment_2_e1e49339e2972147bc79ea4727bfae26._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="HBBroeker@7b8f56781fb3120ee02aa80d45117f3a3c4b162f"
+ nickname="HBBroeker"
+ avatar="http://cdn.libravatar.org/avatar/68dceeadd8964493ad730b8dba6cc4a1"
+ subject="An easier approach "
+ date="2016-11-02T21:23:40Z"
+ content="""
+I hadn't really looked at the inner workings of myrepos before.
+
+Well, now that I did, I see the core issue is one level further down: you're actually using \"cvs status\".  Don't :-)
+
+The idiom to get the kind of output \"mr status\" wants is actually
+
+> cvs -nq up
+"""]]

comment
diff --git a/doc/todo/CVS_status_shortened_too_much/comment_1_863c26433522879e811a6ab96f3ad4ab._comment b/doc/todo/CVS_status_shortened_too_much/comment_1_863c26433522879e811a6ab96f3ad4ab._comment
new file mode 100644
index 0000000..0b220ea
--- /dev/null
+++ b/doc/todo/CVS_status_shortened_too_much/comment_1_863c26433522879e811a6ab96f3ad4ab._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2016-11-02T19:02:18Z"
+ content="""
+Patches accepted.
+
+Although given the cvs status output does not include the directory at all,
+except for in some lines output to stderr, which would mean parsing stderr
+and combining it with the filenames in stdout to get actual filenames ...
+It would be quite a complicated patch.
+
+Of course you can also override `cvs_status` in  your own `.mrconfig`
+"""]]

diff --git a/doc/todo/CVS_status_shortened_too_much.mdwn b/doc/todo/CVS_status_shortened_too_much.mdwn
new file mode 100644
index 0000000..d042843
--- /dev/null
+++ b/doc/todo/CVS_status_shortened_too_much.mdwn
@@ -0,0 +1,11 @@
+Yeah, I know, CVS is ancient, and clunky and should no longer be used...  but it is, and myrepos does support it, so here we are.
+
+'mr status' removes all non-directory elements of a locally modified file's name.  As can be seen in
+this little excerpt from a local sandbox here, that's not terribly helpful:
+
+File: Makefile          Status: Locally Modified
+File: Makefile          Status: Locally Modified
+File: Makefile          Status: Locally Modified
+File: Makefile.am       Status: Locally Modified
+
+Aha, so 3 out of 66 files named 'Makefile' are modified. 

Added a comment: fixups commands
diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_2_1fe178f2e951f680a23bb52cb90127b5._comment b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_2_1fe178f2e951f680a23bb52cb90127b5._comment
new file mode 100644
index 0000000..e52e0ba
--- /dev/null
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_2_1fe178f2e951f680a23bb52cb90127b5._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="tom@6463e5ce4c0e478cb7583fb37288d6954e17bfc6"
+ nickname="tom"
+ avatar="http://cdn.libravatar.org/avatar/a39876f3fdeb0295ec9258bbb1b37f88"
+ subject="fixups commands"
+ date="2016-10-13T22:37:19Z"
+ content="""
+After thinking about your comment suggesting the simplest way might be to run all fixups at the end, it occurred to me that for some it might be important to keep the fixups where they are. I can't think of a specific example offhand, but might there not be a time that cloning a repository, and executing its fixups, be a prerequisite before cloning another repository? Like I mentioned, I can't think of a specific example right now; however, I'm sure someone can think of something. :-)
+
+A quick fix for the way we're both using the dummy target might be to simply create a reserved 'order' value (e.g \"order = 99\" or \"order = last\") that is is broken out of the repo list and kept until last. I can barely make out what's happening when I try to read perl, but maybe the target containing the reserved 'order' value could be processed immediately after completion of the 'while' loop contained within the 'mrs' subroutine? (I hope that made sense)
+
+Long-term, I see the value of keeping the original intent of 'order' (i.e. make a dependent repository be processed after another). Now that I know what's happening, I've revised my .mrconfig to eliminate the need for the 'final' fixups. If I ever need it again, I can always run with jobs=1.
+
+"""]]

diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
index bcd5b55..30c93e3 100644
--- a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
@@ -22,6 +22,3 @@ order = 25
 
 Please revise **mr** to respect the **order** setting, even if **jobs** is set to a number greater than **1**.
 
------------------------------------
-
-# NOTE: I am not able to view your comment on this page using the site https://myrepos.branchable.com--I just happened to notice a new commit at https://github.com/joeyh/myrepos/commits/master. I wasn't able to add another comment here, either (I had to edit my original comment).

fixed
diff --git a/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn b/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn
index 28e6bef..0b704cb 100644
--- a/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn
+++ b/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn
@@ -1 +1,3 @@
 When a new todo item is created on the myrepos "todo" list (here on branchable), none of the comments are viewable. I only noticed you commented on my [post](http://myrepos.branchable.com/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/) when I saw a [new commit](https://github.com/joeyh/myrepos/commits/master). I wasn't able to add another comment there, either (I edited my original comment to try to let you know, but I'm guessing you weren't notified). I'm not the only one who has seen this issue--please see the statement in the last line of this [item](http://myrepos.branchable.com/todo/add-all-git-remotes/).
+
+[[done]]
diff --git a/doc/todo/comments_are_not_displayed_on_todo_list_items/comment_1_d4dcfe4a7318ed0461e338eb5074f9b4._comment b/doc/todo/comments_are_not_displayed_on_todo_list_items/comment_1_d4dcfe4a7318ed0461e338eb5074f9b4._comment
new file mode 100644
index 0000000..025c38a
--- /dev/null
+++ b/doc/todo/comments_are_not_displayed_on_todo_list_items/comment_1_d4dcfe4a7318ed0461e338eb5074f9b4._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2016-10-13T16:47:34Z"
+ content="""
+Changed the website config to allow comments on these pages now.
+"""]]

diff --git a/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn b/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn
new file mode 100644
index 0000000..28e6bef
--- /dev/null
+++ b/doc/todo/comments_are_not_displayed_on_todo_list_items.mdwn
@@ -0,0 +1 @@
+When a new todo item is created on the myrepos "todo" list (here on branchable), none of the comments are viewable. I only noticed you commented on my [post](http://myrepos.branchable.com/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/) when I saw a [new commit](https://github.com/joeyh/myrepos/commits/master). I wasn't able to add another comment there, either (I edited my original comment to try to let you know, but I'm guessing you weren't notified). I'm not the only one who has seen this issue--please see the statement in the last line of this [item](http://myrepos.branchable.com/todo/add-all-git-remotes/).

diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
index 30c93e3..bcd5b55 100644
--- a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
@@ -22,3 +22,6 @@ order = 25
 
 Please revise **mr** to respect the **order** setting, even if **jobs** is set to a number greater than **1**.
 
+-----------------------------------
+
+# NOTE: I am not able to view your comment on this page using the site https://myrepos.branchable.com--I just happened to notice a new commit at https://github.com/joeyh/myrepos/commits/master. I wasn't able to add another comment here, either (I had to edit my original comment).

comment
diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_1_b25c104467d054d42ea1a25fec79930f._comment b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_1_b25c104467d054d42ea1a25fec79930f._comment
new file mode 100644
index 0000000..1ab2b02
--- /dev/null
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1/comment_1_b25c104467d054d42ea1a25fec79930f._comment
@@ -0,0 +1,33 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2016-10-01T23:04:02Z"
+ content="""
+`order` is still honored with --jobs, in that the repos are processed in
+order. It's just that the concurrent processing doesn't guarantee a low
+order repository will be done being processed by the time a higher order
+repository starts being processed (or even finishes).
+
+It would of course be possible to stall the concurrent processing to
+guarantee that.
+
+I think there are probably two ways `order` might be used:
+
+1. To make a dependant repository be processed after another one. I use it
+   this way myself. Broken by --jobs.
+2. To eg, sort more expensive or less important repositories later. For
+   example, I used to keep a clone of the linux git repo, but it's very
+   large and so I'd rather it not be processed until most everything else is
+   done, especially if running with --jobs 1 in a low bandwidth setting --
+   but if I used --jobs 2, I'd not care if the second to last repo and the
+   linux repo updated concurrently.
+
+These are both valid; might be better to keep order as it is to handle #2,
+and add a more formal dependency mechanism for #1. 
+
+The use of a dummy target to run a `fixups` at the end of the update, which
+is what we're both using `order` for suggests a simpler approach: Just make
+fixups commands be run after all repositories are updated, instead of the
+current behavior of running them when the repository that defines them is
+updated.
+"""]]

diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
index bcc6bcd..30c93e3 100644
--- a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
@@ -13,7 +13,7 @@ order = 25
 1. After adding the above section to my .mrconfig, I received the following error message when executing `mr up`: 
 > **mr update: unknown repository type and no defined update command for /Users/tom/tmp**  
 >  
-> This was easily resolved by adding `update = :` to the [tmp] section.
+> This was easily resolved by adding `update = :` to the [tmp] section. [git repository containing proposed change](https://github.com/tomhoover/myrepos/tree/dummy-target).
 
 2. I now discovered that the [tmp] target was not being executed after all other targets (as the `order = 25` should have required). NOTE: none of my other targets have an **order** setting of greater than **15**.
 > I normally have `jobs = 5` set in my .mrconfig file--changing this to `jobs = 1` resulted in the desired behavior.  

diff --git a/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
new file mode 100644
index 0000000..bcc6bcd
--- /dev/null
+++ b/doc/todo/config___39__order__39___is_ignored_when___39__jobs__39_____62__1.mdwn
@@ -0,0 +1,24 @@
+I'm attempting to implement a *dummy* target as illustrated in [mrconfig.complex](https://github.com/joeyh/myrepos/blob/master/mrconfig.complex) to run fixups after all updates have been completed:
+
+```
+[tmp]
+# This is a dummy target, all it does is run fixups at the end of
+# an update.
+fixups = $HOME/bin/fixups
+checkout = mkdir -p $HOME/tmp
+status = :
+order = 25
+```
+
+1. After adding the above section to my .mrconfig, I received the following error message when executing `mr up`: 
+> **mr update: unknown repository type and no defined update command for /Users/tom/tmp**  
+>  
+> This was easily resolved by adding `update = :` to the [tmp] section.
+
+2. I now discovered that the [tmp] target was not being executed after all other targets (as the `order = 25` should have required). NOTE: none of my other targets have an **order** setting of greater than **15**.
+> I normally have `jobs = 5` set in my .mrconfig file--changing this to `jobs = 1` resulted in the desired behavior.  
+
+**Enhancement Request:**
+
+Please revise **mr** to respect the **order** setting, even if **jobs** is set to a number greater than **1**.
+

Update version to address the review
diff --git a/doc/todo/add-all-git-remotes.mdwn b/doc/todo/add-all-git-remotes.mdwn
index 3a5efed..1a8eafc 100644
--- a/doc/todo/add-all-git-remotes.mdwn
+++ b/doc/todo/add-all-git-remotes.mdwn
@@ -56,3 +56,61 @@ index ad75aa7..a1a1c21 100755
 -- 
 2.1.4
 ```
+
+Thanks for the friendly review Joey.
+
+Here is the updated version with the comment addressed:
+
+```
+From 693d0c96333581bd83b5e5074b43729b415ae5b1 Mon Sep 17 00:00:00 2001
+From: Daniele Pizzolli <dan@toel.it>
+Date: Sun, 29 May 2016 10:51:05 +0200
+Subject: [PATCH] mr register take care of all git remotes
+
+---
+ mr | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/mr b/mr
+index ad75aa7..c221ca8 100755
+--- a/mr
++++ b/mr
+@@ -2225,12 +2225,32 @@ svn_register =
+        echo "Registering svn url: $url in $MR_CONFIG"
+        mr -c "$MR_CONFIG" config "`pwd`" checkout="svn co '$url' '$MR_REPO'"
+ git_register = 
++       # NOTE: we assume the presence of a origin, even that can
++       # not be the case (for example if origin was renamed).
++       # Dealing with such edge use case is too cumbersome.
+        url="`LC_ALL=C git config --get remote.origin.url`" || true
+        if [ -z "$url" ]; then
+                error "cannot determine git url"
+        fi
+        echo "Registering git url: $url in $MR_CONFIG"
+        mr -c "$MR_CONFIG" config "`pwd`" checkout="git clone '$url' '$MR_REPO'"
++       get_remotes() {
++       # NOTE: Since only git >= 2.7.0 supports "remote get-url", we wrangle
++       # with git config and sed
++       LC_ALL=C git config --get-regexp '^remote\..*\.url$' | sed 's:^remote\.\(.*\)\.url \(.*\):\1 \2:' | while read remote url; do
++               if [ "origin" != "${remote}" ]; then
++                        echo "Adding remote ${remote} with git url: $url in $MR_CONFIG" >&2
++                        printf "%s" " && git remote add '$remote' '$url'"
++               fi
++       done
++       }
++       ADDITIONAL_REMOTES="$(get_remotes)"
++       if [ -n "${ADDITIONAL_REMOTES}" ]; then
++               WRAP_REMOTES=" && cd '$MR_REPO'"
++               WRAP_REMOTES="${WRAP_REMOTES}${ADDITIONAL_REMOTES}"
++               WRAP_REMOTES="${WRAP_REMOTES} && git fetch --all"
++               mr -c "$MR_CONFIG" config "`pwd`" checkout="git clone '$url' '$MR_REPO'${WRAP_REMOTES}"
++       fi
+ bzr_register =
+        url="`LC_ALL=C bzr info . | egrep -i 'checkout of branch|parent branch' | awk '{print $NF}' | head -n 1`"
+        if [ -z "$url" ]; then
+-- 
+2.8.1
+```
+
+PS: I am not able to see (or add) the comments in this page using the site <https://myrepos.branchable.com>,
+instead I have to switch to <http://source.myrepos.branchable.com>.

comment
diff --git a/doc/todo/add-all-git-remotes/comment_1_7025247e6ae402b861db7194b6c24698._comment b/doc/todo/add-all-git-remotes/comment_1_7025247e6ae402b861db7194b6c24698._comment
new file mode 100644
index 0000000..a30c2cb
--- /dev/null
+++ b/doc/todo/add-all-git-remotes/comment_1_7025247e6ae402b861db7194b6c24698._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2016-05-29T20:02:46Z"
+ content="""
+I like this idea, and it seems fine to change the default `mr register`
+behavior like this.
+
+The TODOs need to be dealt with or removed before I can merge it.
+Git remote names *are* allowed to contain ".", altough they cannot start
+with it.
+"""]]

merge request to support git additional remotes
diff --git a/doc/todo/add-all-git-remotes.mdwn b/doc/todo/add-all-git-remotes.mdwn
new file mode 100644
index 0000000..3a5efed
--- /dev/null
+++ b/doc/todo/add-all-git-remotes.mdwn
@@ -0,0 +1,58 @@
+Apply this patch to add all git remotes with register.
+
+Let me know if there are strict testing or coding standard to
+conform to.
+
+Thanks and Best,
+Daniele
+
+
+```
+From 46971cbb17f4c02a281c18ff9fbbf6976c4a5a91 Mon Sep 17 00:00:00 2001
+From: Daniele Pizzolli <dan@toel.it>
+Date: Sun, 29 May 2016 10:51:05 +0200
+Subject: [PATCH] mr register take care of all git remotes
+
+---
+ mr | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/mr b/mr
+index ad75aa7..a1a1c21 100755
+--- a/mr
++++ b/mr
+@@ -2225,12 +2225,31 @@ svn_register =
+ 	echo "Registering svn url: $url in $MR_CONFIG"
+ 	mr -c "$MR_CONFIG" config "`pwd`" checkout="svn co '$url' '$MR_REPO'"
+ git_register = 
++	# TODO: do not assume origin as the only valid name
+ 	url="`LC_ALL=C git config --get remote.origin.url`" || true
+ 	if [ -z "$url" ]; then
+ 		error "cannot determine git url"
+ 	fi
+ 	echo "Registering git url: $url in $MR_CONFIG"
+ 	mr -c "$MR_CONFIG" config "`pwd`" checkout="git clone '$url' '$MR_REPO'"
++	get_remotes() {
++	LC_ALL=C git config --get-regexp 'remote.*.url' | sed 's:^remote.\([^.]*\).url \(.*\):\1 \2:' | while read remote url; do
++		# TODO: verify the assumption that remotes does not contain .
++		# TODO: verify the assumption that the remote url is correctly escaped
++		if [ "origin" != "${remote}" ]; then
++			 echo "Adding remote ${remote} with git url: $url in $MR_CONFIG" >&2
++			 printf "%s" "&& git remote add '$remote' '$url'"
++		fi
++	done
++	}
++	ADDITIONAL_REMOTES="$(get_remotes)"
++	if [ -n "${ADDITIONAL_REMOTES}" ]; then
++		WRAP_REMOTES="&& cd '$MR_REPO'"
++		WRAP_REMOTES="${WRAP_REMOTES} ${ADDITIONAL_REMOTES}"
++		WRAP_REMOTES="${WRAP_REMOTES} && git fetch --all"
++		mr -c "$MR_CONFIG" config "`pwd`" checkout="git clone '$url' '$MR_REPO' ${WRAP_REMOTES}"
++	fi
++
+ bzr_register =
+ 	url="`LC_ALL=C bzr info . | egrep -i 'checkout of branch|parent branch' | awk '{print $NF}' | head -n 1`"
+ 	if [ -z "$url" ]; then
+-- 
+2.1.4
+```

Added stow library. This lets dotfiles in repositories managed by mr be symlinked into the home directory by GNU stow.
Thanks, Sean Whitton and Adam Spiers.
diff --git a/debian/changelog b/debian/changelog
index 58b013c..68d09cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ myrepos (1.20160123) UNRELEASED; urgency=medium
   * Strip .git extension when registering vsch repositories.
     Thanks, Don March
   * Disable git pager when mr status runs git stash list.
+  * Added stow library. This lets dotfiles in repositories managed by mr
+    be symlinked into the home directory by GNU stow.
+    Thanks, Sean Whitton and Adam Spiers.
 
  -- Joey Hess <id@joeyh.name>  Sat, 02 Apr 2016 15:10:58 -0400
 
diff --git a/doc/todo/merge_request:_stow_library.mdwn b/doc/todo/merge_request:_stow_library.mdwn
index daa7362..89356f1 100644
--- a/doc/todo/merge_request:_stow_library.mdwn
+++ b/doc/todo/merge_request:_stow_library.mdwn
@@ -1,3 +1,5 @@
 Please consider merging branch `stow-lib` of repo `https://git.spwhitton.name/myrepos`.  This branch adds `/usr/share/mr/stow`, a library to use GNU Stow to manage dotfiles stored in repos managed with mr.
 
 This library was originally written by Adam Spiers, but his version required changes to mainline mr which Joey wasn't willing to merge.  I have reworked the library so that it doesn't require any changes to mainline mr.  I have also added some other useful commands and improved the documentation.  I believe it is now suitable to be included in mr.  --[[spwhitton|https://spwhitton.name]]
+
+> [[merged|done]]. Thanks Sean and Adam! --[[Joey]]
diff --git a/lib/stow b/lib/stow
index 5c776a9..85133e1 100644
--- a/lib/stow
+++ b/lib/stow
@@ -1,8 +1,8 @@
 # Plug-in to use GNU Stow to manage symlinks whose targets lie in a
 # repository managed with myrepos
 #
-# The standard use case is for managing dotfiles inside one's home
-# directory.
+# The standard use case is for managing symlinks to dotfiles 
+# inside one's home directory.
 #
 # Original author (2011):
 # Adam Spiers <mr@adamspiers.org>

merge request
diff --git a/doc/todo/merge_request:_stow_library.mdwn b/doc/todo/merge_request:_stow_library.mdwn
new file mode 100644
index 0000000..daa7362
--- /dev/null
+++ b/doc/todo/merge_request:_stow_library.mdwn
@@ -0,0 +1,3 @@
+Please consider merging branch `stow-lib` of repo `https://git.spwhitton.name/myrepos`.  This branch adds `/usr/share/mr/stow`, a library to use GNU Stow to manage dotfiles stored in repos managed with mr.
+
+This library was originally written by Adam Spiers, but his version required changes to mainline mr which Joey wasn't willing to merge.  I have reworked the library so that it doesn't require any changes to mainline mr.  I have also added some other useful commands and improved the documentation.  I believe it is now suitable to be included in mr.  --[[spwhitton|https://spwhitton.name]]

Disable git pager when mr status runs git stash list.
diff --git a/debian/changelog b/debian/changelog
index 4a21f37..58b013c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ myrepos (1.20160123) UNRELEASED; urgency=medium
 
   * Strip .git extension when registering vsch repositories.
     Thanks, Don March
+  * Disable git pager when mr status runs git stash list.
 
  -- Joey Hess <id@joeyh.name>  Sat, 02 Apr 2016 15:10:58 -0400
 
diff --git a/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
index f103164..02b1e36 100644
--- a/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
+++ b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
@@ -15,3 +15,5 @@ index 0c95bc6..33f65df 100755
  cvs_status = cvs -q status | grep -E '^(File:.*Status:|\?)' | grep -v 'Status: Up-to-date'
  hg_status  = hg status "$@"; hg summary --quiet | grep -v 'parent: 0:'
 ```
+
+> [[fixed|done]] --[[Joey]]
diff --git a/mr b/mr
index 393330b..ad75aa7 100755
--- a/mr
+++ b/mr
@@ -2139,7 +2139,7 @@ vcsh_clean =
 	fi
 
 svn_status = svn status "$@"
-git_status = git status -s "$@" || true; git --no-pager log --branches --not --remotes --simplify-by-decoration --decorate --oneline || true; git stash list
+git_status = git status -s "$@" || true; git --no-pager log --branches --not --remotes --simplify-by-decoration --decorate --oneline || true; git --no-pager stash list
 bzr_status = bzr status --short "$@"; bzr missing
 cvs_status = cvs -q status | grep -E '^(File:.*Status:|\?)' | grep -v 'Status: Up-to-date'
 hg_status  = hg status "$@"; hg summary --quiet | grep -v 'parent: 0:'

diff --git a/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
index 300c1c1..f103164 100644
--- a/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
+++ b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
@@ -1,4 +1,5 @@
 If a Git repository contains stashes, `mr status` currently stops and waits for user interaction if the pager is enabled in Git configuration (which is the default on many setups). This change disables the pager when calling `git stash list`:
+
 ```
 diff --git a/mr b/mr
 index 0c95bc6..33f65df 100755

diff --git a/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
new file mode 100644
index 0000000..300c1c1
--- /dev/null
+++ b/doc/todo/Prevent_use_of_pager_in___96__mr_status__96___for_git.mdwn
@@ -0,0 +1,16 @@
+If a Git repository contains stashes, `mr status` currently stops and waits for user interaction if the pager is enabled in Git configuration (which is the default on many setups). This change disables the pager when calling `git stash list`:
+```
+diff --git a/mr b/mr
+index 0c95bc6..33f65df 100755
+--- a/mr
++++ b/mr
+@@ -2135,7 +2135,7 @@ vcsh_clean =
+        fi
+ 
+ svn_status = svn status "$@"
+-git_status = git status -s "$@" || true; git --no-pager log --branches --not --remotes --simplify-by-decoration --decorate --oneline || true; git stash list
++git_status = git status -s "$@" || true; git --no-pager log --branches --not --remotes --simplify-by-decoration --decorate --oneline || true; git --no-pager stash list
+ bzr_status = bzr status --short "$@"; bzr missing
+ cvs_status = cvs -q status | grep -E '^(File:.*Status:|\?)' | grep -v 'Status: Up-to-date'
+ hg_status  = hg status "$@"; hg summary --quiet | grep -v 'parent: 0:'
+```

add news item for myrepos 1.20160122
diff --git a/doc/news/version_1.20140831.1.mdwn b/doc/news/version_1.20140831.1.mdwn
deleted file mode 100644
index fd60ab5..0000000
--- a/doc/news/version_1.20140831.1.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-myrepos 1.20140831.1 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Fix breakage introduced by --minimal patch."""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20160122.mdwn b/doc/news/version_1.20160122.mdwn
new file mode 100644
index 0000000..b1b5571
--- /dev/null
+++ b/doc/news/version_1.20160122.mdwn
@@ -0,0 +1,4 @@
+myrepos 1.20160122 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Fix one missing call to safe\_abs\_path.
+     Thanks, Chris Arndt"""]]
\ No newline at end of file

add freebsd
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 7e27528..0599b71 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -3,5 +3,6 @@ Or get it [from github](https://github.com/joeyh/myrepos).
 
 It's a simple perl script, which can be copied anywhere to install.
 
-Myrepos is included in all recent versions of Debian. `apt-get install mr`  
-It's also in Mac Homebrew as `mr`.
+Debian: `apt-get install myrepos`  
+Homebrew: `brew install mr`  
+FreeBSD: `pkg install myrepos`  

add news item for myrepos 1.20151022
diff --git a/doc/news/version_1.20140831.mdwn b/doc/news/version_1.20140831.mdwn
deleted file mode 100644
index 4ae86d3..0000000
--- a/doc/news/version_1.20140831.mdwn
+++ /dev/null
@@ -1,9 +0,0 @@
-myrepos 1.20140831 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Deal with abs\_path change in new version of perl, now it returns undefined
-     when the directory does not exist.
-   * Added --minimal mode. Closes: #[694031](http://bugs.debian.org/694031) Thanks, Paul Wise.
-   * Use libio-pty-easy-perl when available when captuting command output
-     (for --minimal or -jN), so that programs that output color to terminals
-     will be colorized. This is only a recommends as it will fall back to
-     the old method. Thanks, Paul Wise."""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20151022.mdwn b/doc/news/version_1.20151022.mdwn
new file mode 100644
index 0000000..68073bf
--- /dev/null
+++ b/doc/news/version_1.20151022.mdwn
@@ -0,0 +1,17 @@
+myrepos 1.20151022 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * mr status in a git repo now includes git stash list in the output,
+     to remind you if you have any stashes. If your workflow involves
+     making lots of stashes and not cleaning them up, you may be better served
+     by switching from "git stash apply" to "git stash pop". Of course,
+     you can also override git\_status in your mrconfig file and remove the
+     stash list.
+   * Fix bootstrap from local source files.
+     Thanks, Fabrice Benhamouda.
+   * Pass user-specified command-line arguments to mr fetch commands too.
+     Thanks, Paul Wise.
+   * Make output continuous in minimal mode when there is only one job.
+     Thanks, Paul Wise.
+   * Simplify mr help by using perldoc, rather than man.
+   * On some platforms, abs\_path crashes when the file does not exist.
+     Wrap it for safety."""]]
\ No newline at end of file

add news item for myrepos 1.20150503
diff --git a/doc/news/version_1.20140613.mdwn b/doc/news/version_1.20140613.mdwn
deleted file mode 100644
index bb4a939..0000000
--- a/doc/news/version_1.20140613.mdwn
+++ /dev/null
@@ -1,11 +0,0 @@
-myrepos 1.20140613 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Added lib/git-annex. Thanks, martin f krafft.
-     Closes: #[743882](http://bugs.debian.org/743882)
-   * Make mr help work even if the mrconfig file is busted.
-     Thanks, Lorenzo Cappelletti
-   * Support "vcsh clone url repo" as trusted checkout syntax,
-     while still supporting the old syntax.
-   * bootstrap: Support reading bootstrap mrconfig file from both a local
-     file, and from stdin.
-     Thanks, Lorenzo Cappelletti"""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20150503.mdwn b/doc/news/version_1.20150503.mdwn
new file mode 100644
index 0000000..2b8ed0f
--- /dev/null
+++ b/doc/news/version_1.20150503.mdwn
@@ -0,0 +1,9 @@
+myrepos 1.20150503 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * [ Joey Hess ]
+   * Rework help command to work on OpenBSD.
+ * [ Richard Hartmann ]
+   * Check if unsafe ENV variables are set
+   * Add support for setting jobs via config file
+   * Add support for fossil &gt;= 1.23
+   * Bump Standards-Version to 3.9.6"""]]
\ No newline at end of file

sidebar only on index page
diff --git a/doc/index.mdwn b/doc/index.mdwn
index b5a2511..7497aad 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -79,3 +79,9 @@ Some more examples of things it can do include:
 ## news
 
 [[!inline pages="news/* and !*/Discussion" show="4" archive=yes]]
+
+[[!sidebar content="""
+[[install]]  
+[[todo]]  
+<a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>  
+"""]]
diff --git a/doc/sidebar.mdwn b/doc/sidebar.mdwn
deleted file mode 100644
index d0b9866..0000000
--- a/doc/sidebar.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-* [[install]]
-* [[todo]]
-* <a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>

creating tag page tags/person
diff --git a/doc/tags/person.mdwn b/doc/tags/person.mdwn
new file mode 100644
index 0000000..d3b7dfa
--- /dev/null
+++ b/doc/tags/person.mdwn
@@ -0,0 +1,4 @@
+[[!meta title="pages tagged person"]]
+
+[[!inline pages="tagged(person)" actions="no" archive="yes"
+feedshow=10]]

add news item for myrepos 1.20141024
diff --git a/doc/news/version_1.20140227.mdwn b/doc/news/version_1.20140227.mdwn
deleted file mode 100644
index a39b278..0000000
--- a/doc/news/version_1.20140227.mdwn
+++ /dev/null
@@ -1,6 +0,0 @@
-myrepos 1.20140227 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Avoid using man -l, relying on both versions of man for linux working
-     when a file is passed, with no switches.
-   * When blocking control codes in untrusted mrconfig files, ignore
-     ones inside comments. (Thanks, Philipp Ittershagen)"""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20141024.mdwn b/doc/news/version_1.20141024.mdwn
new file mode 100644
index 0000000..2de1be9
--- /dev/null
+++ b/doc/news/version_1.20141024.mdwn
@@ -0,0 +1,3 @@
+myrepos 1.20141024 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Fix name for vcsh\_clean. Closes: #[766655](http://bugs.debian.org/766655)"""]]
\ No newline at end of file

add news item for myrepos 1.20141023
diff --git a/doc/news/version_1.20130826.mdwn b/doc/news/version_1.20130826.mdwn
deleted file mode 100644
index 49d8f7e..0000000
--- a/doc/news/version_1.20130826.mdwn
+++ /dev/null
@@ -1,4 +0,0 @@
-myrepos 1.20130826 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Update of manpage and Suggests field for 'mr grep'.
-     Closes: #[720128](http://bugs.debian.org/720128)"""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20141023.mdwn b/doc/news/version_1.20141023.mdwn
new file mode 100644
index 0000000..4664ce1
--- /dev/null
+++ b/doc/news/version_1.20141023.mdwn
@@ -0,0 +1,6 @@
+myrepos 1.20141023 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Add darcs grep command using ack-grep.
+     Thanks, Paul Wise.
+   * Add a clean command.
+     Thanks, Paul Wise. Closes: #[702685](http://bugs.debian.org/702685)"""]]
\ No newline at end of file

add news item for myrepos 1.20140831.1
diff --git a/doc/news/version_1.20130710.mdwn b/doc/news/version_1.20130710.mdwn
deleted file mode 100644
index 9363a89..0000000
--- a/doc/news/version_1.20130710.mdwn
+++ /dev/null
@@ -1,4 +0,0 @@
-myrepos 1.20130710 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Avoid conflicting with mr so the dummy package can be installed and pull
-     in this one."""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20140831.1.mdwn b/doc/news/version_1.20140831.1.mdwn
new file mode 100644
index 0000000..fd60ab5
--- /dev/null
+++ b/doc/news/version_1.20140831.1.mdwn
@@ -0,0 +1,3 @@
+myrepos 1.20140831.1 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Fix breakage introduced by --minimal patch."""]]
\ No newline at end of file

add news item for myrepos 1.20140831
diff --git a/doc/news/version_1.20130705.1.mdwn b/doc/news/version_1.20130705.1.mdwn
deleted file mode 100644
index 91f7cf3..0000000
--- a/doc/news/version_1.20130705.1.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-myrepos 1.20130705.1 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * Conflict and Replaces mr."""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20140831.mdwn b/doc/news/version_1.20140831.mdwn
new file mode 100644
index 0000000..4ae86d3
--- /dev/null
+++ b/doc/news/version_1.20140831.mdwn
@@ -0,0 +1,9 @@
+myrepos 1.20140831 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Deal with abs\_path change in new version of perl, now it returns undefined
+     when the directory does not exist.
+   * Added --minimal mode. Closes: #[694031](http://bugs.debian.org/694031) Thanks, Paul Wise.
+   * Use libio-pty-easy-perl when available when captuting command output
+     (for --minimal or -jN), so that programs that output color to terminals
+     will be colorized. This is only a recommends as it will fall back to
+     the old method. Thanks, Paul Wise."""]]
\ No newline at end of file

add news item for myrepos 1.20140613
diff --git a/doc/news/version_1.20130705.mdwn b/doc/news/version_1.20130705.mdwn
deleted file mode 100644
index 2053bfe..0000000
--- a/doc/news/version_1.20130705.mdwn
+++ /dev/null
@@ -1,6 +0,0 @@
-myrepos 1.20130705 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
-   * The package is renamed to myrepos. It Provides mr, so can still be
-     installed by that name. The mr command is not renamed.
-   * Add make install rule.
-     Thanks, v4hn"""]]
\ No newline at end of file
diff --git a/doc/news/version_1.20140613.mdwn b/doc/news/version_1.20140613.mdwn
new file mode 100644
index 0000000..bb4a939
--- /dev/null
+++ b/doc/news/version_1.20140613.mdwn
@@ -0,0 +1,11 @@
+myrepos 1.20140613 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Added lib/git-annex. Thanks, martin f krafft.
+     Closes: #[743882](http://bugs.debian.org/743882)
+   * Make mr help work even if the mrconfig file is busted.
+     Thanks, Lorenzo Cappelletti
+   * Support "vcsh clone url repo" as trusted checkout syntax,
+     while still supporting the old syntax.
+   * bootstrap: Support reading bootstrap mrconfig file from both a local
+     file, and from stdin.
+     Thanks, Lorenzo Cappelletti"""]]
\ No newline at end of file

add news item for myrepos 1.20140227
diff --git a/doc/news/version_1.20140227.mdwn b/doc/news/version_1.20140227.mdwn
new file mode 100644
index 0000000..a39b278
--- /dev/null
+++ b/doc/news/version_1.20140227.mdwn
@@ -0,0 +1,6 @@
+myrepos 1.20140227 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Avoid using man -l, relying on both versions of man for linux working
+     when a file is passed, with no switches.
+   * When blocking control codes in untrusted mrconfig files, ignore
+     ones inside comments. (Thanks, Philipp Ittershagen)"""]]
\ No newline at end of file

typo
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 784fcf8..b5a2511 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -16,7 +16,7 @@ That sets up a `~/.mrconfig` file listing your repositories.
 Now you can run `mr update` in your home directory, and it'll update
 every one of your repositories that you've registered with myrepos.
 
-Want to update repositories in parallel? `mr update -j5` will run 5
+Want to update repositories in parallel? `mr -j5 update` will run 5
 concurrent jobs!
 
 If you run `mr update` inside a repository, it'll only act on that

add news item for myrepos 1.20130826
diff --git a/doc/news/version_1.20130826.mdwn b/doc/news/version_1.20130826.mdwn
new file mode 100644
index 0000000..49d8f7e
--- /dev/null
+++ b/doc/news/version_1.20130826.mdwn
@@ -0,0 +1,4 @@
+myrepos 1.20130826 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Update of manpage and Suggests field for 'mr grep'.
+     Closes: #[720128](http://bugs.debian.org/720128)"""]]
\ No newline at end of file

add news item for myrepos 1.20130710
diff --git a/doc/news/version_1.20130710.mdwn b/doc/news/version_1.20130710.mdwn
new file mode 100644
index 0000000..9363a89
--- /dev/null
+++ b/doc/news/version_1.20130710.mdwn
@@ -0,0 +1,4 @@
+myrepos 1.20130710 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Avoid conflicting with mr so the dummy package can be installed and pull
+     in this one."""]]
\ No newline at end of file

add news item for myrepos 1.20130705.1
diff --git a/doc/news/version_1.20130705.1.mdwn b/doc/news/version_1.20130705.1.mdwn
new file mode 100644
index 0000000..91f7cf3
--- /dev/null
+++ b/doc/news/version_1.20130705.1.mdwn
@@ -0,0 +1,3 @@
+myrepos 1.20130705.1 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * Conflict and Replaces mr."""]]
\ No newline at end of file

add news item for myrepos 1.20130705
diff --git a/doc/news/version_1.20130705.mdwn b/doc/news/version_1.20130705.mdwn
new file mode 100644
index 0000000..2053bfe
--- /dev/null
+++ b/doc/news/version_1.20130705.mdwn
@@ -0,0 +1,6 @@
+myrepos 1.20130705 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * The package is renamed to myrepos. It Provides mr, so can still be
+     installed by that name. The mr command is not renamed.
+   * Add make install rule.
+     Thanks, v4hn"""]]
\ No newline at end of file

add
diff --git a/TODO b/TODO
index 0cd761d..e69de29 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +0,0 @@
-* a way to detect repos in a tree that are not registered, and warn
-  about or even auto-register them. (svn externals make this quite
-  difficult!)
diff --git a/doc/todo/detect_unregistered_repos_in_tree.mdwn b/doc/todo/detect_unregistered_repos_in_tree.mdwn
new file mode 100644
index 0000000..bc2126b
--- /dev/null
+++ b/doc/todo/detect_unregistered_repos_in_tree.mdwn
@@ -0,0 +1,3 @@
+a way to detect repos in a tree that are not registered, and warn
+about or even auto-register them. (svn externals make this quite
+difficult!)

add
diff --git a/TODO b/TODO
index 34ba317..0cd761d 100644
--- a/TODO
+++ b/TODO
@@ -1,11 +1,3 @@
 * a way to detect repos in a tree that are not registered, and warn
   about or even auto-register them. (svn externals make this quite
   difficult!)
-
-* When there are chained mrconfig files, mr could be smarter about
-  checkouts and updates. Ie, when a new version of an mrconfig file is
-  checked out or updated, throw all the info from the old one away, and
-  process the new one.
-
-  Until this is fixed, checkouts and updates need to be manually repeated
-  after mrconfig files have changes. (See #447553)
diff --git a/doc/todo/smarter_chained_checkout.mdwn b/doc/todo/smarter_chained_checkout.mdwn
new file mode 100644
index 0000000..13e5d5a
--- /dev/null
+++ b/doc/todo/smarter_chained_checkout.mdwn
@@ -0,0 +1,7 @@
+When there are chained mrconfig files, mr could be smarter about
+checkouts and updates. Ie, when a new version of an mrconfig file is
+checked out or updated, throw all the info from the old one away, and
+process the new one.
+
+Until this is fixed, checkouts and updates need to be manually repeated
+after mrconfig files have changes. (See #447553)

renamed on github
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 6cfd53b..7e27528 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -1,5 +1,5 @@
 `git clone git://myrepos.branchable.com/ myrepos`  
-Or get it [from github](https://github.com/joeyh/mr).
+Or get it [from github](https://github.com/joeyh/myrepos).
 
 It's a simple perl script, which can be copied anywhere to install.
 

break example
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 88db812..784fcf8 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -40,8 +40,7 @@ run for any repository. It's like a `Makefile` for repositories.
 	checkout = git@github.com:joeyh/foo.git
 	update = git pull --rebase
 
-You can make up your own commands too, and add them to a single repository,
-or even globally so `mr` can use them in all repositories.
+You can make up your own commands too:
 
 	[bar]
 	# This repository has an upstream, which I've forked; 
@@ -56,6 +55,8 @@ or even globally so `mr` can use them in all repositories.
 		git merge upstream/master
 		git push origin master
 
+You can even define commands globally, so `mr` can use them in all repositories.
+
 	[DEFAULT]
 	# Teach mr how to `mr gc` in git repos.
 	git_gc = git gc "$@"

fix
diff --git a/doc/sidebar.mdwn b/doc/sidebar.mdwn
index 0524c92..d0b9866 100644
--- a/doc/sidebar.mdwn
+++ b/doc/sidebar.mdwn
@@ -1,5 +1,3 @@
-[[!sidebar content="""
 * [[install]]
 * [[todo]]
 * <a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>
-"""]]

gc
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 01a3e78..88db812 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -57,8 +57,8 @@ or even globally so `mr` can use them in all repositories.
 		git push origin master
 
 	[DEFAULT]
-	# Teach mr how to `mr reup` to update with rebasing.
-	git_reup = git pull --rebase
+	# Teach mr how to `mr gc` in git repos.
+	git_gc = git gc "$@"
 
 This only scratches the surface of the ways you can use myrepos to automate
 and mange your repositories!

global sidebar
diff --git a/doc/index.mdwn b/doc/index.mdwn
index e2c05ab..01a3e78 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -78,9 +78,3 @@ Some more examples of things it can do include:
 ## news
 
 [[!inline pages="news/* and !*/Discussion" show="4" archive=yes]]
-
-[[!sidebar content="""
-* [[install]]
-* [[todo]]
-* <a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="http://api.flattr.com/button/button-static-50x60.png" alt="Flattr this" title="Flattr this" border="0" /></a>
-"""]]
diff --git a/doc/sidebar.mdwn b/doc/sidebar.mdwn
new file mode 100644
index 0000000..0524c92
--- /dev/null
+++ b/doc/sidebar.mdwn
@@ -0,0 +1,5 @@
+[[!sidebar content="""
+* [[install]]
+* [[todo]]
+* <a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>
+"""]]

add
diff --git a/doc/todo.mdwn b/doc/todo.mdwn
new file mode 100644
index 0000000..417d7c2
--- /dev/null
+++ b/doc/todo.mdwn
@@ -0,0 +1,6 @@
+This is myrepos's todo list. Link items to [[todo/done]] when done.
+
+See also: [Debian BTS](http://bugs.debian.org/mr).
+
+[[!inline pages="./todo/* and !./todo/done and !link(done)
+and !*/Discussion" actions=yes postform=yes show=0 archive=yes]]

pages
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 93afde3..e2c05ab 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -75,25 +75,12 @@ Some more examples of things it can do include:
 * Manage your whole home directory in version control.
   (See [VCS-Home](http://vcs-home.branchable.com/))
 
-## install
-
-`git clone git://myrepos.branchable.com/ myrepos`  
-Or get it [from github](https://github.com/joeyh/mr).
-
-It's a simple perl script, which can be copied anywhere to install.
-
-Myrepos is included in all recent versions of Debian. `apt-get install mr`  
-It's also in Mac Homebrew as `mr`.
-
-## bugs
-
-Bugs should be filed to the [Debian BTS](http://bugs.debian.org/mr).
-
 ## news
 
 [[!inline pages="news/* and !*/Discussion" show="4" archive=yes]]
 
 [[!sidebar content="""
-<a href="https://flattr.com/thing/39937/mr1" target="_blank">
-<img src="http://api.flattr.com/button/button-static-50x60.png" alt="Flattr this" title="Flattr this" border="0" /></a>
+* [[install]]
+* [[todo]]
+* <a href="https://flattr.com/thing/39937/mr1" target="_blank"><img src="http://api.flattr.com/button/button-static-50x60.png" alt="Flattr this" title="Flattr this" border="0" /></a>
 """]]
diff --git a/doc/install.mdwn b/doc/install.mdwn
new file mode 100644
index 0000000..6cfd53b
--- /dev/null
+++ b/doc/install.mdwn
@@ -0,0 +1,7 @@
+`git clone git://myrepos.branchable.com/ myrepos`  
+Or get it [from github](https://github.com/joeyh/mr).
+
+It's a simple perl script, which can be copied anywhere to install.
+
+Myrepos is included in all recent versions of Debian. `apt-get install mr`  
+It's also in Mac Homebrew as `mr`.
diff --git a/doc/todo/done.mdwn b/doc/todo/done.mdwn
new file mode 100644
index 0000000..e7c9808
--- /dev/null
+++ b/doc/todo/done.mdwn
@@ -0,0 +1,4 @@
+recently fixed [[todo]] items.
+
+[[!inline pages="./* and link(./done) and !*/Discussion" sort=mtime show=10
+archive=yes]]

update
diff --git a/README b/README
index e63ea80..58f967a 100644
--- a/README
+++ b/README
@@ -1,14 +1,19 @@
-mr is a Multiple Repository management tool for git, svn, mercurial, bzr,
-darcs, cvs, fossil and veracity.
+You have a lot of version control repositories. Sometimes you want to
+update them all at once. Or push out all your local changes. You use
+special command lines in some repositories to implement specific workflows.
+Myrepos provides a `mr` command, which is a tool to manage all your version
+control repositories.
+
+It supports git, svn, mercurial, bzr, darcs, cvs, fossil and veracity.
 
 Author: Joey Hess
-Homepage: http://joeyh.name/code/mr/
+Homepage: http://myrepos.branchable.com/
 
-mr is intended to be very self-contained, since it might be useful to check
-it into ~/bin when keeping your home in version control. It has no
-dependencies aside from basic perl. (The included webcheckout command has
-more dependencies, specifically the LWP::Simple and HTML::Parser CPAN
-modules, and optionally the URI module.)
+The mr command is intended to be very self-contained, since it might be
+useful to check it into ~/bin when keeping your home in version control. It
+has no dependencies aside from basic perl. (The included webcheckout
+command has more dependencies, specifically the LWP::Simple and
+HTML::Parser CPAN modules, and optionally the URI module.)
 
 To install mr, just copy mr into your PATH somewhere.
 
@@ -23,4 +28,4 @@ each, run "mr commit". To check the status of each, you could run
 "mr status".
 
 For further details, and lots of configuration options, see the mr(1) man
-page.
+page or the website, http://myrepos.branchable.com/
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 1c8c81c..93afde3 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -78,7 +78,7 @@ Some more examples of things it can do include:
 ## install
 
 `git clone git://myrepos.branchable.com/ myrepos`  
-Or get it [from github]().
+Or get it [from github](https://github.com/joeyh/mr).
 
 It's a simple perl script, which can be copied anywhere to install.
 

update
diff --git a/doc/index.mdwn b/doc/index.mdwn
index ea20656..1c8c81c 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -1,39 +1,95 @@
-The mr(1) command can checkout, update, or perform other actions on a set
-of repositories as if they were one combined respository. It supports any
-combination of subversion, git, cvs, mercurial, bzr, darcs, cvs, vcsh,
-fossil and veracity repositories, and support for other revision control
-systems can easily be added. (There are extensions adding support for
-unison and git-svn.)
+You have a lot of version control repositories. Sometimes you want to
+update them all at once. Or push out all your local changes. You use
+special command lines in some repositories to implement specific workflows.
+Myrepos provides a `mr` command, which is a tool to manage all your version
+control repositories.
 
-It is extremely configurable via simple shell scripting. Some examples
-of things it can do include:
+## getting started
+
+All you need to get started is some already checked out repos.
+These could be using git, or bzr, mercurial or darcs, or many other version
+control systems. Doesn't matter, they're all supported!
+
+Inside each of your repositories, run `mr register`.
+That sets up a `~/.mrconfig` file listing your repositories.
+
+Now you can run `mr update` in your home directory, and it'll update
+every one of your repositories that you've registered with myrepos.
+
+Want to update repositories in parallel? `mr update -j5` will run 5
+concurrent jobs!
+
+If you run `mr update` inside a repository, it'll only act on that
+repository. In general, any `mr` command runs recursively over any
+repository located somewhere in or under the current directory.
+
+You can also run `mr commit`, `mr push`, `mr status`, `mr diff`, and a lot
+of other commands. These work no matter which version control system is
+used for a repository. Of course, you can still use the native version
+control commands too.
+
+Oh, and you can abbreviate any command to any unambiguous abbreviation. 
+`mr up`, `mr pu`, etc.
+
+Now, maybe you find that you always want to update one repository using
+`git pull --rebase`, instead of the default `git pull` that `mr update` runs. 
+No problem: The `~/.mrconfig` file makes it easy to override the command
+run for any repository. It's like a `Makefile` for repositories.
+
+	[foo]
+	checkout = git@github.com:joeyh/foo.git
+	update = git pull --rebase
+
+You can make up your own commands too, and add them to a single repository,
+or even globally so `mr` can use them in all repositories.
+
+	[bar]
+	# This repository has an upstream, which I've forked; 
+	# set up a remote on checkout.
+	checkout = 
+		git clone git@github.com:joeyh/bar.git
+		cd bar
+		git remote add upstream git@github.com:barbar/bar.git
+	# make `mr zap` integrate from upstream
+	zap = 
+		git pull upstream
+		git merge upstream/master
+		git push origin master
+
+	[DEFAULT]
+	# Teach mr how to `mr reup` to update with rebasing.
+	git_reup = git pull --rebase
+
+This only scratches the surface of the ways you can use myrepos to automate
+and mange your repositories!
+
+Some more examples of things it can do include:
 
 * Update a repository no more frequently than once every twelve hours.
 * Run an arbitrary command before committing to a repository.
-* When updating a git repository, pull from two different upstreams
-  and merge the two together.
-* Run several repository updates in parallel, greatly speeding up
-  the update process.
 * Remember actions that failed due to a laptop being offline, so they
   can be retried when it comes back online.
+* Combine several related repositories into a single logical repository,
+  with its own top-level `.mrconfig` file that lists them and can be
+  chain loaded from `~/.mrconfig`.
+* Manage your whole home directory in version control.
+  (See [VCS-Home](http://vcs-home.branchable.com/))
+
+## install
 
-## Get mr
+`git clone git://myrepos.branchable.com/ myrepos`  
+Or get it [from github]().
 
-mr is available in git at `git://git.kitenet.net/mr`, or
-[in gitweb](http://git.kitenet.net/?p=mr.git). It's in all recent versions
-of Debian. If you want a tarball, the best place to get one is from
-<http://packages.debian.org/unstable/source/mr>. Unofficial RPMs are
-provided by [Douglas E. Warner](http://www.silfreed.net/download/repo/packages/mr/).
-It's also in Mac Homebrew.
+It's a simple perl script, which can be copied anywhere to install.
 
-## Discuss mr
+Myrepos is included in all recent versions of Debian. `apt-get install mr`  
+It's also in Mac Homebrew as `mr`.
 
-The [VCS-Home](http://vcs-home.madduck.net/) group has a mailing list that
-is probably the best place to discuss mr.
+## bugs
 
 Bugs should be filed to the [Debian BTS](http://bugs.debian.org/mr).
 
-## News
+## news
 
 [[!inline pages="news/* and !*/Discussion" show="4" archive=yes]]
 

archive
diff --git a/doc/index.mdwn b/doc/index.mdwn
index c703cdd..ea20656 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -35,7 +35,7 @@ Bugs should be filed to the [Debian BTS](http://bugs.debian.org/mr).
 
 ## News
 
-[[!inline pages="news/* and !*/Discussion" show="3"]]
+[[!inline pages="news/* and !*/Discussion" show="4" archive=yes]]
 
 [[!sidebar content="""
 <a href="https://flattr.com/thing/39937/mr1" target="_blank">

author
diff --git a/doc/news/mr_renamed_to_myrepos.mdwn b/doc/news/mr_renamed_to_myrepos.mdwn
index a857b8d..39bc885 100644
--- a/doc/news/mr_renamed_to_myrepos.mdwn
+++ b/doc/news/mr_renamed_to_myrepos.mdwn
@@ -3,3 +3,5 @@ easier to search for.
 
 The `mr` command itself will not be renamed, this is only a renaming of the
 package.
+
+[[!meta author=Joey]]

add
diff --git a/doc/news/mr_renamed_to_myrepos.mdwn b/doc/news/mr_renamed_to_myrepos.mdwn
new file mode 100644
index 0000000..a857b8d
--- /dev/null
+++ b/doc/news/mr_renamed_to_myrepos.mdwn
@@ -0,0 +1,5 @@
+I've renamed mr because myrepos is a more descriptive name that's
+easier to search for.
+
+The `mr` command itself will not be renamed, this is only a renaming of the
+package.

copy web page from my web site
diff --git a/doc/index.mdwn b/doc/index.mdwn
new file mode 100644
index 0000000..c703cdd
--- /dev/null
+++ b/doc/index.mdwn
@@ -0,0 +1,43 @@
+The mr(1) command can checkout, update, or perform other actions on a set
+of repositories as if they were one combined respository. It supports any
+combination of subversion, git, cvs, mercurial, bzr, darcs, cvs, vcsh,
+fossil and veracity repositories, and support for other revision control
+systems can easily be added. (There are extensions adding support for
+unison and git-svn.)
+
+It is extremely configurable via simple shell scripting. Some examples
+of things it can do include:
+
+* Update a repository no more frequently than once every twelve hours.
+* Run an arbitrary command before committing to a repository.
+* When updating a git repository, pull from two different upstreams
+  and merge the two together.
+* Run several repository updates in parallel, greatly speeding up
+  the update process.
+* Remember actions that failed due to a laptop being offline, so they
+  can be retried when it comes back online.
+
+## Get mr
+
+mr is available in git at `git://git.kitenet.net/mr`, or
+[in gitweb](http://git.kitenet.net/?p=mr.git). It's in all recent versions
+of Debian. If you want a tarball, the best place to get one is from
+<http://packages.debian.org/unstable/source/mr>. Unofficial RPMs are
+provided by [Douglas E. Warner](http://www.silfreed.net/download/repo/packages/mr/).
+It's also in Mac Homebrew.
+
+## Discuss mr
+
+The [VCS-Home](http://vcs-home.madduck.net/) group has a mailing list that
+is probably the best place to discuss mr.
+
+Bugs should be filed to the [Debian BTS](http://bugs.debian.org/mr).
+
+## News
+
+[[!inline pages="news/* and !*/Discussion" show="3"]]
+
+[[!sidebar content="""
+<a href="https://flattr.com/thing/39937/mr1" target="_blank">
+<img src="http://api.flattr.com/button/button-static-50x60.png" alt="Flattr this" title="Flattr this" border="0" /></a>
+"""]]