diff -r won't recurse

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

diff -r won't recurse

Michael Lemke
I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
to walk the tree.  strace doesn't give me a clue.  Any ideas?

Thanks,
Michael

----------------------------------------------------------------
Profitieren Sie von der sicheren E-Mail-Übertragung Ihrer Daten mit einer kostenlosen E-Mail-Adresse der Telekom.
www.t-online.de/email-kostenlos



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Andrey Repin
Greetings, [hidden email]!

> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
> to walk the tree.  strace doesn't give me a clue.  Any ideas?

Try /d/ /g/ ?
Cygdrive automounts are implicit.
Though, I'm unable to reproduce your case.

$ ls -l /?
ls: cannot access /?: No such file or directory

$ diff -r /w /x
Only in /w: $RECYCLE.BIN
Only in /x: OS2
Only in /w: ssh-1Pr6UITz
Only in /w: System Volume Information
Only in /x: WINNT


--
With best regards,
Andrey Repin
Friday, April 3, 2015 17:33:00

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

waterlan
In reply to this post by Michael Lemke
Op 3-4-2015 om 16:17 schreef [hidden email]:
> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
> to walk the tree.  strace doesn't give me a clue.  Any ideas?
there are no differences
;)

--
Erwin Waterlander
http://waterlan.home.xs4all.nl/


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Andrey Repin
Greetings, Erwin Waterlander!

>> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
>> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
>> to walk the tree.  strace doesn't give me a clue.  Any ideas?
> there are no differences
> ;)

:S
Why I didn't though of that first?

P.S.
Please, no cleartext email quoting. Thanks.


--
With best regards,
Andrey Repin
Friday, April 3, 2015 23:30:44

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

AW: diff -r won't recurse

Michael Lemke
In reply to this post by Andrey Repin
On Fri, 03 Apr 2015 16:50:09 +0200  Andrey Repin wrote:

>> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
>> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
>> to walk the tree.  strace doesn't give me a clue.  Any ideas?
>
>Try /d/ /g/ ?
>Cygdrive automounts are implicit.
>Though, I'm unable to reproduce your case.
>
>$ ls -l /?
>ls: cannot access /?: No such file or directory
>
>$ diff -r /w /x
>Only in /w: $RECYCLE.BIN
>Only in /x: OS2
>Only in /w: ssh-1Pr6UITz
>Only in /w: System Volume Information
>Only in /x: WINNT
>

Yes, that's what I expected.  And Erwin Waterlander suggested:
> there are no differences
> ;)

I wish it were so.  Nevertheless (-s lists identical files):
orion> diff -q -r -s /d/Program\ Files /g/Program\ Files
orion>

But
orion> ls /d/Program\ Files /g/Program\ Files
/d/Program Files:
7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
... snipped.

/g/Program Files:
7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
... more snipped.

I am sure this got something to do with this being on a cloned disk running in a XP
virtual machine (vmplayer on Win 8,1).


Thanks,
Michael

P.S. For some reason I can't subscribe properly to the list. It rejected my first request
and following the instructions I received as a result wasn't successful.

----------------------------------------------------------------
Profitieren Sie von der sicheren E-Mail-Übertragung Ihrer Daten mit einer kostenlosen E-Mail-Adresse der Telekom.
www.t-online.de/email-kostenlos



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Michael Lemke
>On Sat, 04 Apr 2015 20:09:56 +0200 I wrote:
>On Fri, 03 Apr 2015 16:50:09 +0200  Andrey Repin wrote:
>>> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
>>> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
>>> to walk the tree.  strace doesn't give me a clue.  Any ideas?
>>
>>Try /d/ /g/ ?
>>Cygdrive automounts are implicit.
>>Though, I'm unable to reproduce your case.
>>
>>$ ls -l /?
>>ls: cannot access /?: No such file or directory
>>
>>$ diff -r /w /x
>>Only in /w: $RECYCLE.BIN
>>Only in /x: OS2
>>Only in /w: ssh-1Pr6UITz
>>Only in /w: System Volume Information
>>Only in /x: WINNT
>>
>
>Yes, that's what I expected.  And Erwin Waterlander suggested:
>> there are no differences
>> ;)
>
>I wish it were so.  Nevertheless (-s lists identical files):
>orion> diff -q -r -s /d/Program\ Files /g/Program\ Files
>orion>
>
>But
>orion> ls /d/Program\ Files /g/Program\ Files
>/d/Program Files:
>7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
>... snipped.
>
>/g/Program Files:
>7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
>... more snipped.
>
>I am sure this got something to do with this being on a cloned disk running in a XP
>virtual machine (vmplayer on Win 8,1).
>

