[darcs-users] new feature proposal: interactively select remote repo

Ganesh Sittampalam ganesh at earth.li
Tue Apr 5 14:26:06 UTC 2011


Hi,

We have an open ticket (http://bugs.darcs.net/issue1772) to add a
feature to darcs to allow for interactive selection amongst the list of
repos stored in _darcs/prefs/repos, which constitutes a list of those
repos that the current repo has previously interacted with.

This interactive selection would probably be triggered by a flag such as
--ask-repos.

In principle (which is not always well adhered to), feature additions
are subject to review to ensure that they are worth the cost in extra
user interface and maintenance complexity. Eric has kindly written up
http://wiki.darcs.net/Development/NewFeature to explain this process.

I'm therefore running through this process as an Advocate for the
feature, and I'd like a Skeptic to challenge me, and for others who care
sufficiently to speak up for and against the proposal. I'm not
proposing to implement it immediately, but it removes a barrier to doing
so: the result of the discussion will be placed on the bug tracker so
anyone who wants can just go ahead and implement it, confident that the
feature is wanted.

Cheers,

Ganesh

The questions to be asked of a new feature, together with my answers, are:

"What problem does the proposed feature solve?"

It's tedious to have to type in a remote repository location if it
happens not to be the current default.

"What are the user stories?"

As a darcs user, I want an easy way to select between multiple
commonly-used remote repositories.

"Does this change any pre-existing workflows? Does this introduce any
incompatibilities?"

Shouldn't have any effect if the behaviour is triggered by a flag.

"How do we preserve the conceptual integrity of Darcs? Is the UI for
this feature really Darcs-ish?"

Interactively asking the user what to do is certainly Darcs-ish in
itself. I'm ambivalent about whether it constitutes flag proliferation.

One issue is that it's not immediately obvious to me what the precise UI
would be. It could

 - ask about each repo in turn: probably slow/annoying, but consistent
with something like the amend-record UI for selecting the patch to amend

 - offer the repos with a letter or number associated with them. Limits
you to 36 or 62 repos which should be fine, but would also be a new
departure for darcs interactive prompts.

"What are the possible unintended interactions with other pre-existing
features?"

Can't think of any.

"What are the alternative approaches to solving the same problem? Why do
we prefer this one?"

Currently this information is made available to external tools such as
tab-completion scripts via the --list-options flag to the pull, push,
put and send commands. Such tab-completion scripts are clearly an
alternative but are not necessarily easy to install and do not exist at
all for native Windows users (i.e not using cygwin etc).

"Who are the stakeholders? Who is going to benefit/be affected by this
feature: end-users, repo farms like patch-tag, darcs developers?"

End-users.


More information about the darcs-users mailing list