All of lore.kernel.org
 help / color / mirror / Atom feed
* regarding fix on "git clone $there $here"
@ 2018-05-09  5:25 Leslie Wang
  2018-05-09  6:41 ` Jeff King
  2018-05-09  6:44 ` Junio C Hamano
  0 siblings, 2 replies; 4+ messages in thread
From: Leslie Wang @ 2018-05-09  5:25 UTC (permalink / raw)
  To: git

Dear git experts,

Recently we try to upgrade ubuntu from 17.10 to 18.04, then we found one inconsistent behavior on git clone.

At 2.14.1 or 2.15.1, if I run command like 
 - mkdir /tmp/111
 - git clone git@github.com:111/111 /tmp/111

because it will failure, then /tmp/111 will be removed automatically.

However, at latest 2.17.0 which is part of ubuntu 18.04, seems like git clone failure will not auto remove this folder. I notice 2.16.2 and 2.17.0 release note includes this fix. So just wonder to know if prior behavior was think of bug, and this fix has change the behavior. 

 * "git clone $there $here" is allowed even when here directory exists
   as long as it is an empty directory, but the command incorrectly
   removed it upon a failure of the operation.

Thanks & Regards
Leslie Wang

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: regarding fix on "git clone $there $here"
  2018-05-09  5:25 regarding fix on "git clone $there $here" Leslie Wang
@ 2018-05-09  6:41 ` Jeff King
  2018-05-09  6:44 ` Junio C Hamano
  1 sibling, 0 replies; 4+ messages in thread
From: Jeff King @ 2018-05-09  6:41 UTC (permalink / raw)
  To: Leslie Wang; +Cc: git

On Tue, May 08, 2018 at 10:25:58PM -0700, Leslie Wang wrote:

> Recently we try to upgrade ubuntu from 17.10 to 18.04, then we found
> one inconsistent behavior on git clone.
> 
> At 2.14.1 or 2.15.1, if I run command like 
>  - mkdir /tmp/111
>  - git clone git@github.com:111/111 /tmp/111
> 
> because it will failure, then /tmp/111 will be removed automatically.
> 
> However, at latest 2.17.0 which is part of ubuntu 18.04, seems like
> git clone failure will not auto remove this folder. I notice 2.16.2
> and 2.17.0 release note includes this fix. So just wonder to know if
> prior behavior was think of bug, and this fix has change the behavior. 
> 
>  * "git clone $there $here" is allowed even when here directory exists
>    as long as it is an empty directory, but the command incorrectly
>    removed it upon a failure of the operation.

Right, the old behavior was considered a bug. Git didn't create the
directory, so when rolling back its changes on failure, it shouldn't
delete it either.

-Peff

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: regarding fix on "git clone $there $here"
  2018-05-09  5:25 regarding fix on "git clone $there $here" Leslie Wang
  2018-05-09  6:41 ` Jeff King
@ 2018-05-09  6:44 ` Junio C Hamano
  2018-05-09 16:47   ` Leslie Wang
  1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2018-05-09  6:44 UTC (permalink / raw)
  To: Leslie Wang; +Cc: git

Leslie Wang <qiwa@pensando.io> writes:

> At 2.14.1 or 2.15.1, if I run command like 
>  - mkdir /tmp/111
>  - git clone git@github.com:111/111 /tmp/111
>
> because it will failure, then /tmp/111 will be removed automatically.

Yes, this was a (longstanding) bug that nobody bothered to fix for a
long time.  As "git clone" did not create /tmp/111 but it was given
to it by the external world, it shouldn't remove it upon failure.
Of course, if you omit the "mkdir" in the above sequence and let
"git clone" create /tmp/111, tne Git will remove it upon failure as
part of the clean-up.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: regarding fix on "git clone $there $here"
  2018-05-09  6:44 ` Junio C Hamano
@ 2018-05-09 16:47   ` Leslie Wang
  0 siblings, 0 replies; 4+ messages in thread
From: Leslie Wang @ 2018-05-09 16:47 UTC (permalink / raw)
  To: Junio C Hamano, Jeff King; +Cc: git

Thanks for the confirmation. It is very helpful!

Best Regards
Leslie Wang



> On May 8, 2018, at 11:44 PM, Junio C Hamano <gitster@pobox.com> wrote:
> 
> Leslie Wang <qiwa@pensando.io> writes:
> 
>> At 2.14.1 or 2.15.1, if I run command like 
>> - mkdir /tmp/111
>> - git clone git@github.com:111/111 /tmp/111
>> 
>> because it will failure, then /tmp/111 will be removed automatically.
> 
> Yes, this was a (longstanding) bug that nobody bothered to fix for a
> long time.  As "git clone" did not create /tmp/111 but it was given
> to it by the external world, it shouldn't remove it upon failure.
> Of course, if you omit the "mkdir" in the above sequence and let
> "git clone" create /tmp/111, tne Git will remove it upon failure as
> part of the clean-up.
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-09 16:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-09  5:25 regarding fix on "git clone $there $here" Leslie Wang
2018-05-09  6:41 ` Jeff King
2018-05-09  6:44 ` Junio C Hamano
2018-05-09 16:47   ` Leslie Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.