Skip to content

Random notes for developers

Kazuki Yamaguchi edited this page Feb 18, 2020 · 1 revision

Notes

Restoring commits history

For historical reasons, the master branch cannot go back to the origin of the project in 2001 - it only tracks changes made after 2015.

This is sometimes annoying when we have to look up the changes history, e.g., with git blame. The following instruction virtually brings the history back by utilizing Git's replace feature.

NOTE

  • This brings back changes history of the code, but at the same time this will hide commits that only happened in this Git repository in 2015-2016.
  • The old history was converted from the CVS and Subversion repositories and then concatenated. It might have lost some information during the process. The original can be found at:
  • Old code might have different licenses.
  • The directory structure has changed multiple time. Don't forget --follow when you use git log <file> or git blame.
$ # Fetch two tags: replace-local and replace-foreign
$ git fetch https://github.com/rhenium/ruby-openssl.git tag replace-foreign tag replace-local

$ git log -2 --oneline replace-local
0c136c786bce (tag: replace-local) Sync with Ruby trunk
4a34a978ba93 Use zzak/ruby-openssl-docker@b32c28dbce0c1a4b62f2d9d7f351ea9e6a67d801
$ git log -2 --oneline replace-foreign
4d4ee3b07e5e (tag: replace-foreign) Skip SHA from test_digest_constants for LibreSSL 2.3
8842d715e113 * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter. * test/openssl/test_pkey_dh.rb: ditto.

$ git replace replace-local replace-foreign