http://bugs.grommit.com/show_bug.cgi?id=465
------- Comment #1 from nathan.bush at sun.com 2008-04-07 18:28 PDT ------- I agree with the bug, but the description needs minor corrections: It "$PDIR/$PF" not "$DIR/$F", and in the workspace root case "$PDIR" is "." so it tries to find "./$F" rather than "$F". But the root cause is correct, this does not match what is in the manifest. Regarding your other questions: The manifest does not reflect uncommitted changes. "diff -g" does, and provided a convenient way to see old and new modes for most cases (file adds, removes, or mode changes with or without a simultaneous rename or edit). Unless I've made a mistake, the only other possible situations are a rename or edit that does not include a mode change. Since the mode isn't changing, and the parent (old) revision will be in the manifest, the mode stored there applies to both the old and new versions of the file. I didn't see a way to query the manifest entry for a single file, thus the loop. It might have been easier to get some of this information directly from the filesystem, but I wanted to use Mercurial interfaces exclusively for two reasons. First, Mercurial isn't storing literal file modes, but rather a single "isexec()" flag, and I wanted to leverage that code as much as possible. Second, I think the current code would need only small changes to fit into whatever is done for bug "163 would like webrev against a mercurial revision", namely, adding a second "-r" to the "diff -g". -- Configure bugmail: http://bugs.grommit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.