git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH not-for-mainline] Implement git-vcs-p4

From
ILIlari Liusvaara <ilari.liusvaara@elisanet.fi>
Date
Jan 27, 2010, 17:14 UTC
Message-ID
<20100127171426.GA20820@Knoppix>
In-Reply-To
<alpine.LNX.2.00.1001271145500.14365@iabervon.org>
On Wed, Jan 27, 2010 at 11:49:02AM -0500, Daniel Barkalow wrote:
Show 39 quoted lines
> On Wed, 27 Jan 2010, Ilari Liusvaara wrote:
> 
> > On Wed, Jan 27, 2010 at 12:18:35PM +0100, Tor Arvid Lund wrote:
> > 
> > > Then, I did 'git fetch', and got a seg fault. I got around it by
> > > commenting out a line:
> > > 
> > > diff --git a/transport.c b/transport.c
> > > index 7714fdb..5b404f7 100644
> > > --- a/transport.c
> > > +++ b/transport.c
> > > @@ -924,7 +924,7 @@ struct transport *transport_get(struct remote
> > > *remote, const char *url)
> > >         ret->url = url;
> > > 
> > >         /* In case previous URL had helper forced, reset it. */
> > > -       remote->foreign_vcs = NULL;
> > > +/*     remote->foreign_vcs = NULL;*/
> > > 
> > >         /* maybe it is a foreign URL? */
> > >         if (url) {
> > > 
> > 
> > Hmm... And just commenting out that line will break case if you have
> > push URL using remote helpers and second one for same remote that
> > doesn't. 
> > 
> > I'll look into that issue.
> 
> I think that field should only be used for things like:
> 
> [remote "foo"]
> 	vcs = something
> 	...
> 
> and the case where the helper is inferred from the URL shouldn't use a 
> field on the remote, but be passing the information around in function 
> arguments. A field of the struct remote only really makes sense with 
> information that applies to the whole remote.
Why that 'remote->foreign_vcs = NULL;' is there is the following case:

[remote "origin"] url = gits::git://[@/tmp/gits]/git-d2 url = ssh://repo.or.cz/srv/git/git-daemon2.git

The first URL is handled by 'gits' helper (as it should). But without resetting the helper, it tries to pass that ssh:// URL to 'gits' helper too (instead of handling it internally).

But, that reset didn't take the vcs setting into account.
-Ilari
Previous: Daniel BarkalowNext: Daniel Barkalow
Message 8 of 11 in “Implement git-vcs-p4”
  1. Implement git-vcs-p4Daniel Barkalow, Jan 25, 2010
  2. Sverre RabbelierJan 25, 2010
  3. Daniel BarkalowJan 25, 2010
  4. Sverre RabbelierJan 25, 2010
  5. Tor Arvid LundJan 27, 2010
  6. Ilari LiusvaaraJan 27, 2010
  7. Daniel BarkalowJan 27, 2010
  8. Ilari LiusvaaraJan 27, 2010
  9. Daniel BarkalowJan 27, 2010
  10. Ilari LiusvaaraJan 27, 2010
  11. Daniel BarkalowJan 27, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.