monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] very strange cygwin/mingw difference


From: Stephen Leake
Subject: Re: [Monotone-devel] very strange cygwin/mingw difference
Date: Wed, 27 Oct 2010 03:49:08 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (windows-nt)

Stephen Leake <address@hidden> writes:

> diff_on_missing_trailing_newline_at_end_of_file is passing on MinGW and
> Debian, but failing on Cygwin.
>
> The failure is because the revid for the commit is different:
>
> stdout:
> #
> # old_revision [b0598d59ea7c3b8b4a6f27e5ac80c1337c33f1c3]
> #
>
> file13.diff:
> #
> # old_revision [40ea110392539e19c2d251569a3610c0051e0c64]
> #
>
> the revision contains two files. I don't see how they can have different
> revids.
>
> I'll try to investigate further; any ideas?

I think I found it; cygwin sets the "mtn:execute" attribute, but mingw
doesn't. And that's part of the manifest that is hashed for the id:

cygwin:
$../../../mtn.exe au get_manifest_of 
format_version "1"

dir ""

   file "file1"
content [a43dc27b1c92cccc533ceb3a27035128e26e5b07]
   attr "mtn:execute" "true"

   file "file2"
content [4f8091d2fa31b0598dd0ff6dc936f8d0b47b59d1]
   attr "mtn:execute" "true"


mingw:
../../../mtn.exe au get_manifest_of 
format_version "1"

dir ""

   file "file1"
content [a43dc27b1c92cccc533ceb3a27035128e26e5b07]

   file "file2"
content [4f8091d2fa31b0598dd0ff6dc936f8d0b47b59d1]


mtn in general expects a revid to be invariant. But attributes can be set
by local hooks, so that breaks the invariant. Isn't that a problem?

And how do we fix this test? I guess we can override the attribute hook;
I'll try that later.

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]