`make update-src` shows latest commit hash for convinience.
However, `rev-parse --short` option shows different length
(maybe) between git versions. This fix force 10 chars
with `--short=10`.
For example when an array containing objects is a hash key, the contents
of the array may move which can cause the hash value for the array to
change. This commit makes the default `hash` value based off the
object id, so the hash value will remain stable.
Fixes test/shell/test_command_processor.rb
After `GC.compact`, test/shell/test_command_processor.rb seems to be made
unstable on osx Travis like https://travis-ci.org/ruby/ruby/jobs/523487997.
For investigating whether it's impacting that or not, let me try isolating
that for osx Travis for now.
Before this commit, classes and modules would be registered with the
VM's `defined_module_hash`. The key was the ID of the class, but that
meant that it was possible for hash collisions to occur. The compactor
doesn't allow classes in the `defined_module_hash` to move, but if there
is a conflict, then it's possible a class would be removed from the hash
and not get pined.
This commit changes the key / value of the hash just to be the class
itself, thus preventing movement.
This changes the static pointers to use IDs then look up the symbols
with the ID. Symbols can move, so we don't want to keep static
references to them.
This change adds an explicit reference to `TracePoint` in the
documentation for `binding`. Currently it only refers to the now
deprecated `Kernel#set_trace_func`. This reference is left alone for
continuity in the documentation.
[Fix GH-2079]
Co-authored-by: Brandon Weaver <baweaver@squareup.com>
from Subversion.
This behavior is tentative and not discussed well. The point of
discussion will be just the length of commit hash, and I thought we
should include this kind of change in 2.7.0-preview1 release even before
the length is fixed yet.
Let's discuss that afterwards and fix it later as needed. Naruse
suggested that length=10 is very unlikely to cause conflict, and thus
it's used by email notification and rubyci now. This behavior is in
favor of that for now.
We started to switch from SVN to Git. Because GitHub would be more
reliable than our single-host cgit, I continued to list GitHub mirror
repository in the first place.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e