All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug] Possible Windows 'git mv' bug
@ 2016-01-31 14:03 Aaron Gray
  2016-01-31 14:50 ` Johannes Sixt
  2016-01-31 15:52 ` Torsten Bögershausen
  0 siblings, 2 replies; 7+ messages in thread
From: Aaron Gray @ 2016-01-31 14:03 UTC (permalink / raw)
  To: Git Mailing List

Hi,

I think I have found a possible difference in behaviour between
Windows git commandline distro and Linux git

basically If I do a :-

    git mv logger.h Logger.h

I get the following :-

    fatal: destination exists, source=lib/logger.h, destination=lib/Logger.h

It looks and smells like a bug to me !

Regards,

Aaron

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 14:03 [bug] Possible Windows 'git mv' bug Aaron Gray
@ 2016-01-31 14:50 ` Johannes Sixt
  2016-01-31 15:05   ` Doug Kelly
  2016-01-31 15:38   ` Aaron Gray
  2016-01-31 15:52 ` Torsten Bögershausen
  1 sibling, 2 replies; 7+ messages in thread
From: Johannes Sixt @ 2016-01-31 14:50 UTC (permalink / raw)
  To: Aaron Gray; +Cc: Git Mailing List

Am 31.01.2016 um 15:03 schrieb Aaron Gray:
> Hi,
>
> I think I have found a possible difference in behaviour between
> Windows git commandline distro and Linux git
>
> basically If I do a :-
>
>      git mv logger.h Logger.h
>
> I get the following :-
>
>      fatal: destination exists, source=lib/logger.h, destination=lib/Logger.h
>
> It looks and smells like a bug to me !

Not really. When you attempt to overwrite an existing file with 'git 
mv', you get this error message on both Windows and Linux.

The difference is that logger.h and Logger.h are the same file on 
Windows, but they are not on Linux. Hence, when you attempt to overwrite 
Logger.h on Windows, you see the error because it exists already (as 
logger.h).

As a work-around, you can use -f.

-- Hannes

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 14:50 ` Johannes Sixt
@ 2016-01-31 15:05   ` Doug Kelly
  2016-01-31 15:36     ` Aaron Gray
  2016-01-31 15:38   ` Aaron Gray
  1 sibling, 1 reply; 7+ messages in thread
From: Doug Kelly @ 2016-01-31 15:05 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Aaron Gray, Git Mailing List

On Sun, Jan 31, 2016 at 8:50 AM, Johannes Sixt <j6t@kdbg.org> wrote:
> Am 31.01.2016 um 15:03 schrieb Aaron Gray:
>>
>> Hi,
>>
>> I think I have found a possible difference in behaviour between
>> Windows git commandline distro and Linux git
>>
>> basically If I do a :-
>>
>>      git mv logger.h Logger.h
>>
>> I get the following :-
>>
>>      fatal: destination exists, source=lib/logger.h,
>> destination=lib/Logger.h
>>
>> It looks and smells like a bug to me !
>
>
> Not really. When you attempt to overwrite an existing file with 'git mv',
> you get this error message on both Windows and Linux.
>
> The difference is that logger.h and Logger.h are the same file on Windows,
> but they are not on Linux. Hence, when you attempt to overwrite Logger.h on
> Windows, you see the error because it exists already (as logger.h).
>
> As a work-around, you can use -f.
>
> -- Hannes

Indeed.  And just to clarify, you'll get the same issue on OS X, where
the filesystem is also case-preserving, not case-sensitive (by
default, at least).  I've never tried using -f for this, but I'll
usually use git mv twice to achieve the same result.  Annoying, but
that way my local directory looks correct, too.

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 15:05   ` Doug Kelly
@ 2016-01-31 15:36     ` Aaron Gray
  0 siblings, 0 replies; 7+ messages in thread
From: Aaron Gray @ 2016-01-31 15:36 UTC (permalink / raw)
  To: Doug Kelly; +Cc: Johannes Sixt, Git Mailing List

On 31 January 2016 at 15:05, Doug Kelly <dougk.ff7@gmail.com> wrote:
> On Sun, Jan 31, 2016 at 8:50 AM, Johannes Sixt <j6t@kdbg.org> wrote:
>> Am 31.01.2016 um 15:03 schrieb Aaron Gray:
>>> I think I have found a possible difference in behaviour between
>>> Windows git commandline distro and Linux git
>>>
>>> basically If I do a :-
>>>
>>>      git mv logger.h Logger.h
>>>
>>> I get the following :-
>>>
>>>      fatal: destination exists, source=lib/logger.h,
>>> destination=lib/Logger.h
>>>
>
> Indeed.  And just to clarify, you'll get the same issue on OS X, where
> the filesystem is also case-preserving, not case-sensitive (by
> default, at least).  I've never tried using -f for this, but I'll
> usually use git mv twice to achieve the same result.  Annoying, but
> that way my local directory looks correct, too.

Ah, double up via a temporary name, cool hack !

Aaron

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 14:50 ` Johannes Sixt
  2016-01-31 15:05   ` Doug Kelly
