Is there any interest in a patchset for mr to manage which repos are being handled?

Joey Hess joey at
Mon Dec 12 17:22:04 CET 2011

Adam Spiers wrote:
> Firstly, I built a library of skip functions:
> which lets me write things like:
>     [$HOME/.GIT/]
>     skip = default_skipper || missing_exe gpg

I'm with you so far; this is how I use mr, so in a way it's how mr is
designed to be used.

> However, in the upstream mr, this is not fully implemented yet because
> it does not prevent checkouts of lazy repositories:
> To solve this, I knew mr would need a mechanism for referring to a
> single repository, which in turn would require a new namespace for
> repositories.

This still seems a roundabout way to solve that problem.

Why not just:

        lazy() {
		if [ "$MR_ACTION" = checkout ]; then
			if [ "$MR_FORCE" ]; then
				return 1
				echo "skipping checkout of lazy repo (set MR_FORCE=1 to enable)"
				return 0
		elif [ -d "$MR_REPO" ]; then
                        return 1
                        return 0

Then maybe make --force set MR_FORCE, and to enable one you just:

	mr --directory somerepo --force checkout

> except that it's more direct, since if you enable 'foo', surely you
> would checkout 'foo' immediately after.  Then the only missing piece
> is 'disable'.  Personally I don't need this (yet, at least).  But if
> you really needed it, the lazy() skipper could easily be extended (or
> a new skipper written) to perform an extra check:
>     test -d .mrdisabled

rm -rf seems a good way to disable a lazy repo.

see shy jo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 828 bytes
Desc: Digital signature
URL: <>

More information about the vcs-home mailing list