Initial import of mr(1). From DESCR:

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, and fossil 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.
This commit is contained in:
schmonz 2011-06-14 21:58:11 +00:00
parent 06ea305c55
commit 1f247b1352
4 changed files with 74 additions and 0 deletions

18
devel/mr/DESCR Normal file
View file

@ -0,0 +1,18 @@
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, and fossil 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.

42
devel/mr/Makefile Normal file
View file

@ -0,0 +1,42 @@
# $NetBSD: Makefile,v 1.1.1.1 2011/06/14 21:58:11 schmonz Exp $
#
DISTNAME= mr_1.03
PKGNAME= ${DISTNAME:S/_/-/}
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_DEBIAN:=pool/main/m/mr/}
MAINTAINER= schmonz@NetBSD.org
HOMEPAGE= http://kitenet.net/~joey/code/mr/
COMMENT= Treat multiple repositories as one combined repository
LICENSE= gnu-gpl-v2
PKG_DESTDIR_SUPPORT= user-destdir
DEPENDS+= p5-libwww-[0-9]*:../../www/p5-libwww
DEPENDS+= p5-HTML-Parser-[0-9]*:../../www/p5-HTML-Parser
NO_BUILD= yes
WRKSRC= ${WRKDIR}/${PKGBASE}
USE_LANGUAGES= # none
USE_TOOLS+= perl:run
REPLACE_PERL+= mr webcheckout
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
SHAREDIR= ${PREFIX}/share/${PKGBASE}
INSTALLATION_DIRS= bin ${EGDIR} ${SHAREDIR}
do-install:
set -e; cd ${WRKSRC}; \
${INSTALL_DATA} mrconfig ${DESTDIR}${EGDIR}; \
${INSTALL_DATA} mrconfig.complex ${DESTDIR}${EGDIR}; \
for i in lib/*; do \
${INSTALL_DATA} $${i} ${DESTDIR}${SHAREDIR}; \
done; \
${INSTALL_SCRIPT} mr ${DESTDIR}${PREFIX}/bin; \
${INSTALL_SCRIPT} webcheckout ${DESTDIR}${PREFIX}/bin
.include "../../mk/bsd.pkg.mk"

9
devel/mr/PLIST Normal file
View file

@ -0,0 +1,9 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2011/06/14 21:58:11 schmonz Exp $
bin/mr
bin/webcheckout
share/examples/mr/mrconfig
share/examples/mr/mrconfig.complex
share/mr/git-fake-bare
share/mr/git-subtree
share/mr/git-svn
share/mr/unison

5
devel/mr/distinfo Normal file
View file

@ -0,0 +1,5 @@
$NetBSD: distinfo,v 1.1.1.1 2011/06/14 21:58:11 schmonz Exp $
SHA1 (mr_1.03.tar.gz) = e723d51071d50f9732b01adb0ad2f5364f640979
RMD160 (mr_1.03.tar.gz) = 09e6b50b9ca2853fe5b420c7387f03c94da210b9
Size (mr_1.03.tar.gz) = 35783 bytes