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.

Reply via email to