git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Error pushing new branch: value too great for base (error token is...

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Aug 10, 2015, 22:47 UTC
Message-ID
<CAPig+cTB0VU6rmLT1H7sPMNBPE0zKvWmMp_obS5VpZBAi2nYLA@mail.gmail.com>
In-Reply-To
<CA+P7+xpKHw8xkpMSjCftmAnMh=J_R9HxhYD48O2-P2WKUH1diw@mail.gmail.com>
On Mon, Aug 10, 2015 at 6:29 PM, Jacob Keller <jacob.keller@gmail.com> wrote:
Show 10 quoted lines
> On Mon, Aug 10, 2015 at 2:54 AM, Gaurav Chhabra
> <varuag.chhabra@gmail.com> 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'.

Previous: Jacob KellerNext: Gaurav Chhabra
Message 5 of 6 in “Error pushing new branch: value too great for base (error token is...”
  1. Gaurav ChhabraAug 5, 2015
  2. Eric SunshineAug 5, 2015
  3. Gaurav ChhabraAug 10, 2015
  4. Jacob KellerAug 10, 2015
  5. Eric SunshineAug 10, 2015
  6. Gaurav ChhabraAug 11, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.