RFR: CODETOOLS-7901088 webrev -f does not work on nawk
Daniel Fuchs
daniel.fuchs at oracle.com
Fri Nov 7 09:43:10 UTC 2014
Oh - and you should update the version number as well:
- WEBREV_UPDATED=25.6-hg+openjdk.java.net
+ WEBREV_UPDATED=25.7-hg+openjdk.java.net
best regards,
-- daniel
On 11/7/14 10:40 AM, Daniel Fuchs wrote:
> Hi Magnus,
>
> Thanks for finding the issue!
> I see the same mistake in the function 'outgoing_from_mercurial_forest'
> and twice again in the function fstatus - so it seems there are a few
> other places to modify:
>
> -----------------------------
> diff --git a/webrev.ksh b/webrev.ksh
> --- a/webrev.ksh
> +++ b/webrev.ksh
> @@ -1306,7 +1306,7 @@ function outgoing_from_mercurial_forest
> /^comparing/ {next}
> /^no changes/ {next}
> /^searching/ {next}
> - /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,0,length(tree)-2);
> + /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,1,length(tree)-2);
> if (tree == "") { tree="."; }
> trees[ntree++] = tree;
> revs[tree]=-1;
> @@ -1420,7 +1420,7 @@ function fstatus
> # the AWK code which still tries to handle both cases
> #
> hg tstatus -mdn $FSTAT_OPT 2>/dev/null | $FILTER | $AWK -v
> "hgroot=$hgroot" '
> - /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,0,length(tree)-2); next}
> + /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,1,length(tree)-2); next}
> $1 != "" {n=index($1,tree);
> if (n != 1)
> { printf("%s/%s\n",tree,$1)}
> @@ -1464,7 +1464,7 @@ function fstatus
> #
>
> hg tstatus -aC $FSTAT_OPT 2>/dev/null | $FILTER | $AWK -v
> "hgroot=$hgroot" '
> - /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,0,length(tree)-2); next}
> + /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,1,length(tree)-2); next}
> /^A .*/ {n=index($2,tree);
> if (n != 1)
> { printf("A %s/%s\n",tree,$2)}
> @@ -1504,7 +1504,7 @@ function fstatus
> done
> done
> hg tstatus -rn $FSTAT_OPT 2>/dev/null | $FILTER | $AWK -v
> "hgroot=$hgroot" '
> - /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,0,length(tree)-2); next}
> + /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
> tree=substr(tree,1,length(tree)-2); next}
> $1 != "" {n=index($1,tree);
> if (n != 1)
> { printf("%s/%s\n",tree,$1)}
> -----------------------------
>
> The machine I am currently on doesn't work well with trees
> (it has an old Mercurial) - I will test your patch in a few moments
> on a more recent system and will let you know the result!
>
> best regards,
>
> -- daniel
>
> On 11/7/14 8:43 AM, Magnus Ihse Bursie wrote:
>> Webrev -f does not work when using nawk, due to an incorrect substr
>> based on 0 instead of 1 as index to the first position. (See prior
>> discussion on webrev-dev).
>>
>> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7901088
>> Patch inline:
>>
>> diff --git a/webrev.ksh b/webrev.ksh
>> --- a/webrev.ksh
>> +++ b/webrev.ksh
>> @@ -1420,7 +1420,7 @@
>> # the AWK code which still tries to handle both cases
>> #
>> hg tstatus -mdn $FSTAT_OPT 2>/dev/null | $FILTER | $AWK -v
>> "hgroot=$hgroot" '
>> - /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
>> tree=substr(tree,0,length(tree)-2); next}
>> + /^\[.*\]:$/ {tree=substr($1,length(hgroot)+3);
>> tree=substr(tree,1,length(tree)-2); next}
>> $1 != "" {n=index($1,tree);
>> if (n != 1)
>> { printf("%s/%s\n",tree,$1)}
>>
>> /Magnus
>>
>
More information about the code-tools-dev
mailing list