Mercurial > hg
diff tests/test-bookmarks-pushpull.t @ 25446:b5311068077e
pull: prevent race condition in bookmark update when using -B (issue4689)
We are already fetching remote bookmarks to honor the -B option, we
now pass that data to the pull process so it can reuse it. This
prevents a race condition between the initial looking and the actual
pulling of changesets and bookmarks. Tests are updated to handle this
fact.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 01 Jun 2015 22:34:01 -0700 |
parents | 9ee395dffac9 |
children | 4d2b9b304ad0 |
line wrap: on
line diff
--- a/tests/test-bookmarks-pushpull.t Tue Jun 02 00:43:11 2015 -0700 +++ b/tests/test-bookmarks-pushpull.t Mon Jun 01 22:34:01 2015 -0700 @@ -308,6 +308,43 @@ Y 4:b0a5eff05604 Z 1:0d2164f0ce0d +Update a bookmark right after the initial lookup -B (issue4689) + + $ echo c6 > ../pull-race/f3 # to be committed during the race + $ cat <<EOF > ../pull-race/.hg/hgrc + > [hooks] + > # If anything to commit, commit it right after the first key listing used + > # during lookup. This makes the commit appear before the actual getbundle + > # call. + > listkeys.makecommit= ((hg st | grep -q M) && (hg commit -m race; echo commited in pull-race)) || exit 0 + > EOF + +(new config need server restart) + + $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS + $ hg -R ../pull-race serve -p $HGPORT -d --pid-file=../pull-race.pid -E main-error.log + $ cat ../pull-race.pid >> $DAEMON_PIDS + + $ hg -R $TESTTMP/pull-race book + @ 1:0d2164f0ce0d + X 1:0d2164f0ce0d + * Y 5:35d1ef0a8d1b + Z 1:0d2164f0ce0d + $ hg pull -B Y + pulling from http://localhost:$HGPORT/ + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + updating bookmark Y + (run 'hg update' to get a working copy) + $ hg book + * @ 1:0d2164f0ce0d + X 1:0d2164f0ce0d + Y 5:35d1ef0a8d1b + Z 1:0d2164f0ce0d + (done with this section of the test) $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS