Re: copy folders instead of sequential hg clones

2014-04-11 Thread Pete Brunet
Hi Jon, I am on VPN from Austin.  It has always taken forever.  And
downloading programs from the internet when on VPN takes forever.  I
started looking into this a while back and I don't know if this is the
issue but I found that the DNS servers are in Europe when I am on VPN. 
Right now as reported by ipconfig /all my Cisco AnyConnect DNS servers are:

144.20.190.70 in Madrid
192.135.82.132 in Amsterdam

Pete

On 4/11/14 7:07 PM, Jonathan Gibbons wrote:
> To me, this message raises the questions of "why does it take
> forever?" and, "how long should it take?"
>
> I see a wide range of expectations. Some folk can clone fast, and
> assume that everyone else can as well.  And then there's reports like
> this, that it takes "forever".
>
> I'm all in favor of doing whatever it takes to speed up the workflow,
> but where is the threshold between "yeah, it really does take this
> long" and "if it takes this long, something must be broken"?
>
> -- Jon
>
>
> On 04/11/2014 04:26 PM, Pete Brunet wrote:
>> Since it takes forever to clone on my Win machine, in the case where I
>> want to work on several bugs, is it OK to instead clone the first
>> directory and then cp -ar that to n additional directories?  -Pete
>



Re: copy folders instead of sequential hg clones

2014-04-11 Thread Jonathan Gibbons
To me, this message raises the questions of "why does it take forever?" 
and, "how long should it take?"


I see a wide range of expectations. Some folk can clone fast, and assume 
that everyone else can as well.  And then there's reports like this, 
that it takes "forever".


I'm all in favor of doing whatever it takes to speed up the workflow, 
but where is the threshold between "yeah, it really does take this long" 
and "if it takes this long, something must be broken"?


-- Jon


On 04/11/2014 04:26 PM, Pete Brunet wrote:

Since it takes forever to clone on my Win machine, in the case where I
want to work on several bugs, is it OK to instead clone the first
directory and then cp -ar that to n additional directories?  -Pete




Re: copy folders instead of sequential hg clones

2014-04-11 Thread Mike Duigou
You might wish instead to do local clones of the first repo.

hg clone http://hg.openjdk.java.net/jdk9/dev first
cd first
sh get_source.sh (with possibly some "magic" url)
cd ..
hg clone first second
cd second
sh get_source.sh ../first

If you need to move repos between local machines or VMs you can also use, for 
jdk9 repos,

sh common/bin/hgforest.sh serve

and then use

hg clone http://myhost.com:8000/repo repo
cd repo
sh get_source.sh http://myhost.com:8000/

where "myhost.com" and "repo" are replaced with the names shown in the status 
output from the serve command.

There is nothing encoded in the repo which should cause problems due to copying 
but a local clone *should* be faster and use less disk space.

HTH,

Mike

On Apr 11 2014, at 16:26 , Pete Brunet  wrote:

> Since it takes forever to clone on my Win machine, in the case where I
> want to work on several bugs, is it OK to instead clone the first
> directory and then cp -ar that to n additional directories?  -Pete



Re: RFR: JDK-8038500: (zipfs) Upgrade ZIP provider to be a supported provider

2014-04-11 Thread Mandy Chung

On 4/11/2014 3:42 PM, Xueming Shen wrote:


webrev: http://cr.openjdk.java.net/~sherman/8038500/webrev


It's good to see the source of the zip provider moved to the jdk repo.   
You have made some public classes to package-private which is good.  I 
wonder whether a few remaining public classes can be made 
package-private (e.g. ZipFileAttributes, ZipInfo etc).  Is 
JarFileSystemProvider used anywhere?  ZipFileSystemProvider is the only 
provider listed in the service configuration.


Do you mean to make Demo.java as a regression test?

basic.sh - I wonder if you can get rid of this shell test.  Do Basic, 
PathOps, ZipFSTester have any relationship?  I was thinking if they can 
be made as individual java test and constructor the input path of 
zipfs.jar.With zipfs.jar part of the jdk build, it will be found 
under ${java.home}/lib/ext/zipfs.jar.   When we move to modules, this 
jar file won't exist.  It might be better for the tests to create a JAR 
file (one to share by all zipfs tests) to get ready for modules.


Mandy


copy folders instead of sequential hg clones

