|
| 1 | +[preface] |
| 2 | +== Preface to the Third Edition |
| 3 | + |
| 4 | +//// |
| 5 | +AUTHOR TODO: outline notes only — the actual preface prose must be written by a |
| 6 | +human author before publication (see AGENTS.md). Replace everything below with |
| 7 | +real prose. |
| 8 | +//// |
| 9 | + |
| 10 | +[NOTE] |
| 11 | +==== |
| 12 | +*Draft placeholder — outline notes only; prose not yet written.* |
| 13 | +==== |
| 14 | + |
| 15 | +Points this preface needs to make: |
| 16 | + |
| 17 | +* *Timing*: edition written _before_ the Git 3.0 release |
| 18 | +** based on the announced/committed 3.0 breaking changes (see the |
| 19 | + https://git-scm.com/docs/BreakingChanges[BreakingChanges document]) |
| 20 | +** no firm 3.0 release date at time of writing; details could still shift |
| 21 | +* *Stance*: the book treats the *new 3.0 defaults as the defaults* throughout |
| 22 | +** `main` as the default branch name |
| 23 | +** SHA-256 as the default object hash for new repositories |
| 24 | +** `reftable` as the default ref storage backend |
| 25 | +** `safe.bareRepository` = `explicit` |
| 26 | +* *Dual paths*: some sections deliberately cover *both* the old and new behavior, |
| 27 | + because readers will live with both for years |
| 28 | +** SHA-1 vs SHA-256 (existing repos stay SHA-1; interop story) |
| 29 | +** `files`/packed-refs vs `reftable` ref storage |
| 30 | +** `master`-named branches in older/existing repositories |
| 31 | +* *Readers on Git 2.x*: what to expect if their installed Git predates 3.0 |
| 32 | + (which defaults differ, how to opt in early — e.g. `init.defaultBranch`, |
| 33 | + `--object-format`) |
| 34 | +* *Caveat*: commands still marked experimental at time of writing |
| 35 | + (e.g. `git history`) may change by/after 3.0 |
0 commit comments