@ 2016-01-31 15:38   ` Aaron Gray
  1 sibling, 0 replies; 7+ messages in thread
From: Aaron Gray @ 2016-01-31 15:38 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Git Mailing List

On 31 January 2016 at 14:50, Johannes Sixt <j6t@kdbg.org> wrote:
> Am 31.01.2016 um 15:03 schrieb Aaron Gray:
>>
>> Hi,
>>
>> I think I have found a possible difference in behaviour between
>> Windows git commandline distro and Linux git
>>
>> basically If I do a :-
>>
>>      git mv logger.h Logger.h
>>
>> I get the following :-
>>
>>      fatal: destination exists, source=lib/logger.h,
>> destination=lib/Logger.h
>>
>> It looks and smells like a bug to me !
>
>
> Not really. When you attempt to overwrite an existing file with 'git mv',
> you get this error message on both Windows and Linux.
>
> The difference is that logger.h and Logger.h are the same file on Windows,
> but they are not on Linux. Hence, when you attempt to overwrite Logger.h on
> Windows, you see the error because it exists already (as logger.h).
>
> As a work-around, you can use -f.

Thanks Hannes !

Still a bug though IMHO

Aaron

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 14:03 [bug] Possible Windows 'git mv' bug Aaron Gray
  2016-01-31 14:50 ` Johannes Sixt
@ 2016-01-31 15:52 ` Torsten Bögershausen
  2016-02-01  6:32   ` Johannes Schindelin
  1 sibling, 1 reply; 7+ messages in thread
From: Torsten Bögershausen @ 2016-01-31 15:52 UTC (permalink / raw)
  To: Aaron Gray, Git Mailing List

On 2016-01-31 15.03, Aaron Gray wrote:
> Hi,
> 
> I think I have found a possible difference in behaviour between
> Windows git commandline distro and Linux git
> 
> basically If I do a :-
> 
>     git mv logger.h Logger.h
> 
> I get the following :-
> 
>     fatal: destination exists, source=lib/logger.h, destination=lib/Logger.h
> 
> It looks and smells like a bug to me !
Which version of Git are you using ?
Because it is fixed in the latest version in Git and Git for Windows.

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

* Re: [bug] Possible Windows 'git mv' bug
  2016-01-31 15:52 ` Torsten Bögershausen
@ 2016-02-01  6:32   ` Johannes Schindelin
  0 siblings, 0 replies; 7+ messages in thread
From: Johannes Schindelin @ 2016-02-01  6:32 UTC (permalink / raw)
  To: Aaron Gray; +Cc: Torsten Bögershausen, Git Mailing List

[-- Attachment #1: Type: text/plain, Size: 2232 bytes --]

Hi Aaron,

On Sun, 31 Jan 2016, Torsten Bögershausen wrote:

> On 2016-01-31 15.03, Aaron Gray wrote:
> > 
> > I think I have found a possible difference in behaviour between
> > Windows git commandline distro and Linux git
> > 
> > basically If I do a :-
> > 
> >     git mv logger.h Logger.h
> > 
> > I get the following :-
> > 
> >     fatal: destination exists, source=lib/logger.h, destination=lib/Logger.h
> > 
> > It looks and smells like a bug to me !

Thanks for your bug report. Having said that, I would like to suggest a
couple improvements for future reference:

Git for Windows' home page (https://git-for-windows.github.com/#contribute)
asks explicitly to please open tickets on Git for Windows' bug tracker
(https://github.com/git-for-windows/git/issues).

Also, at least one crucial bit of information is missing: the Git for
Windows version. Typically this is enough, but the Windows version is
often also crucial. To prevent crucial bits of information from missing, I
highly recommend volunteering information up front (in my mind, a good
rule of thumb is: spend as much care crafting your bug report and thinking
about what to include as you would wish the combined readership would
spend on helping you). If I may say so, I provided a good list of advices
to help crafting bug reports:
https://github.com/git-for-windows/git/wiki/Issue-reporting-guidelines

> Which version of Git are you using ?
> Because it is fixed in the latest version in Git and Git for Windows.

Another piece of advice I detail in our issue reporting guidelines is to
search the existing bug tracker (one purpose of the tracker is to keep
track of what has been reported and what has not yet been reported, after
all).

And indeed, I opened this ticket:

	https://github.com/git-for-windows/git/issues/419

... whose initial report incidentally also lacks the crucial information
mentioned above! So I have to step up my own game, too.

This report *also* includes detailed information, though, in particular
that Torsten fixed this issue a long time ago, which suggests to me that
you are somehow still stuck with the 1.x train (run `git version` to find
out).

Ciao,
Johannes

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

end of thread, other threads:[~2016-02-01  6:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-31 14:03 [bug] Possible Windows 'git mv' bug Aaron Gray
2016-01-31 14:50 ` Johannes Sixt
2016-01-31 15:05   ` Doug Kelly
2016-01-31 15:36     ` Aaron Gray
2016-01-31 15:38   ` Aaron Gray
2016-01-31 15:52 ` Torsten Bögershausen
2016-02-01  6:32   ` Johannes Schindelin

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.