2014-04-11 Thread Pete Brunet
Since it takes forever to clone on my Win machine, in the case where I
want to work on several bugs, is it OK to instead clone the first
directory and then cp -ar that to n additional directories?  -Pete


RFR: JDK-8038500: (zipfs) Upgrade ZIP provider to be a supported provider

2014-04-11 Thread Xueming Shen

Hi,

Please help review this changeset to upgrade the zip filesystem provider 
implementation from

demo to a supported provider.

Back in JDK7 we created a demo file system provider for zip/jar files. 
It is shipped in two forms,
one as a binary under lib/ext that works "out of the box" to support 
zip/jar file access as a nio

filesystem, the second is source form with a BSD license.

We are now proposing to drop it as a demo and instead just "release" it 
as a filesystem provider

that shipped with the JDK.

issue: https://bugs.openjdk.java.net/browse/JDK-8038500
webrev: http://cr.openjdk.java.net/~sherman/8038500/webrev

Thanks!
-Sherman


Re: RFR 8030011: Update Hotspot version string output

2014-04-11 Thread alejandro murillo


On 4/10/2014 8:11 PM, David Holmes wrote:

On 11/04/2014 1:42 AM, Alejandro E Murillo wrote:

Hi David, thanks for the feedback, see below
On 4/9/2014 8:38 PM, David Holmes wrote:

Hi Alejandro,

Given we have to maintain the JDK version information in two places
(top level repo and hotspot repo) wouldn't it have been simpler to
keep hotspot_version file and HOTSPOT_RELEASE_VERSION and simply set
the major/minor/build values to match those of the JDK version?

The file is still used, just renamed as only jdk info is in there.
HOTSPOT_RELEASE_VERSION was also kept, we just don't get the
major,minor,micro and build number
from it anymore, mainly it  is now set very similar to the
JDK_RELEASE_VERSION (plus other values),
and that format it's not fixed as it used to be for hotspot express.
Those values (major,minor,micro and build number)
are already defined in the makefiles, so we just pass them to
vm_version.cpp, so no more parsing in it.


I still think the overall changes could have been much smaller but okay.
The change actually is not that big, what happens is that due to the 
makefile structure
the exact same change has to be replicated on each platform. Then, some 
of the changes
themselves are actually comment changes, to remove references to the hsx 
hs version,
and/or removal of lines of code that had been removed in some platform 
(Solaris) but not in

others; also renaming  some macros to better reflect what they are for.
I also fixed some typos on macros names that were incorrect already, 
like these:

http://cr.openjdk.java.net/~amurillo/9/8030011/make/windows/makefiles/defs.make.wdiff.html

In a nutshell I just added the ability to get major,minor,micro and 
build number available to vm_version.cpp,
in addition to hotspot_release_version, so that we don't have parse that 
to obtain those.
And of course, adding additional testing of those values that is minimal 
right now.
The other changes are related to now having to handle the micro_version, 
which was ignored
with the old hotspot_version, but that has to be done regardless of how 
the values were obtained.


The change is actually simple, compared to understanding how the 
makefiles work and how

vm_version receives the values.

Alejandro



Thanks,
David
-




That aside, in jdk_version file hotspot copyright should now be 2014

will fix that


*/vm.make:

This line is way too long.

! VM_VER_DEFS   = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\""
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\""
-DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\""
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\""
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\""
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""

ok


Not clear why we suddenly need defines for all the component pieces
either. You could have kept the HS_XXX variables, just adding the
micro part.

as mentioned above,  the micro part was actually added to
HOTSPOT_RELEASE_VERSION,
we just don't get those values by parsing it, so we just pass those
values to the vm_version.cpp,
since they are already defined in the makefiles. The format of the JDK
version is not that fixed.

Thanks
Alejandro


David


On 10/04/2014 10:15 AM, Alejandro E Murillo wrote:


Please review this change to make the hotspot related output 
produced by

"java -version"
match the corresponding JDK output:

webrev: http://cr.openjdk.java.net/~amurillo/9/8030011/
Bug: https://bugs.openjdk.java.net/browse/JDK-8030011

Note that we initially wanted to obtain more information from the repo
being built and add
it to the hotspot version output, but that will require changes in the
JPRT, so
we have decided to split the change in 2 bugs. One to make the version
match
(above webrev) and another one, an RFE, to add additional information
extracted from the repo.

