darcs

Issue 1237 darcs and shell completion

Title darcs and shell completion
Priority bug Status resolved
Milestone Resolved in
Superseder Nosy List briqueabraque, darcs-devel, dmitry.kurochkin, kowey, thorkilnaur
Assigned To
Topics

Created on 2008-11-23.01:26:33 by twb, last changed 2022-06-07.07:13:48 by bfrk.

Messages
msg6723 (view) Author: twb Date: 2008-11-23.01:26:28
Hi,

When I write something like:

darcs add ab

and then press TAB to get 'ab' completed
to a file name, my shell freezes until
I press Ctrl-C, and then I get an error
message from darcs (just 'withSignalsHandled:
Interrupted').

Why? I don't understand about shell
completion, but why should darcs be called?
And why it doesn't return?

I'm using Ubuntu 8.10 with darcs 2.0.2.

Thanks,
Maurício
msg6725 (view) Author: twb Date: 2008-11-23.01:48:55
[Argh, sorry.  Due to a "feature" in my MTA, this ticket looked like I
created it, not Maurício.]

Mauricio <briqueabraque@yahoo.com> writes:

> When I write something like:
>
> darcs add ab
>
> and then press TAB to get 'ab' completed
> to a file name, my shell freezes until
> I press Ctrl-C, and then I get an error
> message from darcs (just 'withSignalsHandled:
> Interrupted').
>
> Why? I don't understand about shell
> completion, but why should darcs be called?

Darcs is being called because there's a custom bash completion
function just for bash, to allow you to type "darcs rep<TAB>" and have
it complete to either "repair" or "replace".

It does this by calling "darcs --commands", but it's notoriously
flaky.  A long-standing annoyance I've had is that it doesn't
understand --repodir at all, so I get no tab completion when calling
darcs from somewhere outside of a repo (as is my wont).

> And why it doesn't return?

It looks to me like the bash completion code is running darcs, but the
command it's running is accidentally doing real work, rather than just
listing completions.

I tried to reproduce the problem here (Debian Lenny, Bash 3.2, Darcs
2.1.0) and I couldn't.  Maurício, can you provide instructions that
reliably reproduce the problem on your system?  Please try to distill
the problem down to just what is necessary to cause the problem,
e.g. making it happen in a new darcs repo, rather than in an existing
project.
msg6729 (view) Author: twb Date: 2008-11-24.00:49:34
Maurício writes:

>> I tried to reproduce the problem here and I couldn't.  Maurício,
>> can you provide instructions that reliably reproduce the problem on
>> your system?  Please try to distill the problem down to just what
>> is necessary to cause the problem, e.g. making it happen in a new
>> darcs repo, rather than in an existing project.
>
> Yes, I was able to narrow the problem. If I create a new darcs repo
> in a dir, and try tab completion from there, I have no problems.
>
> I have a darcs repository in my home dir, to keep track of my
> configuration files. I have the same problem in another computer,
> which also uses this same repository. So, my problem seems specific
> to this repo.

Can you publish the repository somewhere, so that we can try to
reproduce the problem?  If it is small (under 2 megabytes) you could
make a tarball and send it to this bug as an attachment.

> Do you think it is a problem with the repository? 'darcs check' says
> everything is ok.

I think your repo is valid, and there is a bug in the shell completion
code.  But before I can find the bug, I need to be able to reliably
reproduce the problem -- which means I need a copy of repo that causes
the problem, or instructions on how to make such a repo.
msg6730 (view) Author: briqueabraque Date: 2008-11-24.02:24:37
> Can you publish the repository somewhere (...)

It's already published, and public domain, except
for the gsl binding scratch which contain some GPL
files :). It's in my home directory in code.haskell.org,
my username is 'mauricio'. I don't know exactly how
you can reach that. I think you can get it like this:

darcs get <username>@code.haskell.org:/home/mauricio

All files have read access turned on for all.
msg6848 (view) Author: kowey Date: 2008-12-21.17:19:49
Mauricio: please create a public_html directory and a symlink to your directory
on code.haskell.org.  This will make it more convenient for folks to fetch your
repository.  Thanks!  See http://code.haskell.org/~kowey for example.

Marking need-info until we can get our hands on the repository :-)
msg6863 (view) Author: briqueabraque Date: 2008-12-22.17:48:03
Done. You can get it with

darcs get http://code.haskell.org/~mauricio

I just simlinked _darcs, so you will still
see my favorite links page with your browser,
but darcs get will work.

I would like to rebuild my home repo. Would
you please let me a note when you don't
need it anymore?
msg6864 (view) Author: kowey Date: 2008-12-22.17:57:07
Mauricio: thanks!  Thorkil: what next?
msg7215 (view) Author: briqueabraque Date: 2009-01-26.15:34:28
Sorry, I have to rebuild my repo. I think this will not
be important, since there are other requests related to
zsh completion with issues easier to reproduce.

Thanks for your help.
msg23005 (view) Author: bfrk Date: 2022-06-07.07:13:47
Shell completion works fine nowadays, mostly, after a series of 
patches to both the bash and zsh completion scripts and the way --
list-options and --commands switches behave.
History
Date User Action Args
2008-11-23 01:26:33twbcreate
2008-11-23 01:48:58twbsetstatus: unread -> unknown
nosy: kowey, dagit, simon, twb, thorkilnaur, dmitry.kurochkin
messages: + msg6725
2008-11-24 00:49:37twbsetnosy: kowey, dagit, simon, twb, thorkilnaur, dmitry.kurochkin
messages: + msg6729
2008-11-24 02:24:40briqueabraquesetnosy: + briqueabraque
messages: + msg6730
2008-12-21 17:19:51koweysetpriority: bug
nosy: kowey, dagit, simon, twb, thorkilnaur, dmitry.kurochkin, briqueabraque
messages: + msg6848
2008-12-21 17:20:03koweysetstatus: unknown -> waiting-for
nosy: kowey, dagit, simon, twb, thorkilnaur, dmitry.kurochkin, briqueabraque
2008-12-21 23:32:51twbsetnosy: - twb
2008-12-22 17:48:06briqueabraquesetnosy: kowey, dagit, simon, thorkilnaur, dmitry.kurochkin, briqueabraque
messages: + msg6863
2008-12-22 17:57:09koweysetstatus: waiting-for -> unknown
nosy: kowey, dagit, simon, thorkilnaur, dmitry.kurochkin, briqueabraque
messages: + msg6864
2009-01-26 15:34:31briqueabraquesetstatus: unknown -> given-up
nosy: kowey, dagit, simon, thorkilnaur, dmitry.kurochkin, briqueabraque
messages: + msg7215
2009-08-10 23:52:02adminsetnosy: - dagit
2009-08-25 17:34:55adminsetnosy: + darcs-devel, - simon
2009-08-27 14:15:28adminsetnosy: kowey, darcs-devel, thorkilnaur, dmitry.kurochkin, briqueabraque
2022-06-07 07:13:48bfrksetstatus: given-up -> resolved
messages: + msg23005