repo.status: also compare flags for files in the lookup list.
We might be able to do something smarter about this in dirstate.status
for files in normallookup state, but that would require some extra
care to keep backwards compatibility.
% before commit
% store can be written by the group, other files cannot
% store is setgid
00700 ./.hg/
00600 ./.hg/00changelog.i
00600 ./.hg/requires
00770 ./.hg/store/
% after commit
% working dir files can only be written by the owner
% files created in .hg can be written by the group
% (in particular, store/**, dirstate, branch.cache, undo files)
% new directories are setgid
00700 ./.hg/
00600 ./.hg/00changelog.i
00660 ./.hg/dirstate
00600 ./.hg/requires
00770 ./.hg/store/
00660 ./.hg/store/00changelog.i
00660 ./.hg/store/00manifest.i
00770 ./.hg/store/data/
00770 ./.hg/store/data/dir/
00660 ./.hg/store/data/dir/bar.i
00660 ./.hg/store/data/foo.i
00660 ./.hg/store/undo
00660 ./.hg/undo.branch
00660 ./.hg/undo.dirstate
00700 ./dir/
00600 ./dir/bar
00600 ./foo
% before push
% group can write everything
00770 ../push/.hg/
00660 ../push/.hg/00changelog.i
00660 ../push/.hg/requires
00770 ../push/.hg/store/
% after push
% group can still write everything
00770 ../push/.hg/
00660 ../push/.hg/00changelog.i
00660 ../push/.hg/branch.cache
00660 ../push/.hg/requires
00770 ../push/.hg/store/
00660 ../push/.hg/store/00changelog.i
00660 ../push/.hg/store/00manifest.i
00770 ../push/.hg/store/data/
00770 ../push/.hg/store/data/dir/
00660 ../push/.hg/store/data/dir/bar.i
00660 ../push/.hg/store/data/foo.i
00660 ../push/.hg/store/undo
00660 ../push/.hg/undo.branch
00660 ../push/.hg/undo.dirstate