Note that in the current version of vm_version.cpp, there is no error
checking in product mode,
I was suggested to make that explicit.

Release Engineering did some testing and I also ran several cases with
full and just hotspot JPRT builds.

Here is a summary of how the new output compares to the old one:

(1)  Release Engineering builds (9-dev):

from jdk9-dev build:
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00)
Java HotSpot(TM) 64-Bit Server VM (build
1.9.0-ea-langtools-nightly-h257-20140328-b07-b00, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build
1.9.0-ea-langtools-nightly-h247-20140326-b06-b00)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(2)  Release Engineering builds (jdk9):

java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) Server VM (build 1.9.0-ea-b07, mixed mode)

compared with what we currently have
java version "1.9.0-ea"
Java(TM) SE Runtime Environment (build 1.9.0-ea-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b62, mixed mode)

(3) JPRT Full builds:

java version "1.9.0-int

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

2014-04-11 Thread Mike Duigou

On Apr 11 2014, at 12:06 , Chris Hegarty  wrote:

> On 11 Apr 2014, at 18:55, Mike Duigou  wrote:
> 
>> Have you looked at using rebase?
> 
> I have not, in any detail.
> 
>> I've been using
>> 
>> sh common/bin/hgforest.sh pull
>> sh common/bin/hgforest.sh rebase
>> sh common/bin/hgforest.sh update
>> 
>> rather than get_source.sh as it allows me to skip the qpop/qpush steps.
> 
> Yes, this may work. I was just looking for a single command to active this. 
> Maybe this combination could be baked into get_source.sh if patch 
> repositories exist, and we can verify the existence of the rebase extension ( 
> rather than my previous proposal ) ?

I have contemplated adding this as an alternative to the pull -u step in 
get_source.sh but wasn't others would agree. Some people hate rebase.

We can detect whether rebase is enabled via :

hg showconfig extensions | grep ^extension.rebase | wc -l

Play with this approach manually and see if it works for you. If it does then 
we can consider enhancing get_source.sh

Mike

> 
> -Chris.
> 
>> 
>> Mike
>> 
>> On Apr 11 2014, at 07: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.
>> 
> 



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

2014-04-11 Thread Chris Hegarty
On 11 Apr 2014, at 18:55, Mike Duigou  wrote:

> Have you looked at using rebase?

I have not, in any detail.

> I've been using
> 
> sh common/bin/hgforest.sh pull
> sh common/bin/hgforest.sh rebase
> sh common/bin/hgforest.sh update
> 
> rather than get_source.sh as it allows me to skip the qpop/qpush steps.

Yes, this may work. I was just looking for a single command to active this. 
Maybe this combination could be baked into get_source.sh if patch repositories 
exist, and we can verify the existence of the rebase extension ( rather than my 
previous proposal ) ?

-Chris.

> 
> Mike
> 
> On Apr 11 2014, at 07: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.
> 



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

2014-04-11 Thread Jonathan Gibbons

Could we do the same with the trees extension?

-- Jon

On 04/11/2014 10:55 AM, Mike Duigou wrote:

Have you looked at using rebase? I've been using

sh common/bin/hgforest.sh pull
sh common/bin/hgforest.sh rebase
sh common/bin/hgforest.sh update

rather than get_source.sh as it allows me to skip the qpop/qpush steps.

Mike

On Apr 11 2014, at 07: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.




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

2014-04-11 Thread Mike Duigou
Have you looked at using rebase? I've been using

sh common/bin/hgforest.sh pull
sh common/bin/hgforest.sh rebase
sh common/bin/hgforest.sh update

rather than get_source.sh as it allows me to skip the qpop/qpush steps.

Mike

On Apr 11 2014, at 07: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.



Re: Java compilation and -g

2014-04-11 Thread Gary Adams

What is the size difference?

On 4/11/14, 10:53 AM, Chris Hegarty wrote:

On 11/04/14 15:40, Erik Joelsson wrote:

Hello,

While converting the build to the new build-infra makefiles, one thing
that annoyed me was the fact that we aren't consistently compiling with
or without -g for java code. In the new makefiles we just emulate the
same behavior, but I would like to sort it out properly now.

Currently langtools, jaxp and jaxws repos build with -g always, while
corba and jdk only build with -g when DEBUG_LEVEL is fastdebug or
slowdebug.

