All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
Hi Joey,
this patch adds support for mecurial to mr.
It would be nice if you would be able to integrate it into mr.
Thanks
Alex
mr (0.5) UNRELEASED; urgency=low
mr (0.5) UNRELEASED; urgency=low
* Removed special case repository deletion handling code. The same
thing can be accomplished in a mrconfig by skipping a repo unless
it exists, and printing a reminder on update. See the mrconfig file
* Removed special case repository deletion handling code. The same
thing can be accomplished in a mrconfig by skipping a repo unless
it exists, and printing a reminder on update. See the mrconfig file
are pulled. And since those might not always be the right parameters
for git pull, any parameters passed to mr update will replace them.
are pulled. And since those might not always be the right parameters
for git pull, any parameters passed to mr update will replace them.
- -- Joey Hess <joeyh@debian.org> Fri, 19 Oct 2007 20:45:07 -0400
+ [ Alexander Wirt ]
+ * Add support for mercurial (http://www.selenic.com/mercurial/)
+
+ -- Alexander Wirt <formorer@debian.org> Sat, 20 Oct 2007 11:03:27 +0200
mr (0.4) unstable; urgency=low
mr (0.4) unstable; urgency=low
-B<mr> is a Multiple Repository management tool. It
-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, and bzr repositories,
-and support for other revision control systems can easily be added.
+B<mr> is a Multiple Repository management tool. It 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, mecurial and
+bzr repositories, and support for other revision control systems can easily be
+added.
B<mr> cds into and operates on all registered repositories at or below your
working directory. Or, if you are in a subdirectory of a repository that
B<mr> cds into and operates on all registered repositories at or below your
working directory. Or, if you are in a subdirectory of a repository that
- for dir in .git .svn .bzr CVS; do
+ for dir in .git .svn .bzr CVS .hg; do
if [ -e "$MR_REPO/$dir" ]; then
flagfile="$MR_REPO/$dir/.mr_last$1"
break
if [ -e "$MR_REPO/$dir" ]; then
flagfile="$MR_REPO/$dir/.mr_last$1"
break
bzr merge "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs update "$@"
bzr merge "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs update "$@"
+ elif [ -d "$MR_REPO"/.hg ]; then
+ hg pull "$@" && hg update "$@"
else
error "unknown repo type"
fi
else
error "unknown repo type"
fi
bzr status "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs status "$@"
bzr status "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs status "$@"
+ elif [ -d "$MR_REPO"/.hg ]; then
+ hg status "$@"
else
error "unknown repo type"
fi
else
error "unknown repo type"
fi
bzr commit "$@" && bzr push
elif [ -d "$MR_REPO"/CVS ]; then
cvs commit "$@"
bzr commit "$@" && bzr push
elif [ -d "$MR_REPO"/CVS ]; then
cvs commit "$@"
+ elif [ -d "$MR_REPO"/.hg ]; then
+ hg commit -m "$@" && hg push
else
error "unknown repo type"
fi
else
error "unknown repo type"
fi
bzr diff "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs diff "$@"
bzr diff "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs diff "$@"
+ elif [ -d "$MR_REPO"/.hg ]; then
+ hg diff "$@"
else
error "unknown repo type"
fi
else
error "unknown repo type"
fi
bzr log "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs log "$@"
bzr log "$@"
elif [ -d "$MR_REPO"/CVS ]; then
cvs log "$@"
+ elif [ -d "$MR_REPO"/.hg ]; then
+ hg log "$@"
else
error "unknown repo type"
fi
else
error "unknown repo type"
fi
echo "Registering cvs repository $repo at root $root"
mr -c "$MR_CONFIG" config "$(pwd)" \
checkout="cvs -d '$root' co -d $basedir $repo"
echo "Registering cvs repository $repo at root $root"
mr -c "$MR_CONFIG" config "$(pwd)" \
checkout="cvs -d '$root' co -d $basedir $repo"
+ elif [ -d .hg ]; then
+ url=$(hg showconfig paths.default)
+ echo "Registering mercurial repo url: $url in $MR_CONFIG"
+ mr -c "$MR_CONFIG" config "$(pwd)" \
+ checkout="hg clone $url $basedir"
else
error "unable to register this repo type"
fi
else
error "unable to register this repo type"
fi