* more revision control systems
-* support for tracking repo renames
+* 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!)
- It should be possible to tell mr that there used to be a repo at
- src/foo/bar, and it's been moved to src/bar. mr would then detect if the
- move needs to be done, and handle it. This is mostly useful when mrconfig
- files are shared accross several systems.
+* 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.
- [src/bar]
- renamedfrom = src/foo/bar
+ Until this is fixed, checkouts and updates need to be manually repeated
+ after mrconfig files have changes.
- (Support multple renames of a single repo?)
+* offline support
-* mr register
+ If I commit something to git while offline, it would be nice if mr could
+ have a way to push that change when I get online.
- Idea is you check out a repo and then use mr register to add it to the
- closest mrconfig file.
+ One approach would be to notice when mr commit fails, and queue the
+ commit up to be tried happen again when "mr retry" is run. This could
+ also notice other failing commands, such as "mr up".
- mr register would be implemented as a shell command that then calls
- mr config with flags that make it edit the mrconfig file:
-
- if [ -d "$MR_REPO/.svn" ]; then
- url=$(svn info "$MR_REPO" | grep -i ^URL: | cut -d ' ' -f 2)
- if [ -z "$url" ]; then
- error "cannot determine svn url"
- fi
- mr -c "$MR_CONFIG" config --add "$MR_REPO" --checkout="svn co $URL"
- fi
+ Would it make sense to have to first run "mr offline", before mr starts
+ recording such failures? If so, "mr online" would be the thing to run
+ when getting back online, this would both retry queued commands, and stop
+ queuing new failures.