git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Chris Packham <judge.packham@gmail.com>
Cc: git@vger.kernel.org, chriscool@tuxfamily.org, jepler@unpythonic.net
Subject: Re: [PATCH] git-web--browse: invoke kfmclient directly
Date: Sun, 18 Sep 2011 14:38:47 -0400	[thread overview]
Message-ID: <20110918183846.GA31176@sigill.intra.peff.net> (raw)
In-Reply-To: <1316341224-4359-1-git-send-email-judge.packham@gmail.com>

On Sun, Sep 18, 2011 at 10:20:24PM +1200, Chris Packham wrote:

> Instead of using eval which causes problems when a URL contains an
> appropriately escaped ampersand (\&).

I think this probably should just remove all of the evals. I don't see
how any of them is doing any good, and they're actively breaking URLs
that need quoting.

Hmm. Actually, the one for custom browser commands might need it,
because that one is expected to be a shell snippet. I suspect the
simplest thing is to do something like:

  eval "$browser_cmd \"\$@\""

The other option would be to actually shell-quote each argument, which
is a pain to do in the shell (but is what C git does).

> For what it's worth I've included a testcase that detects my problem. I'm not
> sure if the testcase is really worth it because the test library suppresses X
> applications and even if it didn't the testcase is fairly trivial and might
> just annoy people by opening web-browsers (and it snaps up the last t99xx
> prefix).

Ick, yeah. Actually starting real browsers interacts too much with the
world outside of the test scripts. The results will be annoying (new
browser windows) and cause non-deterministic test results.

If you want to make a test, I think you would do better with something
like:

  echo someurl_with_&_in_it >expect &&
  git config browser.custom.cmd echo &&
  git web--browse --browser=custom someurl_with_&_in_it >actual &&
  test_cmp expect actual

That won't test that we are invoking kfmclient correctly, obviously, but
you can confirm at least that URLs are making it through to the browser
script intact.

-Peff

  reply	other threads:[~2011-09-18 18:42 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-17  2:29 [RFC/PATCH] Configurable hyperlinking in gitk Jeff Epler
2011-09-17  9:26 ` Chris Packham
2011-09-17 10:01   ` Chris Packham
2011-09-17 13:45   ` Jeff Epler
2011-09-17 23:33     ` Chris Packham
2011-09-18  0:30       ` git web--browse error handling URL with & in it (Was Re: [RFC/PATCH] Configurable hyperlinking in gitk) Chris Packham
2011-09-18  0:32         ` Chris Packham
2011-09-18  3:29           ` Jeff King
2011-09-18 10:20             ` [PATCH] git-web--browse: invoke kfmclient directly Chris Packham
2011-09-18 18:38               ` Jeff King [this message]
2011-09-19  9:26                 ` [RFC/PATCHv2] git-web--browse: avoid the use of eval Chris Packham
2011-09-19 18:34                   ` Jeff King
2011-09-20  9:04                     ` Chris Packham
2011-09-20 18:49                       ` Jeff King
2011-09-20 19:35                         ` Junio C Hamano
2011-09-19 17:57                 ` [PATCH] git-web--browse: invoke kfmclient directly Junio C Hamano
2011-09-19 18:20                   ` Jeff King
2011-09-19 20:42                     ` Junio C Hamano
2011-09-19 20:44                       ` Jeff King
2011-09-19 21:22                         ` Junio C Hamano
2011-09-19 21:46                           ` Andreas Schwab
2011-09-19 22:23                             ` Jeff King
2011-09-19 22:28                               ` Junio C Hamano
2011-09-19 20:44                     ` Andreas Schwab
2011-09-19 21:32                   ` Jakub Narebski
2011-09-18 14:46             ` git web--browse error handling URL with & in it (Was Re: [RFC/PATCH] Configurable hyperlinking in gitk) Christian Couder
2011-09-19 15:05       ` [RFC/PATCH] Configurable hyperlinking in gitk Marc Branchaud
2011-09-18 18:50   ` Jakub Narebski
2011-09-22  1:31     ` Jeff Epler
2011-09-22  2:15       ` [PATCH v3] " Jeff Epler
2011-10-11 18:37       ` [RESEND PATCH " Jeff Epler
2011-10-11 22:13         ` Junio C Hamano
2011-10-12  9:07           ` Chris Packham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110918183846.GA31176@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=jepler@unpythonic.net \
    --cc=judge.packham@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).