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
>
>

Reply via email to