X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/53d1d56fd9100a36b53467ed049276ecc1f7a09e..f600a37726c5ac539ba213214fe5fb3bcf0cfcbd:/TODO diff --git a/TODO b/TODO index 62df27e..a2255db 100644 --- a/TODO +++ b/TODO @@ -1,38 +1,32 @@ * more revision control systems -* support for tracking repo renames - 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. +* 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!) - [src/bar] - renamedfrom = src/foo/bar +* 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. - (Support multple renames of a single repo?) + Until this is fixed, checkouts and updates need to be manually repeated + after mrconfig files have changes. -* repo deletions +* offline support - Handling repo deletions might also be possible, but is tricky, since - there's no good way to tell if a local checkout of a given repo is clean - and really should be deleted. Probably better for mr to just warn that a - repo still exists on disk that it is no longer managed. + 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. - [src/foo/baz] - deleted = yes + 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 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. - Idea is you check out a repo and then use mr register to add it to the - closest mrconfig file. - - mr register would be implemented as a shell command that then calls - mr config with flags that make it actually 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 + One annoying thing is that, if offline, dns timeouts can take a while in + certian situations. So, it might be good to have a "mr remember ", + to directly add a command for mr to run when coming online, without + the need to run the command and wait for it to fail.