workingctx: correctly compute the flag for noexec filesystems+merge
This bug happens if the filesystem doesn't support exec-bit, during merges,
for example in 24ed7a541f23 on the hg repo.
If f is not in p1, but is in p2 and has the x-bit in p2, since the dirstate is
based on p1, and the FS doesn't support the exec-bit, the dirstate can't
"guess" the right bit.
We instead fix it in workingcontext.flags()/manifest.
@ 8:c11d5b3e9c00 F branch: branch3
|
o 7:33c9da881988 Branch3 branch: branch3
|
| o 6:0e4064ab11a3 E branch: branch2
| |
| o 5:5ac035cb5d8f D branch: branch2
| |
| | o 4:8e66061486ee C branch: branch2
| | |
+---o 3:99567862abbe Branch2 branch: branch2
| |
| o 2:65a26a4d12f6 B branch: branch1
| |
| o 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch:
% Branches
branch3 8:c11d5b3e9c00
branch2 6:0e4064ab11a3
branch1 2:65a26a4d12f6 (inactive)
default 0:1994f17a630e (inactive)
% Heads
8:c11d5b3e9c00 F branch: branch3
6:0e4064ab11a3 E branch: branch2
4:8e66061486ee C branch: branch2
2:65a26a4d12f6 B branch: branch1
0:1994f17a630e A branch:
% Rebase part of branch2 (5-6) onto branch3 (8)
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 4 changesets with 3 changes to 3 files (+1 heads)
rebase completed
% Branches
branch3 8:c9bfa9beb84e
branch2 4:8e66061486ee
branch1 2:65a26a4d12f6
default 0:1994f17a630e (inactive)
% Heads
8:c9bfa9beb84e E branch: branch3
4:8e66061486ee C branch: branch2
2:65a26a4d12f6 B branch: branch1
0:1994f17a630e A branch:
@ 8:c9bfa9beb84e E branch: branch3
|
o 7:bf9037384081 D branch: branch3
|
o 6:c11d5b3e9c00 F branch: branch3
|
o 5:33c9da881988 Branch3 branch: branch3
|
| o 4:8e66061486ee C branch: branch2
| |
| o 3:99567862abbe Branch2 branch: branch2
|/
| o 2:65a26a4d12f6 B branch: branch1
| |
| o 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch:
% Rebase head of branch3 (8) onto branch2 (6)
@ 8:c11d5b3e9c00 F branch: branch3
|
o 7:33c9da881988 Branch3 branch: branch3
|
| o 6:0e4064ab11a3 E branch: branch2
| |
| o 5:5ac035cb5d8f D branch: branch2
| |
| | o 4:8e66061486ee C branch: branch2
| | |
+---o 3:99567862abbe Branch2 branch: branch2
| |
| o 2:65a26a4d12f6 B branch: branch1
| |
| o 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch:
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rebase completed
% Branches
branch2 8:b44d3024f247
branch3 7:33c9da881988
branch1 2:65a26a4d12f6 (inactive)
default 0:1994f17a630e (inactive)
% Heads
8:b44d3024f247 F branch: branch2
7:33c9da881988 Branch3 branch: branch3
4:8e66061486ee C branch: branch2
2:65a26a4d12f6 B branch: branch1
0:1994f17a630e A branch:
@ 8:b44d3024f247 F branch: branch2
|
| o 7:33c9da881988 Branch3 branch: branch3
| |
o | 6:0e4064ab11a3 E branch: branch2
| |
o | 5:5ac035cb5d8f D branch: branch2
| |
| | o 4:8e66061486ee C branch: branch2
| | |
| | o 3:99567862abbe Branch2 branch: branch2
| |/
o | 2:65a26a4d12f6 B branch: branch1
| |
o | 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch:
% Rebase entire branch3 (7-8) onto branch2 (6)
@ 8:c11d5b3e9c00 F branch: branch3
|
o 7:33c9da881988 Branch3 branch: branch3
|
| o 6:0e4064ab11a3 E branch: branch2
| |
| o 5:5ac035cb5d8f D branch: branch2
| |
| | o 4:8e66061486ee C branch: branch2
| | |
+---o 3:99567862abbe Branch2 branch: branch2
| |
| o 2:65a26a4d12f6 B branch: branch1
| |
| o 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch:
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
rebase completed
% Branches
branch2 7:b44d3024f247
branch1 2:65a26a4d12f6 (inactive)
default 0:1994f17a630e (inactive)
% Heads
7:b44d3024f247 F branch: branch2
4:8e66061486ee C branch: branch2
2:65a26a4d12f6 B branch: branch1
0:1994f17a630e A branch:
@ 7:b44d3024f247 F branch: branch2
|
o 6:0e4064ab11a3 E branch: branch2
|
o 5:5ac035cb5d8f D branch: branch2
|
| o 4:8e66061486ee C branch: branch2
| |
| o 3:99567862abbe Branch2 branch: branch2
| |
o | 2:65a26a4d12f6 B branch: branch1
| |
o | 1:0f3f3010ee16 Branch1 branch: branch1
|/
o 0:1994f17a630e A branch: