Re: [PATCH 1/3] Move remote parsing into a library file out of builtin-push.

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

 



Daniel Barkalow <barkalow@xxxxxxxxxxxx> writes:

> On Thu, 10 May 2007, Junio C Hamano wrote:
>
>> Daniel Barkalow <barkalow@xxxxxxxxxxxx> writes:
>> 
>> >> And I think it does today.
>> >
>> > Hmm, and I guess URIs on the command line work the same way. How about 
>> > requiring a '/' somewhere in a repository argument in order to treat it as 
>> > a repository instead of a remote name? Then "../next-door-neighbour" would 
>> > work, "./gitcvs.git" would work (in the odd case where you actually have a 
>> > bare repository sitting in your working directory), but we'd avoid the 
>> > current default of pushing to a bare repository in "./origin/" if nothing 
>> > at all is configured.
>> 
>> When I wrote the message you are responding to, I thought this
>> was a regression from the current behaviour, which (IIRC--it's
>> getting late and I am tired to double check) essentially says if
>> the token is a name of the directory, the target repository is a
>> local one, but "we'd avoid..." part seems to suggest that you
>> actually did this deliberately as a fix to some problem in the
>> current behaviour.  I am not however sure what it exactly is.
>> Could you care to elaborate the part after "we'd avoid..." to
>> clarify what the problem is, please?
>
> The problem, in general, is that, if the remote name you specify (or 
> "origin" if you don't specify any) is not configured as a remote, it is 
> treated as a filename in the current directory for a local push. E.g.:
>
> $ git init
> $ git push
> fatal: 'origin': unable to chdir or not a git archive
> fatal: The remote end hung up unexpectedly

Ahh.  You were trying to give it a better error message.

I think I lied in the previous message.  I said we try to see if
it is a local directory name before using that name, but we do
not do it, and leave the error detection to the lower level on
the other side (push spawns send-pack which in turn spawns
receive-pack) instead.

Perhaps an alternative is to see if the name is configured as a
remote (if so, we obviously use it), and if not do stat() to see
if it is a directory (if so, use it as a local repository).
Then we do not have to impose new restriction of slash at all,
although it might complicate the code a bit more.

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux