monotone-devel
[Top][All Lists]
Advanced

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

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


From: Lapo Luchini
Subject: [Monotone-devel] Re: very strange cygwin/mingw difference
Date: Thu, 28 Oct 2010 09:39:17 +0200
User-agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.13) Gecko/20101010 SeaMonkey/2.0.8

Stephen Leake wrote:
>> Hrm... I'm by no means a Windows expert, but does plain Win32 (not
>> Cygwin) even have the concept of an executable bit...? This might be the
>> reason why its not set on mingw.
> 
> Neither file is actually executable; the fact that Cygwin sets it is a
> separate bug.
> 
> On Windows, "executable" is determined by the file extension

OTOH Cygwin *has* the executable bit, and it is mapped on the "can be
executed" standard Windows ACL, which more or less all files gets by
default.

So, if you create a text file with notepad.exe, Cygwin see it as
executable. If you create one with Cygwin's nano, it is not.

> As far as I can tell, monotone has never gotten automatic setting of the
> executable attribute right on any platform; I've just been ignoring it.

Seems to do the right thing to me...
The main problem is that on Cygwin all Win32-created files are
executable by default, but that's not a monotone's issue.
The managing of the executable attribute seems correct enough to me
(except some details, like I don't like that the fact some attribues are
set is the *only string* written by checkout, which doesn't seem very
consistent to me, but those are details).

> However, that doesn't address the issue of whether setting an attribute
> on a rev should change the revid. Since we can set attributes after the
> rev has been committed, attrs should not affect the revid; this has to
> be a recent bug in mtn. I'll do a bisect to see when this test broke.

???

Of course it changes the revid, as it is in the manifest.
Always been that way as far as I remember...

You can change an attribute on the filesystem and the revid doesn't
change, but just because you didn't warn monotone, similarly to using
"mv" to rename instead of "mtn mv": it might warn you that a file is
missing, but there's no new revision ready to commit just yet.
You can use "mtn attr set" and it will be properly changed.

-- 
Lapo Luchini - http://lapo.it/




reply via email to

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