From: Joey Hess Date: Tue, 23 Oct 2007 16:46:58 +0000 (-0400) Subject: * Patch from Simon McVittie, adding support for darcs repositories. X-Git-Url: https://git.madduck.net/code/myrepos.git/commitdiff_plain/19919a98a8382dcc8723a0fb01b4a674f2c25214 * Patch from Simon McVittie, adding support for darcs repositories. Closes: #447729 --- diff --git a/debian/changelog b/debian/changelog index 31a8141..a90e67b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,10 @@ mr (0.7) UNRELEASED; urgency=low * Fix inverted tests in tags command. (madduck) + * Patch from Simon McVittie, adding support for darcs repositories. + Closes: #447729 - -- Joey Hess Mon, 22 Oct 2007 12:28:44 -0400 + -- Joey Hess Tue, 23 Oct 2007 12:46:18 -0400 mr (0.6) unstable; urgency=low diff --git a/debian/control b/debian/control index eee97c2..7f21b19 100644 --- a/debian/control +++ b/debian/control @@ -11,13 +11,13 @@ Package: mr Architecture: all Section: utils Depends: -Suggests: subversion, git-core, cvs, bzr, mercurial +Suggests: subversion, git-core, cvs, bzr, mercurial, darcs Description: a Multiple Repository management tool 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, bzr, and mercurial - repositories, and support for other revision control systems can easily - be added. + supports any combination of subversion, git, cvs, mecurial, + bzr and darcs repositories, and support for other revision control systems + can easily be added. . It is extremely configurable via simple shell scripting. Some examples of things it can do include: diff --git a/mr b/mr index 357b2d2..0a50a33 100755 --- a/mr +++ b/mr @@ -30,9 +30,9 @@ B [options] action [params ...] B 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. +respository. It supports any combination of subversion, git, cvs, mecurial, +bzr and darcs repositories, and support for other revision control systems can +easily be added. B 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 @@ -937,7 +937,7 @@ lib = if [ -z "$1" ] || [ -z "$2" ]; then error "mr: usage: hours_since action num" fi - for dir in .git .svn .bzr CVS .hg; do + for dir in .git .svn .bzr CVS .hg _darcs; do if [ -e "$MR_REPO/$dir" ]; then flagfile="$MR_REPO/$dir/.mr_last$1" break @@ -970,6 +970,8 @@ update = cvs update "$@" elif [ -d "$MR_REPO"/.hg ]; then hg pull "$@" && hg update "$@" + elif [ -d "$MR_REPO"/_darcs ]; then + darcs pull "$@" else error "unknown repo type" fi @@ -984,6 +986,8 @@ status = cvs status "$@" elif [ -d "$MR_REPO"/.hg ]; then hg status "$@" + elif [ -d "$MR_REPO"/_darcs ]; then + darcs whatsnew -ls "$@" else error "unknown repo type" fi @@ -998,6 +1002,8 @@ commit = cvs commit "$@" elif [ -d "$MR_REPO"/.hg ]; then hg commit -m "$@" && hg push + elif [ -d "$MR_REPO"/_darcs ]; then + darcs commit -m "$@" && darcs push else error "unknown repo type" fi @@ -1012,6 +1018,8 @@ diff = cvs diff "$@" elif [ -d "$MR_REPO"/.hg ]; then hg diff "$@" + elif [ -d "$MR_REPO"/_darcs ]; then + darcs diff "$@" else error "unknown repo type" fi @@ -1026,6 +1034,8 @@ log = cvs log "$@" elif [ -d "$MR_REPO"/.hg ]; then hg log "$@" + elif [ -d "$MR_REPO"/_darcs ]; then + darcs changes "$@" else error "unknown repo type" fi @@ -1069,6 +1079,11 @@ register = echo "Registering mercurial repo url: $url in $MR_CONFIG" mr -c "$MR_CONFIG" config "$(pwd)" \ checkout="hg clone $url $basedir" + elif [ -d _darcs ]; then + url=$(cat _darcs/prefs/defaultrepo) + echo "Registering darcs repository $url in $MR_CONFIG" + mr -c "$MR_CONFIG" config "$(pwd)" \ + checkout="darcs get $url $basedir" else error "unable to register this repo type" fi