RFR [9] : get_source.sh should be more friendly to MQ

Michael McMahon michael.x.mcmahon at oracle.com
Fri Apr 11 15:23:17 UTC 2014


On 11/04/14 16:19, Chris Hegarty wrote:
> On 11/04/14 15:59, Michael McMahon wrote:
>> That's very useful Chris. I wonder is it okay to assume that all patches
>> must be pushed back again after the update?
>>
>> Would it be feasible to remember which (if any) patches had been popped
>> first, and only push the same ones again?
>
> That would require a much more involved set of changes in hgforest, 
> but could be doable. All you need to know is queue tip, 'hg qtop', of 
> each repo, qpush back to it.
>
or something like:

list=`hg qapplied`

hg qpop -a

before doing the update and then afterwards

hg qpush `echo $list`


> -Chris.
>
>>
>> Michael
>>
>> On 11/04/14 15:58, Chris Hegarty wrote:
>>> Anyone using MQ for their daily development will know about this,
>>> forgetting to qpop before sync'ing up. It would be nice it get_source
>>> would pop and push patches ( only if you are using MQ ) automatically.
>>> If you do not have patch repos, then there is no change.
>>>
>>> diff --git a/get_source.sh b/get_source.sh
>>> --- a/get_source.sh
>>> +++ b/get_source.sh
>>> @@ -28,6 +28,21 @@
>>>  # Get clones of all nested repositories
>>>  sh ./common/bin/hgforest.sh clone "$@" || exit 1
>>>
>>> +patchdirs=`ls -d ./.hg/patches ./*/.hg/patches ./*/*/.hg/patches \
>>> +                 ./*/*/*/.hg/patches ./*/*/*/*/.hg/patches 
>>> 2>/dev/null`
>>> +
>>> +# Pop all patches, if any, before updating
>>> +if [ "${patchdirs}"  != "" ] ; then
>>> +  echo "Found queue repository, qpop."
>>> +  sh ./common/bin/hgforest.sh qpop -a || exit 1
>>> +fi
>>> +
>>>  # Update all existing repositories to the latest sources
>>> -sh ./common/bin/hgforest.sh pull -u
>>> +sh ./common/bin/hgforest.sh pull -u || exit 1
>>>
>>> +# Push all patches, if any, after updating
>>> +if [ "${patchdirs}" != "" ] ; then
>>> +  echo "Found queue repository, qpush."
>>> +  sh ./common/bin/hgforest.sh qpush -a
>>> +fi
>>> +
>>>
>>> -Chris.
>>




More information about the build-dev mailing list