How would we really like this to work? Is there a reason not to ship
with -g enabled? I know from personal experience that I get very annoyed
when I can't step into the jdk classes and look at local variable values
when debugging my own java applications.


+1.

I can understand that this may be different for actual product builds.

-Chris.



/Erik




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

2014-04-11 Thread Staffan Larsen

On 11 apr 2014, at 17:19, Jonathan Gibbons  wrote:

> Is it common to use mq in all repos of a forest?

For me it is very common to be working on a fix that spans multiple repos (up 
to 5 different repos at times). So, yes.

I like this fix, but I would be very annoyed if all my patches were applied 
(not just those that were applied before get_source.sh ran). I frequently have 
lots of patches in the queue that I don’t want to have applied.

Thanks,
/Staffan



> 
> I've never used mq that way; it would only have occurred to me to use mq in 
> the repo I'm interested in -- in my case, langtools. But then, I admit I tend 
> not to clone forests more than necessary.   configure.sh 
> --with-override-repo-name is your friend ;-)
> 
> -- Jon
> 
> 
> On 04/11/2014 08:19 AM, 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.
>> 
>> -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.
>>> 
> 



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

2014-04-11 Thread Michael McMahon

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.






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

2014-04-11 Thread Jonathan Gibbons

Is it common to use mq in all repos of a forest?

I've never used mq that way; it would only have occurred to me to use mq 
in the repo I'm interested in -- in my case, langtools. But then, I 
admit I tend not to clone forests more than necessary.   configure.sh 
--with-override-repo-name is your friend ;-)


-- Jon


On 04/11/2014 08:19 AM, 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.


-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.






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

2014-04-11 Thread Chris Hegarty

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.


-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.




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

2014-04-11 Thread Chris Hegarty

On 11/04/14 15:59, Jonathan Gibbons wrote:

Popping all patches beforehand is reasonable, but afterwards, it would
be better to reset to the patches that were previously applied than to
try and push all of them.


Michael as requested same.


What is the behavior if you cannot qpush patches after the pull, because
of merge issues?


The parts of the specific patch that applied cleanly remain applied, 
them that did not are written out to reject files to be analyzed. The 
remainder of the patches in that repository are not applied.  get_source 
will then exit with an appropriate error exit code and you can take action.


-Chris.



-- Jon


On 04/11/2014 07:58 AM, 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.




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

2014-04-11 Thread Jonathan Gibbons
Popping all patches beforehand is reasonable, but afterwards, it would 
be better to reset to the patches that were previously applied than to 
try and push all of them.


What is the behavior if you cannot qpush patches after the pull, because 
of merge issues?


-- Jon


On 04/11/2014 07:58 AM, 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.




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

2014-04-11 Thread Michael McMahon

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?

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.




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

2014-04-11 Thread Chris Hegarty
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.


Re: Java compilation and -g

2014-04-11 Thread Chris Hegarty

On 11/04/14 15:40, Erik Joelsson wrote:

Hello,

While converting the build to the new build-infra makefiles, one thing
that annoyed me was the fact that we aren't consistently compiling with
or without -g for java code. In the new makefiles we just emulate the
same behavior, but I would like to sort it out properly now.

Currently langtools, jaxp and jaxws repos build with -g always, while
corba and jdk only build with -g when DEBUG_LEVEL is fastdebug or
slowdebug.

How would we really like this to work? Is there a reason not to ship
with -g enabled? I know from personal experience that I get very annoyed
when I can't step into the jdk classes and look at local variable values
when debugging my own java applications.


+1.

I can understand that this may be different for actual product builds.

-Chris.



/Erik


Java compilation and -g

2014-04-11 Thread Erik Joelsson

Hello,

While converting the build to the new build-infra makefiles, one thing 
that annoyed me was the fact that we aren't consistently compiling with 
or without -g for java code. In the new makefiles we just emulate the 
same behavior, but I would like to sort it out properly now.


Currently langtools, jaxp and jaxws repos build with -g always, while 
corba and jdk only build with -g when DEBUG_LEVEL is fastdebug or slowdebug.


How would we really like this to work? Is there a reason not to ship 
with -g enabled? I know from personal experience that I get very annoyed 
when I can't step into the jdk classes and look at local variable values 
when debugging my own java applications.


/Erik