Re: Submodule propagation question with wptserve

On 03/08/14 19:32, Odin Hørthe Omdal wrote:
> On Sun, Aug 3, 2014, at 20:10, Brad Hill wrote:
>> 11 days ago, this commit landed:
>>
>> https://github.com/w3c/wptserve/pull/40
>>
>> https://github.com/w3c/wptserve/commit/08a2d5ce6c3af279ee16c8b98b442ee65699b44c
>>
>>
>> Today, I have folks following instructions from
>> http://testthewebforward.org/docs/github-101.html and they're not
>> seeing this commit.
>>
>> Any ideas what's going on, how to fix this?
> 
> Git submodules work the way that they point to a specific revision
> that's known to work. So wpt-platform-tests repository was pointing to
> an old version. I did a commit pointing it to the newest master of
> wptserve.
> 
> 
> It'll work correctly for new checkouts now. For the ones that already
> have one, they should do an update:
> 
> 
> git stash # Stash whatever you were working on (this saves non-committed
> work)
> 
> git checkout master
> git pull --ff-only
> git submodule update # this should update wptserve now
> git checkout <branch_you_were_working_on>
> 
> git stash pop # < this gets back your current non-committed work

These are better instructions than mine, but you should insert a rebase
before the git stash pop. It also assumes that master is tracking the
w3c master rather than the user's own fork. I think something like the
following might work generically:

export UPSTREAM=$(git remote --verbose | grep w3c/web-platform-tests |
head -n1 | cut -f1)

git checkout master
git fetch $UPSTREAM
git merge --ff-only $UPSTREAM/master #If you have commits on master this
will fail, but that's OK
git submodule update --recursive
git checkout @{-1}
git rebase $UPSTREAM/master
git stash pop

Received on Sunday, 3 August 2014 18:43:32 UTC