Get rid of unknown escape sequence warning, as `#` is not a
special character in C.
```
version.c:126:26: warning: unknown escape sequence '\#' [-Wunknown-escape-sequence]
fputs("last_commit=" RUBY_LAST_COMMIT_TITLE, stdout);
^~~~~~~~~~~~~~~~~~~~~~
revision.h:4:42: note: expanded from macro 'RUBY_LAST_COMMIT_TITLE'
^~
```
setlocal relies on cfp->ep, and frame-omitted method inlining introduced
in Ruby 2.7 kept it wrong.
This change might slow down frame-omitted method inlining for cfp->ep
manipulation, and it obviously complicates the implementaion more. By
introducing an optimization that changes Ruby's local variable to C
local variable, we could optimize it and simplify the cfp->ep
manipulation later.
[Bug #15971]
Previously @hsbt disabled https git clone from git.ruby-lang.org.
Using git.ruby-lang.org for non-commit purposes is discouraged. GitHub
mirror is actually recommended because it's reliable than single-hosted
git.ruby-lang.org, the mirror is almost always well-maintained, and its
latency is very small (usually about 10s).
So we should just use GitHub here.
[Bug #15969]
02155da7ba got a claim about sacrificing
ability to compare arbitrary `RUBY_DESCRIPTION`s without converting
timezones.
Because most of the people would be familiar with timezone conversion
with UTC but it'd be harder when it comes to JST, this commit just
changes the timezone in f42588f754 to UTC.
Another bonus in using UTC is that we can use a shorter variant of
ISO 8601 format like "2019-06-10T14:26:24Z" (the last Z part).
Using the same timezone for all commits is convenient when just looking
dates in RUBY_DESCRIPTION, but usually we also check `git log` when
we're interested in the order of commits.
`git log` shows times in committer's timezone and forcing RUBY_RELEASE_DATE
to JST makes it harder to find a corresponding commit from `git log`.
Because this label is only used in development, I believe there's no
strict requirement to use traditional timezone for release here.
Also when building Ruby after committing from a non-JST timezone, I'd be
surprised to see a strange time (in a different timezone) for my very new
commit in `ruby -v`.
Because some `log.*` git configs may change the result of `git log`,
`RUBY_LAST_COMMIT_TITLE` can be wrongly formatted and break version.c
compilation. So the `git log` executions should not respect user's gitconfig.
This reverts commit 05bc14d81a.
We have decided that the cost of reintroducing support for 1.8
BASERUBY outweighs the benefit. If you are still using 1.8 and want
to build master/trunk, build and install the latest release, and use
that as BASERUBY.