monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: mtn:// sync


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] Re: mtn:// sync
Date: Fri, 21 Mar 2008 14:26:48 +0100
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080109)

Hi,

Timothy Brownawell wrote:
It will be in addition to the current syntax, so what works now will
still work.

Okay, that's fine.

Yes, '&' and especially '!' aren't good characters for shells. I think
I'll use the suggestions of '/' and '-' instead (still in the query
string instead of the path, so it'll work with file:// and ssh:// sync).

Yeah, that looks better for shells. However, I'm wondering somewhat how you want to find the end of the URL and beginning of include/exclude patterns.

So, am I right in assuming we are talking about such URLs like these:

 * mtn://monotone.ca/net.venge.motonone*
 * mtn://monotone.ca/net.venge.motonone*-net.venge.monotone.experiment
 * file:/tmp/test.db/org.foo*/org.bar*-org.foo.unwanted/org.bar.unwanted


Do we still need the asterisk? Quite a while ago, Lapo was complaining, that net.venge.monotone* would not only mean branches net.venge.monotone and net.venge.monotone.*, but also net.veneg.monotone-foo. That's a valid concern, IMO.

Now, I know we didn't ever hardcode the dot as a branch name separator (IIRC). However, most people *are* using dot-separated branch names. And for policy branches - possibly also for nuskool - we should probably switch to enforce such a hierarchical branch naming anyway.

So, I'm proposing to get rid of the asterisk entirely, making "net.venge.monotone" mean: that branch and "net.venge.monotone.*" (but not "net.venge.monotone-foo". I'm assuming that's what you want most of the time anyway. If you really want to sync only "net.venge.monotone" and none of it's children, you'd have to explicitly exclude them. So it would look more like:

 * mtn://monotone.ca/net.venge.motonone

Or for nvm only, excluding child branches:

 * mtn://monotone.ca/net.venge.motonone-net.venge.monotone.*


As we need to change branch naming policies (prohibit use of '-' and '/') it seems like it's a good time for rethinking branch naming policies.

Regarding the general direction of stuffing include/exclude patterns into the URL: most other DVCSen feature a single URL per branch - and people are getting used to that. Supporting such per-branch URLs from monotone is thus a good thing, IMO. However, the URL needs to look similarly sane.

Just my $0.02.

Markus





reply via email to

[Prev in Thread] Current Thread [Next in Thread]