Re: Error pushing new branch: value too great for base (error token is...
Thanks for the detailed explanation Eric! That really helped clear my doubts. Also tried with "0x" and it's working fine however, as suggested by you, i will use '=' Thanks again! :) On Tue, Aug 11, 2015 at 4:17 AM, Eric Sunshine wrote: > On Mon, Aug 10, 2015 at 6:29 PM, Jacob Keller wrote: >> On Mon, Aug 10, 2015 at 2:54 AM, Gaurav Chhabra >> wrote: >>> Apologies for the delay in reply! I tried your suggestion and it >>> works. Thanks! :) >>> >>> I'm curious why integer comparison is throwing error. Shouldn't i be >>> comparing numbers with numeric operator? >> >> Yes, but shell doesn't treat hex numbers as numbers. So it will work >> only if the string is a decimal number. > > This particular case deserves a bit more explanation. The expression > in question was this: > > if [[ "$new_sha" -eq "$NULL" ]]; then > > where 'new_sha' was 9226289d2416af4cb7365d7aaa5e382bdb3d9a89. > > In Bash, inside the [[ .. ]], it did attempt evaluating the SHA1 as a > *decimal* number, however, when it encountered the "d", it complained > that it was outside the allowed range of decimal digits ("0"..."9"). > Had the SHA1 been prefixed by a "0x", the [[...]] context would have > dealt with it just fine. > > Outside the [[...]] context, arguments to -eq do need to be base-10 integers. > > Nevertheless, a SHA1 is effective an opaque value. There's little, if > anything, to be gained by treating it as a numeric quantity, hence > string '=' makes more sense than numeric '-eq'. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Error pushing new branch: value too great for base (error token is...
On Mon, Aug 10, 2015 at 6:29 PM, Jacob Keller wrote: > On Mon, Aug 10, 2015 at 2:54 AM, Gaurav Chhabra > wrote: >> Apologies for the delay in reply! I tried your suggestion and it >> works. Thanks! :) >> >> I'm curious why integer comparison is throwing error. Shouldn't i be >> comparing numbers with numeric operator? > > Yes, but shell doesn't treat hex numbers as numbers. So it will work > only if the string is a decimal number. This particular case deserves a bit more explanation. The expression in question was this: if [[ "$new_sha" -eq "$NULL" ]]; then where 'new_sha' was 9226289d2416af4cb7365d7aaa5e382bdb3d9a89. In Bash, inside the [[ .. ]], it did attempt evaluating the SHA1 as a *decimal* number, however, when it encountered the "d", it complained that it was outside the allowed range of decimal digits ("0"..."9"). Had the SHA1 been prefixed by a "0x", the [[...]] context would have dealt with it just fine. Outside the [[...]] context, arguments to -eq do need to be base-10 integers. Nevertheless, a SHA1 is effective an opaque value. There's little, if anything, to be gained by treating it as a numeric quantity, hence string '=' makes more sense than numeric '-eq'. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Error pushing new branch: value too great for base (error token is...
On Mon, Aug 10, 2015 at 2:54 AM, Gaurav Chhabra wrote: > Apologies for the delay in reply! I tried your suggestion and it > works. Thanks! :) > > I'm curious why integer comparison is throwing error. Shouldn't i be > comparing numbers with numeric operator? > Yes, but shell doesn't treat hex numbers as numbers. So it will work only if the string is a decimal number. Regards, Jake -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Error pushing new branch: value too great for base (error token is...
Apologies for the delay in reply! I tried your suggestion and it works. Thanks! :) I'm curious why integer comparison is throwing error. Shouldn't i be comparing numbers with numeric operator? On Mon, Aug 10, 2015 at 3:23 PM, Gaurav Chhabra wrote: > Apologies for the delay in reply! I tried your suggestion and it works. > Thanks! :) > > I'm curious why integer comparison is throwing error. Shouldn't i be > comparing numbers with numeric operator? > > > On Wed, Aug 5, 2015 at 11:23 PM, Eric Sunshine > wrote: >> >> On Wed, Aug 5, 2015 at 1:32 PM, Gaurav Chhabra >> wrote: >> > I had written the following code to check whether a push is for branch >> > deletion: >> > >> > #!/bin/bash >> > >> > NULL="" >> > if [[ "$new_sha" -eq "$NULL" ]]; then # Line 17 >> > remote: Stdin: [] >> > [9226289d2416af4cb7365d7aaa5e382bdb3d9a89] [refs/heads/rel-a] >> > remote: >> > remote: hooks/pre-receive: line 17: [[: >> > 9226289d2416af4cb7365d7aaa5e382bdb3d9a89: value too great for base >> > (error token is "922628 >> > 9d2416af4cb7365d7aaa5e382bdb3d9a89") >> > >> > Although the new branch gets pushed to remote but i'm not sure why i'm >> > getting this error and how can i fix it. I checked online and i get >> > few links where folks had similar issue but in each such case, the >> > error token was 08 or 09. I still tried the suggestion of using "10#" >> > in front of my $new_sha variable but to no avail. >> > >> > Any suggestions? >> >> Yes, try using the string comparison '=' operator rather than the >> numeric comparison operator '-eq'. >> >> if [[ "$new_sha" = "$NULL" ]]; then > > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Error pushing new branch: value too great for base (error token is...
On Wed, Aug 5, 2015 at 1:32 PM, Gaurav Chhabra wrote: > I had written the following code to check whether a push is for branch > deletion: > > #!/bin/bash > > NULL="" > if [[ "$new_sha" -eq "$NULL" ]]; then # Line 17 > remote: Stdin: [] > [9226289d2416af4cb7365d7aaa5e382bdb3d9a89] [refs/heads/rel-a] > remote: > remote: hooks/pre-receive: line 17: [[: > 9226289d2416af4cb7365d7aaa5e382bdb3d9a89: value too great for base > (error token is "922628 > 9d2416af4cb7365d7aaa5e382bdb3d9a89") > > Although the new branch gets pushed to remote but i'm not sure why i'm > getting this error and how can i fix it. I checked online and i get > few links where folks had similar issue but in each such case, the > error token was 08 or 09. I still tried the suggestion of using "10#" > in front of my $new_sha variable but to no avail. > > Any suggestions? Yes, try using the string comparison '=' operator rather than the numeric comparison operator '-eq'. if [[ "$new_sha" = "$NULL" ]]; then -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html