I probably do not understand enough of the problem you are describing, and probably don't have enough smarts to provide anything of value, but, for what it is worth:
A. The cygwin version of the 'cp' utility has a '-p' option which, in my experience, keeps its promise; the target file will have precisely the same mode, ownership and timestamp as the source file did. B. Assuming that your ant tasks are just a convenient means for scripting *nix commands, it would seem that you ought to be able to get ant to use the 'cp -p'' syntax to accomplish anything that is merely a copy operation. C. If, on the other hand, what is being accomplished is not a simple copy, rather it is an update -- to roll a revision number, perform macro replacement or the like -- the output is different from the input, so if the process reports that as a change, it does so correctly. D. If it is necessary and desired that a modified target be able to masquerade as if it were the source, follow the copy operation with chmod using the -reference option where the referent will point to the source. On Tue, Apr 9, 2013 at 8:18 PM, Gordon Smith <gosm...@adobe.com> wrote: > Background: I'm trying to get 'git status' to report nothing after simply > doing a build of the SDK (which is what you expect because you haven't > changed any source files). The problem is that a <copy> of flex-config.xml > and a <replace> of Version.java in our Ant scripts seem to misbehave on > Cygwin and have the side effect of doing "chmod +x" on these two files. > This mode change then makes them show up as changed in 'git status'. Using > Ant's <chmod> task to set -x doesn't seem to work. > > I don't think Alex's save-a-copy approach will work, because it use > <copy>, which is causing the problem in the first place. I looked into his > suggestion of doing a git checkout of the problematic files to put them > back into their original states. This solves the problem. > > But is it OK for the Ant scripts to assume that a command-line git is > installed? Some people might only have a Git GUI. And if so, is it OK for > them to assume that git is on the path, or should GIT be another > environment variable that you have to set? > > If we can't use Git, I think I would need to replace the <copy> and > <replace> tasks with an <exec> that executes a small Java program (which we > would have to compile from source). > > Is anybody else doing Apache Flex development using Cygwin? > > - Gordon > > -----Original Message----- > From: Alex Harui [mailto:aha...@adobe.com] > Sent: Thursday, April 04, 2013 10:44 PM > To: dev@flex.apache.org > Subject: Re: How to get a clean working tree for flex-sdk > > Can we get the build to save a copy of these files before modification and > then replace them at the end of a build even if the build fails? Or maybe > just add git checkout to the build script? > > > On 4/4/13 9:28 PM, "Gordon Smith" <gosm...@adobe.com> wrote: > > > After adding 3 entries to .gitignore to suppress some build output > > files from showing up in 'git status', I'm now at the point where 'git > > status' after a build shows only this: > > > > gosmith@GOSMITH-WIN7 /cygdrive/d/asf/flex-sdk $ git status # On branch > > develop # Changes not staged for commit: > > # (use "git add <file>..." to update what will be committed) > > # (use "git checkout -- <file>..." to discard changes in working > directory) > > # > > # modified: frameworks/flex-config.xml > > # modified: modules/asc/src/java/macromedia/asc/util/Version.java > > # > > no changes added to commit (use "git add" and/or "git commit -a") > > > > Git is detecting that the SDK's Ant build scripts change the file mode > > of flex-config.xml (which gets diddled with an Ant <copy>) and > > Version.java (diddled with an Ant <replace>). These tasks seem to have > > the side effect of doing chmod +x for some reason. I've tried using > > <chmod file="..." perm="-x"> to fix this, but it doesn't seem to work. > > Both of these issues are probably some unfortunate interaction between > > Ant and Cygwin, but googling does't confirm this.(It does confirm that > > the people who wrote Ant don't think much of Cygwin. > > > > If anybody has an idea of how to fix this, so that we get clean 'git > status' > > output after a build -- other than configurating Git to ignore file > > modes -- let me know. > > > > I suppose one solution is to just use Command Prompt instead of > > Cygwin, but then I have to give up other stuff. And another is to use > > a Mac, which is what most people seem to be doing these days. > > > > - Gordon > > > > > > -----Original Message----- > > From: Alex Harui [mailto:aha...@adobe.com] > > Sent: Thursday, April 04, 2013 8:46 PM > > To: dev@flex.apache.org > > Subject: Re: How to get a clean working tree for flex-sdk > > > > Awesome! Thanks. > > > > > > On 4/4/13 5:24 PM, "Gordon Smith" <gosm...@adobe.com> wrote: > > > >> OK, I've cleaned up the bad file modes in flex_tlf. There don't seem > >> to be any in flex-falcon or flex-asjs. > >> > >> - Gordon > >> > >> -----Original Message----- > >> From: Gordon Smith [mailto:gosm...@adobe.com] > >> Sent: Thursday, April 04, 2013 1:31 PM > >> To: dev@flex.apache.org > >> Subject: RE: How to get a clean working tree for flex-sdk > >> > >> I've pushed the file mode fixes to flex-sdk. > >> > >> 'ant clean main checkintests' works for me in Cygwin on Windows. > >> Please let me know if I screwed anything up on Macs. > >> > >> I'll clean up the bad file modes in flex-tlf tonight. > >> > >> - Gordon > >> > >> > >> -----Original Message----- > >> From: Gordon Smith [mailto:gosm...@adobe.com] > >> Sent: Thursday, April 04, 2013 1:14 PM > >> To: dev@flex.apache.org > >> Subject: RE: How to get a clean working tree for flex-sdk > >> > >>> After you're done, will a simple pull correct the local repo's? > >> > >> I'm not a Git expert, but I'm pretty sure that it will. However, the > >> fact that many files were marked as "executable" (+x) when they > >> shouldn't be is not causing any problems that I know of. Fixing this > >> is just housecleaning. > >> > >> - Gordon > >> > >> -----Original Message----- > >> From: Kessler CTR Mark J [mailto:mark.kessler....@usmc.mil] > >> Sent: Thursday, April 04, 2013 10:25 AM > >> To: dev@flex.apache.org > >> Subject: RE: How to get a clean working tree for flex-sdk > >> > >> After you're done, will a simple pull correct the local repo's? > >> > >> -Mark > >> > >> -----Original Message----- > >> From: Gordon Smith [mailto:gosm...@adobe.com] > >> Sent: Thursday, April 04, 2013 1:18 PM > >> To: dev@flex.apache.org > >> Subject: RE: How to get a clean working tree for flex-sdk > >> > >> I'll work on fixing the bad file modes in the Git repos. > >> > >> - Gordon > > > > -- > > Alex Harui > > Flex SDK Team > > Adobe Systems, Inc. > > http://blogs.adobe.com/aharui > > > > -- > Alex Harui > Flex SDK Team > Adobe Systems, Inc. > http://blogs.adobe.com/aharui > >