Suppose we have three repositories R, RA, RB. RA and RB are fresh clones of
A. RA lies on a Windows computer, RB on a Linux computer. Now suppose
further that in RB a file's attribute is is changed from '-x' to '+x' using
'chmod +x file'. This change now is committed to RB and pushed to R.
Meanwhile, some changes were committed to RA on Windows. For RA now a 'hg
pull -u' and a 'hg merge' (without conflicts) followed by a 'hg commit' is
done (or, alternatively, a 'hg fetch'). After merging, these changes are
pushed to R. Everything works well, except that now the file's '+x' has
vanished. If the changes from R now are pulled into RB using 'hg pull -u'
the file 'file' has no '+x' attribute anymore. This is a bug, I think,
because the '+x' bit should be merged into the RA's manifest.
|