202 $ echo c4 >> a |
202 $ echo c4 >> a |
203 $ echo c4 >> b |
203 $ echo c4 >> b |
204 $ hg commit -m c4 |
204 $ hg commit -m c4 |
205 created new head |
205 created new head |
206 |
206 |
207 Configure a merge tool that runs status in the middle of the rebase. |
207 Configure a merge tool that runs status in the middle of the rebase. The goal of |
|
208 the status call is to trigger a potential bug if fsmonitor's state is written |
|
209 even though the wlock is held by another process. The output of 'hg status' in |
|
210 the merge tool goes to /dev/null because we're more interested in the results of |
|
211 'hg status' run after the rebase. |
208 |
212 |
209 $ cat >> $TESTTMP/mergetool-race.sh << EOF |
213 $ cat >> $TESTTMP/mergetool-race.sh << EOF |
210 > echo "custom merge tool" |
214 > echo "custom merge tool" |
211 > printf "c2\nc3\nc4\n" > \$1 |
215 > printf "c2\nc3\nc4\n" > \$1 |
212 > hg --cwd "$TESTTMP/repo" status |
216 > hg --cwd "$TESTTMP/repo" status > /dev/null |
213 > echo "custom merge tool end" |
217 > echo "custom merge tool end" |
214 > EOF |
218 > EOF |
215 $ cat >> $HGRCPATH << EOF |
219 $ cat >> $HGRCPATH << EOF |
216 > [extensions] |
220 > [extensions] |
217 > rebase = |
221 > rebase = |
218 > [merge-tools] |
222 > [merge-tools] |
219 > test.executable=sh |
223 > test.executable=sh |
220 > test.args=$TESTTMP/mergetool-race.sh \$output |
224 > test.args=$TESTTMP/mergetool-race.sh \$output |
221 > EOF |
225 > EOF |
222 |
226 |
223 BROKEN: the "M b" line should not be there |
|
224 $ hg rebase -s . -d 3 --tool test |
227 $ hg rebase -s . -d 3 --tool test |
225 rebasing 4:b08445fd6b2a "c4" (tip) |
228 rebasing 4:b08445fd6b2a "c4" (tip) |
226 merging a |
229 merging a |
227 custom merge tool |
230 custom merge tool |
228 M a |
|
229 M b |
|
230 ? a.orig |
|
231 custom merge tool end |
231 custom merge tool end |
232 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/* (glob) |
232 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/* (glob) |
233 |
233 |
234 This hg status should be empty, whether or not fsmonitor is enabled (issue5581). |
234 This hg status should be empty, whether or not fsmonitor is enabled (issue5581). |
235 |
235 |