Clutching at straws (note the identical serial number, does it confuse Cygwin?):

 orion> /usr/lib/csih/getVolInfo.exe /g
Device Type        : 7
Characteristics    : 20
Volume Name        : <ND D (HDD)>
Serial Number      : 3357258338
Max Filenamelength : 255
Filesystemname     : <NTFS>
Flags              : 700ff
  FILE_CASE_SENSITIVE_SEARCH  : TRUE
  FILE_CASE_PRESERVED_NAMES   : TRUE
  FILE_UNICODE_ON_DISK        : TRUE
  FILE_PERSISTENT_ACLS        : TRUE
  FILE_FILE_COMPRESSION       : TRUE
  FILE_VOLUME_QUOTAS          : TRUE
  FILE_SUPPORTS_SPARSE_FILES  : TRUE
  FILE_SUPPORTS_REPARSE_POINTS: TRUE
  FILE_SUPPORTS_REMOTE_STORAGE: FALSE
  FILE_VOLUME_IS_COMPRESSED   : FALSE
  FILE_SUPPORTS_OBJECT_IDS    : TRUE
  FILE_SUPPORTS_ENCRYPTION    : TRUE
  FILE_NAMED_STREAMS          : TRUE
  FILE_READ_ONLY_VOLUME       : FALSE
  FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
  FILE_SUPPORTS_TRANSACTIONS  : FALSE

 orion> /usr/lib/csih/getVolInfo.exe /d
Device Type        : 7
Characteristics    : 20
Volume Name        : <ND D (HDD)>
Serial Number      : 3357258338
Max Filenamelength : 255
Filesystemname     : <NTFS>
Flags              : 700ff
  FILE_CASE_SENSITIVE_SEARCH  : TRUE
  FILE_CASE_PRESERVED_NAMES   : TRUE
  FILE_UNICODE_ON_DISK        : TRUE
  FILE_PERSISTENT_ACLS        : TRUE
  FILE_FILE_COMPRESSION       : TRUE
  FILE_VOLUME_QUOTAS          : TRUE
  FILE_SUPPORTS_SPARSE_FILES  : TRUE
  FILE_SUPPORTS_REPARSE_POINTS: TRUE
  FILE_SUPPORTS_REMOTE_STORAGE: FALSE
  FILE_VOLUME_IS_COMPRESSED   : FALSE
  FILE_SUPPORTS_OBJECT_IDS    : TRUE
  FILE_SUPPORTS_ENCRYPTION    : TRUE
  FILE_NAMED_STREAMS          : TRUE
  FILE_READ_ONLY_VOLUME       : FALSE
  FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
  FILE_SUPPORTS_TRANSACTIONS  : FALSE



----------------------------------------------------------------
Profitieren Sie von der sicheren E-Mail-Übertragung Ihrer Daten mit einer kostenlosen E-Mail-Adresse der Telekom.
www.t-online.de/email-kostenlos



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Michael Lemke
>
>-----Original-Nachricht-----
>Betreff: Re: diff -r won't recurse
>Datum: Sat, 04 Apr 2015 20:29:40 +0200
>Von: "[hidden email]" <[hidden email]>
>An: [hidden email]
>
>>On Sat, 04 Apr 2015 20:09:56 +0200 I wrote:
>>On Fri, 03 Apr 2015 16:50:09 +0200  Andrey Repin wrote:
>>>> I've got a strange problem: diff -r /d /g won't recurse into the two directories.  /d and /g are the
>>>> roots of two disks where /g is a clone (disk2vhd) of /d.  ls -R and other tools have no problems
>>>> to walk the tree.  strace doesn't give me a clue.  Any ideas?
>>>
>>Yes, that's what I expected.  And Erwin Waterlander suggested:
>>> there are no differences
>>> ;)
>>
>>I wish it were so.  Nevertheless (-s lists identical files):
>>orion> diff -q -r -s /d/Program\ Files /g/Program\ Files
>>orion>
>>
>>But
>>orion> ls /d/Program\ Files /g/Program\ Files
>>/d/Program Files:
>>7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
>>... snipped.
>>
>>/g/Program Files:
>>7-Zip                                        GPS-Track-Analyse-6                                PlotSoft
>>... more snipped.
>>
>>I am sure this got something to do with this being on a cloned disk running in a XP
>>virtual machine (vmplayer on Win 8,1).
>>
>
>Clutching at straws (note the identical serial number, does it confuse Cygwin?):
>
> orion> /usr/lib/csih/getVolInfo.exe /g
>Device Type        : 7
>Characteristics    : 20
>Volume Name        : <ND D (HDD)>
>Serial Number      : 3357258338
...
>
> orion> /usr/lib/csih/getVolInfo.exe /d
>Device Type        : 7
>Characteristics    : 20
>Volume Name        : <ND D (HDD)>
>Serial Number      : 3357258338

This was it.  I changed the Volume Serial Number with a Sysinternals tool
(https://technet.microsoft.com/en-us/sysinternals/bb897436.aspx)
and after a reboot diff now recurses into the directories in question.

Now is this a Cygwin bug or am I doing something terribly unsupported?

Thanks,
Michael

----------------------------------------------------------------
Profitieren Sie von der sicheren E-Mail-Übertragung Ihrer Daten mit einer kostenlosen E-Mail-Adresse der Telekom.
www.t-online.de/email-kostenlos



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Andrey Repin
Greetings, [hidden email]!

>>Clutching at straws (note the identical serial number, does it confuse Cygwin?):
>>
>> orion> /usr/lib/csih/getVolInfo.exe /g
>>Device Type        : 7
>>Characteristics    : 20
>>Volume Name        : <ND D (HDD)>
>>Serial Number      : 3357258338
> ...
>>
>> orion> /usr/lib/csih/getVolInfo.exe /d
>>Device Type        : 7
>>Characteristics    : 20
>>Volume Name        : <ND D (HDD)>
>>Serial Number      : 3357258338

> This was it.  I changed the Volume Serial Number with a Sysinternals tool
> (https://technet.microsoft.com/en-us/sysinternals/bb897436.aspx)
> and after a reboot diff now recurses into the directories in question.

> Now is this a Cygwin bug or am I doing something terribly unsupported?

Volume serial numbers are supposed to be unique... At least within one system
installation.


--
With best regards,
Andrey Repin
Sunday, April 5, 2015 02:47:47

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Jeffrey Altman-2
In reply to this post by Michael Lemke
On 4/4/2015 3:27 PM, [hidden email] wrote:

>> Clutching at straws (note the identical serial number, does it confuse Cygwin?):
>>
>> orion> /usr/lib/csih/getVolInfo.exe /g
>> Device Type        : 7
>> Characteristics    : 20
>> Volume Name        : <ND D (HDD)>
>> Serial Number      : 3357258338
> ...
>>
>> orion> /usr/lib/csih/getVolInfo.exe /d
>> Device Type        : 7
>> Characteristics    : 20
>> Volume Name        : <ND D (HDD)>
>> Serial Number      : 3357258338
>
> This was it.  I changed the Volume Serial Number with a Sysinternals tool
> (https://technet.microsoft.com/en-us/sysinternals/bb897436.aspx)
> and after a reboot diff now recurses into the directories in question.
>
> Now is this a Cygwin bug or am I doing something terribly unsupported?
The serial number is used by many tools to track the volumes that are
crossed by reparse points to ensure that a loop does not occur.  I
suspect that in this case the tool is concluding that the reparse point
is referring back to the same volume.

Jeffrey Altman



smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: diff -r won't recurse

Corinna Vinschen-2
On Apr  4 21:51, Jeffrey Altman wrote:

> On 4/4/2015 3:27 PM, [hidden email] wrote:
> >> Clutching at straws (note the identical serial number, does it confuse Cygwin?):
> >>
> >> orion> /usr/lib/csih/getVolInfo.exe /g
> >> Device Type        : 7
> >> Characteristics    : 20
> >> Volume Name        : <ND D (HDD)>
> >> Serial Number      : 3357258338
> > ...
> >>
> >> orion> /usr/lib/csih/getVolInfo.exe /d
> >> Device Type        : 7
> >> Characteristics    : 20
> >> Volume Name        : <ND D (HDD)>
> >> Serial Number      : 3357258338
> >
> > This was it.  I changed the Volume Serial Number with a Sysinternals tool
> > (https://technet.microsoft.com/en-us/sysinternals/bb897436.aspx)
> > and after a reboot diff now recurses into the directories in question.
> >
> > Now is this a Cygwin bug or am I doing something terribly unsupported?
>
> The serial number is used by many tools to track the volumes that are
> crossed by reparse points to ensure that a loop does not occur.  I
> suspect that in this case the tool is concluding that the reparse point
> is referring back to the same volume.
Just as an extra datapoint, the serial number is used by Cygwin as the
st_dev value for a filesystem.  If diff checks st_dev to recognize
filesystems and mount points, it will see the same filesystem in the
above case.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

attachment0 (836 bytes) Download Attachment