Skip to content

Commit 9d5b621

Browse files
znzclaude
andcommitted
docs: add a restoration guide for old-version documentation
Per the version policy, descriptions specific to a Ruby version may be deleted once the following version reaches EOL, so doctree HEAD (and manual/ converted from it) no longer carries much pre-3.0-specific text (e.g. mentions of 1.8.7 under refm/api/src: 232 at tag 20150229, 214 at the 2016-08-28 archive generation, 5 at HEAD today). Record where to restore each old version from before refm/ is removed: - reproduction of the published archives: the doctree commits matching the 'generated on' dates recorded by rurema/generated-documents' import commits (html for 1.8.7-2.7.0; db-2.4.0..2.7.0 are preserved in-repo, db-2.3.0 and older are not) - fullest content per version: the EOL-time tags (20150229..20200331), the last snapshots guaranteed to predate the deletion window; for 2.0.0-2.3.0 the published archives were generated before that window opened, while for 1.8.7/1.9.3 the tags predate the archives Also note the rebuild caveats (era bitclust may be required; the salvage-aware rrd2md --scope can convert old snapshots to Markdown but needs roundtrip verification against era notation). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 7984a0f commit 9d5b621

2 files changed

Lines changed: 87 additions & 0 deletions

File tree

docs/OldVersionArchives.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# 旧バージョンのドキュメントの復元ガイド
2+
3+
Ruby 3.0 より前の各バージョンについて、「公開済みアーカイブの再現」と
4+
「そのバージョンの最も完全なドキュメントの復元」に使うソースの所在をまとめます。
5+
`refm/` 削除(凍結ソースの撤去)後も、この対応表があれば git 履歴から復元できます。
6+
7+
## 背景
8+
9+
[CONTRIBUTING.md](../CONTRIBUTING.md) の「各バージョンの対応方針」により、
10+
あるバージョンの記述は**その次のバージョンが EOL になった時点から削除してよい**
11+
ことになっています(例: 2.1 が EOL になったとき、2.0.x 特有の記述は削除可)。
12+
このため doctree の HEAD(および HEAD から変換した `manual/`)には、
13+
古いバージョン固有の記述の多くが既に残っていません
14+
(実測: `refm/api/src` 中の「1.8.7」への言及は、タグ 20150229 時点で 232、
15+
1.8.7 アーカイブ生成時点の 2016-08-28 で 214、現在の HEAD では 5)。
16+
17+
また、EOL 時にはタグを打つ運用だったため、doctree には各 EOL 時点のタグが
18+
残っています。これが「削除してよいとなった時点の直前」のスナップショットです。
19+
20+
## 公開アーカイブと保存物の所在
21+
22+
- 公開アーカイブ(HTML): [rurema/generated-documents](https://github.com/rurema/generated-documents)
23+
`html/ja/<version>/`(docs.ruby-lang.org/ja/ の配信元。全バージョン分が保存済み)
24+
- BitClust データベース: 同リポジトリの `db/db-<version>`
25+
**2.4.0〜2.7.0 のみ保存されており、2.3.0 以前の db は保存されていない**
26+
27+
## バージョン別の対応表
28+
29+
### 公開アーカイブの再現(HTML の generated on 時点の doctree)
30+
31+
generated-documents の Import コミットに記録された生成日と、
32+
その日の doctree master のコミット(日付からの近似):
33+
34+
| version | HTML 生成日 | db 生成日 | 当時の doctree(近似) |
35+
|---------|------------|-----------|----------------------|
36+
| 1.8.7 | 2016-08-28 | (db なし) | 3376ba3f1 (2016-08-27) |
37+
| 1.9.3 | 2016-08-28 | (db なし) | 3376ba3f1 (2016-08-27) |
38+
| 2.0.0 | 2016-08-28 | (db なし) | 3376ba3f1 (2016-08-27) |
39+
| 2.1.0 | 2017-04-10 | (db なし) | 1e2310435 (2017-04-10) |
40+
| 2.2.0 | 2018-09-15 | (db なし) | 0528a215e (2018-09-15) |
41+
| 2.3.0 | 2019-08-17 | (db なし) | e8ade5b8c (2019-08-17) |
42+
| 2.4.0 | 2020-04-12 | 2020-04-14 | 8d7458377 (2020-04-14) |
43+
| 2.5.0 | 2022-06-14 | 2022-06-20 | b1d8b85fb (2022-06-13) |
44+
| 2.6.0 | 2022-06-14 | 2022-06-20 | b1d8b85fb (2022-06-13) |
45+
| 2.7.0 | 2023-12-21 | 2023-12-26 | 5ba48b74c (2023-12-26) |
46+
47+
- 生成日は generated-documents の
48+
`Import shared/public/ja/<version> (generated on ...)` /
49+
`Import db-<version> (generated on ...)` コミットより。
50+
- 2.4.0〜2.7.0 は db 自体が保存されているので、通常は再ビルド不要です。
51+
52+
### 最も完全なドキュメントの復元(削除解禁前の最終タグ)
53+
54+
各バージョンの記述が「まだ削除されていないことが保証される」最後のスナップショット
55+
(= 次のバージョンの EOL 時に打たれたタグ):
56+
57+
| version | 復元タグ | タグの意味 |
58+
|---------|---------|-----------|
59+
| 1.8.7 | `20150229` | 1.9.3 EOL 時点(これ以降 1.8.7 記述の削除可) |
60+
| 1.9.3 | `20160229` | 2.0.0 EOL 時点 |
61+
| 2.0.0 | `20170331` | 2.1 EOL 時点 |
62+
| 2.1.0 | `20180331` | 2.2 EOL 時点 |
63+
| 2.2.0 | `20190331` | 2.3 EOL 時点 |
64+
| 2.3.0 | `20200331` | 2.4 EOL 時点 |
65+
66+
- **2.0.0〜2.3.0 は公開アーカイブの生成が削除解禁より前**なので、
67+
公開アーカイブ ≒ 最も完全な状態です。
68+
- **1.8.7 と 1.9.3 は公開アーカイブの生成(2016-08-28)が削除解禁より後**なので、
69+
復元タグの方が公開アーカイブより情報が多い可能性があります
70+
(前述の 232 → 214 の実測差)。
71+
72+
## 復元時の注意
73+
74+
- 旧時点の doctree(RRD ソース)を現在の bitclust でビルドできるとは限りません。
75+
2026-07 のサルベージ検証では、HEAD の refm でも 1.8.7 ビルドは
76+
`cgi/util.rd` の構造破損で失敗しました(当時から壊れていた可能性が高い)。
77+
厳密な再現にはタグ/コミット近傍の時期の bitclust を使ってください。
78+
- 旧時点のソースを Markdown に変換したい場合は、サルベージ対応後の bitclust の
79+
`bin/rrd2md --graph --scope LO,HI` をスコープを合わせて使えます
80+
(検証ツールも `--scope` 対応。bitclust の doc/markdown-operations.md 参照)。
81+
ただし 2015〜2019 年時点の RRD には現在の変換器が想定しない記法が
82+
残っている可能性があり、roundtrip 検証を必ず通してください。
83+
- 現在の `manual/` は HEAD の refm から `--scope 1.8.7,4.2` で変換したもので、
84+
「HEAD に残っている範囲の」全バージョン情報を含みます(rake の全対象版を
85+
ビルド可能)。HEAD で削除済みの旧バージョン固有記述は含まないため、
86+
それらが必要な場合にこのページの対応表を使います。

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- [GitRepository](GitRepository.md) — Git リポジトリについて
2727
- [HowToRelease](HowToRelease.md) — リリース手順(gem)
2828
- [ReleasedProducts](ReleasedProducts.md) — リリースされたもの
29+
- [OldVersionArchives](OldVersionArchives.md) — 旧バージョンのドキュメントの復元ガイド
2930
- [ThirdPartyTools](ThirdPartyTools.md) — 外部の活用事例
3031
- [License](License.md) — ライセンス
3132
- [archive/](archive/) — 歴史的記録(凍結)

0 commit comments

Comments
 (0)