diff options
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/.gitattributes | 1 | ||||
| -rw-r--r-- | Documentation/.gitignore | 11 | ||||
| -rw-r--r-- | Documentation/BreakingChanges.adoc (renamed from Documentation/BreakingChanges.txt) | 104 | ||||
| -rw-r--r-- | Documentation/CodingGuidelines | 117 | ||||
| -rw-r--r-- | Documentation/DecisionMaking.adoc (renamed from Documentation/DecisionMaking.txt) | 0 | ||||
| -rw-r--r-- | Documentation/Makefile | 277 | ||||
| -rw-r--r-- | Documentation/MyFirstContribution.adoc (renamed from Documentation/MyFirstContribution.txt) | 78 | ||||
| -rw-r--r-- | Documentation/MyFirstObjectWalk.adoc (renamed from Documentation/MyFirstObjectWalk.txt) | 53 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.1.adoc (renamed from Documentation/RelNotes/1.5.0.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.2.adoc (renamed from Documentation/RelNotes/1.5.0.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.3.adoc (renamed from Documentation/RelNotes/1.5.0.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.4.adoc (renamed from Documentation/RelNotes/1.5.0.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.5.adoc (renamed from Documentation/RelNotes/1.5.0.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.6.adoc (renamed from Documentation/RelNotes/1.5.0.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.7.adoc (renamed from Documentation/RelNotes/1.5.0.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.0.adoc (renamed from Documentation/RelNotes/1.5.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.1.adoc (renamed from Documentation/RelNotes/1.5.1.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.2.adoc (renamed from Documentation/RelNotes/1.5.1.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.3.adoc (renamed from Documentation/RelNotes/1.5.1.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.4.adoc (renamed from Documentation/RelNotes/1.5.1.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.5.adoc (renamed from Documentation/RelNotes/1.5.1.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.6.adoc (renamed from Documentation/RelNotes/1.5.1.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.1.adoc (renamed from Documentation/RelNotes/1.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.1.adoc (renamed from Documentation/RelNotes/1.5.2.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.2.adoc (renamed from Documentation/RelNotes/1.5.2.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.3.adoc (renamed from Documentation/RelNotes/1.5.2.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.4.adoc (renamed from Documentation/RelNotes/1.5.2.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.5.adoc (renamed from Documentation/RelNotes/1.5.2.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.2.adoc (renamed from Documentation/RelNotes/1.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.1.adoc (renamed from Documentation/RelNotes/1.5.3.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.2.adoc (renamed from Documentation/RelNotes/1.5.3.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.3.adoc (renamed from Documentation/RelNotes/1.5.3.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.4.adoc (renamed from Documentation/RelNotes/1.5.3.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.5.adoc (renamed from Documentation/RelNotes/1.5.3.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.6.adoc (renamed from Documentation/RelNotes/1.5.3.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.7.adoc (renamed from Documentation/RelNotes/1.5.3.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.8.adoc (renamed from Documentation/RelNotes/1.5.3.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.3.adoc (renamed from Documentation/RelNotes/1.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.1.adoc (renamed from Documentation/RelNotes/1.5.4.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.2.adoc (renamed from Documentation/RelNotes/1.5.4.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.3.adoc (renamed from Documentation/RelNotes/1.5.4.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.4.adoc (renamed from Documentation/RelNotes/1.5.4.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.5.adoc (renamed from Documentation/RelNotes/1.5.4.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.6.adoc (renamed from Documentation/RelNotes/1.5.4.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.7.adoc (renamed from Documentation/RelNotes/1.5.4.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.4.adoc (renamed from Documentation/RelNotes/1.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.1.adoc (renamed from Documentation/RelNotes/1.5.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.2.adoc (renamed from Documentation/RelNotes/1.5.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.3.adoc (renamed from Documentation/RelNotes/1.5.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.4.adoc (renamed from Documentation/RelNotes/1.5.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.5.adoc (renamed from Documentation/RelNotes/1.5.5.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.6.adoc (renamed from Documentation/RelNotes/1.5.5.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.5.adoc (renamed from Documentation/RelNotes/1.5.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.1.adoc (renamed from Documentation/RelNotes/1.5.6.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.2.adoc (renamed from Documentation/RelNotes/1.5.6.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.3.adoc (renamed from Documentation/RelNotes/1.5.6.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.4.adoc (renamed from Documentation/RelNotes/1.5.6.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.5.adoc (renamed from Documentation/RelNotes/1.5.6.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.6.adoc (renamed from Documentation/RelNotes/1.5.6.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.5.6.adoc (renamed from Documentation/RelNotes/1.5.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.1.adoc (renamed from Documentation/RelNotes/1.6.0.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.2.adoc (renamed from Documentation/RelNotes/1.6.0.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.3.adoc (renamed from Documentation/RelNotes/1.6.0.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.4.adoc (renamed from Documentation/RelNotes/1.6.0.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.5.adoc (renamed from Documentation/RelNotes/1.6.0.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.6.adoc (renamed from Documentation/RelNotes/1.6.0.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.0.adoc (renamed from Documentation/RelNotes/1.6.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.1.1.adoc (renamed from Documentation/RelNotes/1.6.1.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.1.2.adoc (renamed from Documentation/RelNotes/1.6.1.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.1.3.adoc (renamed from Documentation/RelNotes/1.6.1.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.1.4.adoc (renamed from Documentation/RelNotes/1.6.1.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.1.adoc (renamed from Documentation/RelNotes/1.6.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.1.adoc (renamed from Documentation/RelNotes/1.6.2.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.2.adoc (renamed from Documentation/RelNotes/1.6.2.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.3.adoc (renamed from Documentation/RelNotes/1.6.2.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.4.adoc (renamed from Documentation/RelNotes/1.6.2.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.5.adoc (renamed from Documentation/RelNotes/1.6.2.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.2.adoc (renamed from Documentation/RelNotes/1.6.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.3.1.adoc (renamed from Documentation/RelNotes/1.6.3.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.3.2.adoc (renamed from Documentation/RelNotes/1.6.3.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.3.3.adoc (renamed from Documentation/RelNotes/1.6.3.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.3.4.adoc (renamed from Documentation/RelNotes/1.6.3.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.3.adoc (renamed from Documentation/RelNotes/1.6.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.1.adoc (renamed from Documentation/RelNotes/1.6.4.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.2.adoc (renamed from Documentation/RelNotes/1.6.4.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.3.adoc (renamed from Documentation/RelNotes/1.6.4.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.4.adoc (renamed from Documentation/RelNotes/1.6.4.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.5.adoc (renamed from Documentation/RelNotes/1.6.4.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.4.adoc (renamed from Documentation/RelNotes/1.6.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.1.adoc (renamed from Documentation/RelNotes/1.6.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.2.adoc (renamed from Documentation/RelNotes/1.6.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.3.adoc (renamed from Documentation/RelNotes/1.6.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.4.adoc (renamed from Documentation/RelNotes/1.6.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.5.adoc (renamed from Documentation/RelNotes/1.6.5.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.6.adoc (renamed from Documentation/RelNotes/1.6.5.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.7.adoc (renamed from Documentation/RelNotes/1.6.5.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.8.adoc (renamed from Documentation/RelNotes/1.6.5.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.9.adoc (renamed from Documentation/RelNotes/1.6.5.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.5.adoc (renamed from Documentation/RelNotes/1.6.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.6.1.adoc (renamed from Documentation/RelNotes/1.6.6.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.6.2.adoc (renamed from Documentation/RelNotes/1.6.6.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.6.3.adoc (renamed from Documentation/RelNotes/1.6.6.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.6.6.adoc (renamed from Documentation/RelNotes/1.6.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.1.adoc (renamed from Documentation/RelNotes/1.7.0.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.2.adoc (renamed from Documentation/RelNotes/1.7.0.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.3.adoc (renamed from Documentation/RelNotes/1.7.0.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.4.adoc (renamed from Documentation/RelNotes/1.7.0.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.5.adoc (renamed from Documentation/RelNotes/1.7.0.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.6.adoc (renamed from Documentation/RelNotes/1.7.0.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.7.adoc (renamed from Documentation/RelNotes/1.7.0.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.8.adoc (renamed from Documentation/RelNotes/1.7.0.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.9.adoc (renamed from Documentation/RelNotes/1.7.0.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.0.adoc (renamed from Documentation/RelNotes/1.7.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.1.1.adoc (renamed from Documentation/RelNotes/1.7.1.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.1.2.adoc (renamed from Documentation/RelNotes/1.7.1.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.1.3.adoc (renamed from Documentation/RelNotes/1.7.1.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.1.4.adoc (renamed from Documentation/RelNotes/1.7.1.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.1.adoc (renamed from Documentation/RelNotes/1.7.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.1.adoc (renamed from Documentation/RelNotes/1.7.10.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.2.adoc (renamed from Documentation/RelNotes/1.7.10.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.3.adoc (renamed from Documentation/RelNotes/1.7.10.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.4.adoc (renamed from Documentation/RelNotes/1.7.10.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.5.adoc (renamed from Documentation/RelNotes/1.7.10.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.10.adoc (renamed from Documentation/RelNotes/1.7.10.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.1.adoc (renamed from Documentation/RelNotes/1.7.11.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.2.adoc (renamed from Documentation/RelNotes/1.7.11.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.3.adoc (renamed from Documentation/RelNotes/1.7.11.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.4.adoc (renamed from Documentation/RelNotes/1.7.11.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.5.adoc (renamed from Documentation/RelNotes/1.7.11.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.6.adoc (renamed from Documentation/RelNotes/1.7.11.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.7.adoc (renamed from Documentation/RelNotes/1.7.11.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.11.adoc (renamed from Documentation/RelNotes/1.7.11.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.12.1.adoc (renamed from Documentation/RelNotes/1.7.12.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.12.2.adoc (renamed from Documentation/RelNotes/1.7.12.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.12.3.adoc (renamed from Documentation/RelNotes/1.7.12.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.12.4.adoc (renamed from Documentation/RelNotes/1.7.12.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.12.adoc (renamed from Documentation/RelNotes/1.7.12.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.1.adoc (renamed from Documentation/RelNotes/1.7.2.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.2.adoc (renamed from Documentation/RelNotes/1.7.2.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.3.adoc (renamed from Documentation/RelNotes/1.7.2.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.4.adoc (renamed from Documentation/RelNotes/1.7.2.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.5.adoc (renamed from Documentation/RelNotes/1.7.2.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.2.adoc (renamed from Documentation/RelNotes/1.7.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.1.adoc (renamed from Documentation/RelNotes/1.7.3.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.2.adoc (renamed from Documentation/RelNotes/1.7.3.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.3.adoc (renamed from Documentation/RelNotes/1.7.3.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.4.adoc (renamed from Documentation/RelNotes/1.7.3.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.5.adoc (renamed from Documentation/RelNotes/1.7.3.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.3.adoc (renamed from Documentation/RelNotes/1.7.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.1.adoc (renamed from Documentation/RelNotes/1.7.4.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.2.adoc (renamed from Documentation/RelNotes/1.7.4.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.3.adoc (renamed from Documentation/RelNotes/1.7.4.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.4.adoc (renamed from Documentation/RelNotes/1.7.4.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.5.adoc (renamed from Documentation/RelNotes/1.7.4.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.4.adoc (renamed from Documentation/RelNotes/1.7.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.5.1.adoc (renamed from Documentation/RelNotes/1.7.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.5.2.adoc (renamed from Documentation/RelNotes/1.7.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.5.3.adoc (renamed from Documentation/RelNotes/1.7.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.5.4.adoc (renamed from Documentation/RelNotes/1.7.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.5.adoc (renamed from Documentation/RelNotes/1.7.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.1.adoc (renamed from Documentation/RelNotes/1.7.6.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.2.adoc (renamed from Documentation/RelNotes/1.7.6.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.3.adoc (renamed from Documentation/RelNotes/1.7.6.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.4.adoc (renamed from Documentation/RelNotes/1.7.6.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.5.adoc (renamed from Documentation/RelNotes/1.7.6.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.6.adoc (renamed from Documentation/RelNotes/1.7.6.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.6.adoc (renamed from Documentation/RelNotes/1.7.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.1.adoc (renamed from Documentation/RelNotes/1.7.7.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.2.adoc (renamed from Documentation/RelNotes/1.7.7.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.3.adoc (renamed from Documentation/RelNotes/1.7.7.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.4.adoc (renamed from Documentation/RelNotes/1.7.7.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.5.adoc (renamed from Documentation/RelNotes/1.7.7.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.6.adoc (renamed from Documentation/RelNotes/1.7.7.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.7.adoc (renamed from Documentation/RelNotes/1.7.7.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.7.adoc (renamed from Documentation/RelNotes/1.7.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.1.adoc (renamed from Documentation/RelNotes/1.7.8.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.2.adoc (renamed from Documentation/RelNotes/1.7.8.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.3.adoc (renamed from Documentation/RelNotes/1.7.8.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.4.adoc (renamed from Documentation/RelNotes/1.7.8.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.5.adoc (renamed from Documentation/RelNotes/1.7.8.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.6.adoc (renamed from Documentation/RelNotes/1.7.8.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.8.adoc (renamed from Documentation/RelNotes/1.7.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.1.adoc (renamed from Documentation/RelNotes/1.7.9.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.2.adoc (renamed from Documentation/RelNotes/1.7.9.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.3.adoc (renamed from Documentation/RelNotes/1.7.9.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.4.adoc (renamed from Documentation/RelNotes/1.7.9.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.5.adoc (renamed from Documentation/RelNotes/1.7.9.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.6.adoc (renamed from Documentation/RelNotes/1.7.9.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.7.adoc (renamed from Documentation/RelNotes/1.7.9.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.7.9.adoc (renamed from Documentation/RelNotes/1.7.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.0.1.adoc (renamed from Documentation/RelNotes/1.8.0.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.0.2.adoc (renamed from Documentation/RelNotes/1.8.0.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.0.3.adoc (renamed from Documentation/RelNotes/1.8.0.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.0.adoc (renamed from Documentation/RelNotes/1.8.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.1.adoc (renamed from Documentation/RelNotes/1.8.1.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.2.adoc (renamed from Documentation/RelNotes/1.8.1.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.3.adoc (renamed from Documentation/RelNotes/1.8.1.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.4.adoc (renamed from Documentation/RelNotes/1.8.1.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.5.adoc (renamed from Documentation/RelNotes/1.8.1.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.6.adoc (renamed from Documentation/RelNotes/1.8.1.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.1.adoc (renamed from Documentation/RelNotes/1.8.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.2.1.adoc (renamed from Documentation/RelNotes/1.8.2.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.2.2.adoc (renamed from Documentation/RelNotes/1.8.2.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.2.3.adoc (renamed from Documentation/RelNotes/1.8.2.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.2.adoc (renamed from Documentation/RelNotes/1.8.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.3.1.adoc (renamed from Documentation/RelNotes/1.8.3.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.3.2.adoc (renamed from Documentation/RelNotes/1.8.3.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.3.3.adoc (renamed from Documentation/RelNotes/1.8.3.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.3.4.adoc (renamed from Documentation/RelNotes/1.8.3.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.3.adoc (renamed from Documentation/RelNotes/1.8.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.1.adoc (renamed from Documentation/RelNotes/1.8.4.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.2.adoc (renamed from Documentation/RelNotes/1.8.4.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.3.adoc (renamed from Documentation/RelNotes/1.8.4.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.4.adoc (renamed from Documentation/RelNotes/1.8.4.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.5.adoc (renamed from Documentation/RelNotes/1.8.4.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.4.adoc (renamed from Documentation/RelNotes/1.8.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.1.adoc (renamed from Documentation/RelNotes/1.8.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.2.adoc (renamed from Documentation/RelNotes/1.8.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.3.adoc (renamed from Documentation/RelNotes/1.8.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.4.adoc (renamed from Documentation/RelNotes/1.8.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.5.adoc (renamed from Documentation/RelNotes/1.8.5.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.6.adoc (renamed from Documentation/RelNotes/1.8.5.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.8.5.adoc (renamed from Documentation/RelNotes/1.8.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.0.adoc (renamed from Documentation/RelNotes/1.9.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.1.adoc (renamed from Documentation/RelNotes/1.9.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.2.adoc (renamed from Documentation/RelNotes/1.9.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.3.adoc (renamed from Documentation/RelNotes/1.9.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.4.adoc (renamed from Documentation/RelNotes/1.9.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/1.9.5.adoc (renamed from Documentation/RelNotes/1.9.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.0.adoc (renamed from Documentation/RelNotes/2.0.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.1.adoc (renamed from Documentation/RelNotes/2.0.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.2.adoc (renamed from Documentation/RelNotes/2.0.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.3.adoc (renamed from Documentation/RelNotes/2.0.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.4.adoc (renamed from Documentation/RelNotes/2.0.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.0.5.adoc (renamed from Documentation/RelNotes/2.0.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.1.0.adoc (renamed from Documentation/RelNotes/2.1.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.1.1.adoc (renamed from Documentation/RelNotes/2.1.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.1.2.adoc (renamed from Documentation/RelNotes/2.1.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.1.3.adoc (renamed from Documentation/RelNotes/2.1.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.1.4.adoc (renamed from Documentation/RelNotes/2.1.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.0.adoc (renamed from Documentation/RelNotes/2.10.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.1.adoc (renamed from Documentation/RelNotes/2.10.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.2.adoc (renamed from Documentation/RelNotes/2.10.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.3.adoc (renamed from Documentation/RelNotes/2.10.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.4.adoc (renamed from Documentation/RelNotes/2.10.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.10.5.adoc (renamed from Documentation/RelNotes/2.10.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.11.0.adoc (renamed from Documentation/RelNotes/2.11.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.11.1.adoc (renamed from Documentation/RelNotes/2.11.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.11.2.adoc (renamed from Documentation/RelNotes/2.11.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.11.3.adoc (renamed from Documentation/RelNotes/2.11.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.11.4.adoc (renamed from Documentation/RelNotes/2.11.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.0.adoc (renamed from Documentation/RelNotes/2.12.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.1.adoc (renamed from Documentation/RelNotes/2.12.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.2.adoc (renamed from Documentation/RelNotes/2.12.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.3.adoc (renamed from Documentation/RelNotes/2.12.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.4.adoc (renamed from Documentation/RelNotes/2.12.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.12.5.adoc (renamed from Documentation/RelNotes/2.12.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.0.adoc (renamed from Documentation/RelNotes/2.13.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.1.adoc (renamed from Documentation/RelNotes/2.13.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.2.adoc (renamed from Documentation/RelNotes/2.13.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.3.adoc (renamed from Documentation/RelNotes/2.13.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.4.adoc (renamed from Documentation/RelNotes/2.13.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.5.adoc (renamed from Documentation/RelNotes/2.13.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.6.adoc (renamed from Documentation/RelNotes/2.13.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.13.7.adoc (renamed from Documentation/RelNotes/2.13.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.0.adoc (renamed from Documentation/RelNotes/2.14.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.1.adoc (renamed from Documentation/RelNotes/2.14.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.2.adoc (renamed from Documentation/RelNotes/2.14.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.3.adoc (renamed from Documentation/RelNotes/2.14.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.4.adoc (renamed from Documentation/RelNotes/2.14.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.5.adoc (renamed from Documentation/RelNotes/2.14.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.14.6.adoc (renamed from Documentation/RelNotes/2.14.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.15.0.adoc (renamed from Documentation/RelNotes/2.15.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.15.1.adoc (renamed from Documentation/RelNotes/2.15.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.15.2.adoc (renamed from Documentation/RelNotes/2.15.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.15.3.adoc (renamed from Documentation/RelNotes/2.15.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.15.4.adoc (renamed from Documentation/RelNotes/2.15.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.0.adoc (renamed from Documentation/RelNotes/2.16.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.1.adoc (renamed from Documentation/RelNotes/2.16.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.2.adoc (renamed from Documentation/RelNotes/2.16.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.3.adoc (renamed from Documentation/RelNotes/2.16.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.4.adoc (renamed from Documentation/RelNotes/2.16.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.5.adoc (renamed from Documentation/RelNotes/2.16.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.16.6.adoc (renamed from Documentation/RelNotes/2.16.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.0.adoc (renamed from Documentation/RelNotes/2.17.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.1.adoc (renamed from Documentation/RelNotes/2.17.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.2.adoc (renamed from Documentation/RelNotes/2.17.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.3.adoc (renamed from Documentation/RelNotes/2.17.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.4.adoc (renamed from Documentation/RelNotes/2.17.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.5.adoc (renamed from Documentation/RelNotes/2.17.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.17.6.adoc (renamed from Documentation/RelNotes/2.17.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.0.adoc (renamed from Documentation/RelNotes/2.18.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.1.adoc (renamed from Documentation/RelNotes/2.18.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.2.adoc (renamed from Documentation/RelNotes/2.18.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.3.adoc (renamed from Documentation/RelNotes/2.18.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.4.adoc (renamed from Documentation/RelNotes/2.18.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.18.5.adoc (renamed from Documentation/RelNotes/2.18.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.0.adoc (renamed from Documentation/RelNotes/2.19.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.1.adoc (renamed from Documentation/RelNotes/2.19.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.2.adoc (renamed from Documentation/RelNotes/2.19.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.3.adoc (renamed from Documentation/RelNotes/2.19.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.4.adoc (renamed from Documentation/RelNotes/2.19.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.5.adoc (renamed from Documentation/RelNotes/2.19.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.19.6.adoc (renamed from Documentation/RelNotes/2.19.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.2.0.adoc (renamed from Documentation/RelNotes/2.2.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.2.1.adoc (renamed from Documentation/RelNotes/2.2.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.2.2.adoc (renamed from Documentation/RelNotes/2.2.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.2.3.adoc (renamed from Documentation/RelNotes/2.2.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.0.adoc (renamed from Documentation/RelNotes/2.20.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.1.adoc (renamed from Documentation/RelNotes/2.20.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.2.adoc (renamed from Documentation/RelNotes/2.20.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.3.adoc (renamed from Documentation/RelNotes/2.20.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.4.adoc (renamed from Documentation/RelNotes/2.20.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.20.5.adoc (renamed from Documentation/RelNotes/2.20.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.21.0.adoc (renamed from Documentation/RelNotes/2.21.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.21.1.adoc (renamed from Documentation/RelNotes/2.21.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.21.2.adoc (renamed from Documentation/RelNotes/2.21.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.21.3.adoc (renamed from Documentation/RelNotes/2.21.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.21.4.adoc (renamed from Documentation/RelNotes/2.21.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.0.adoc (renamed from Documentation/RelNotes/2.22.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.1.adoc (renamed from Documentation/RelNotes/2.22.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.2.adoc (renamed from Documentation/RelNotes/2.22.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.3.adoc (renamed from Documentation/RelNotes/2.22.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.4.adoc (renamed from Documentation/RelNotes/2.22.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.22.5.adoc (renamed from Documentation/RelNotes/2.22.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.23.0.adoc (renamed from Documentation/RelNotes/2.23.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.23.1.adoc (renamed from Documentation/RelNotes/2.23.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.23.2.adoc (renamed from Documentation/RelNotes/2.23.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.23.3.adoc (renamed from Documentation/RelNotes/2.23.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.23.4.adoc (renamed from Documentation/RelNotes/2.23.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.24.0.adoc (renamed from Documentation/RelNotes/2.24.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.24.1.adoc (renamed from Documentation/RelNotes/2.24.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.24.2.adoc (renamed from Documentation/RelNotes/2.24.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.24.3.adoc (renamed from Documentation/RelNotes/2.24.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.24.4.adoc (renamed from Documentation/RelNotes/2.24.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.0.adoc (renamed from Documentation/RelNotes/2.25.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.1.adoc (renamed from Documentation/RelNotes/2.25.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.2.adoc (renamed from Documentation/RelNotes/2.25.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.3.adoc (renamed from Documentation/RelNotes/2.25.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.4.adoc (renamed from Documentation/RelNotes/2.25.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.25.5.adoc (renamed from Documentation/RelNotes/2.25.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.26.0.adoc (renamed from Documentation/RelNotes/2.26.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.26.1.adoc (renamed from Documentation/RelNotes/2.26.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.26.2.adoc (renamed from Documentation/RelNotes/2.26.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.26.3.adoc (renamed from Documentation/RelNotes/2.26.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.27.0.adoc (renamed from Documentation/RelNotes/2.27.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.27.1.adoc (renamed from Documentation/RelNotes/2.27.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.28.0.adoc (renamed from Documentation/RelNotes/2.28.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.28.1.adoc (renamed from Documentation/RelNotes/2.28.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.29.0.adoc (renamed from Documentation/RelNotes/2.29.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.29.1.adoc (renamed from Documentation/RelNotes/2.29.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.29.2.adoc (renamed from Documentation/RelNotes/2.29.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.29.3.adoc (renamed from Documentation/RelNotes/2.29.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.0.adoc (renamed from Documentation/RelNotes/2.3.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.1.adoc (renamed from Documentation/RelNotes/2.3.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.10.adoc (renamed from Documentation/RelNotes/2.3.10.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.2.adoc (renamed from Documentation/RelNotes/2.3.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.3.adoc (renamed from Documentation/RelNotes/2.3.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.4.adoc (renamed from Documentation/RelNotes/2.3.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.5.adoc (renamed from Documentation/RelNotes/2.3.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.6.adoc (renamed from Documentation/RelNotes/2.3.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.7.adoc (renamed from Documentation/RelNotes/2.3.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.8.adoc (renamed from Documentation/RelNotes/2.3.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.3.9.adoc (renamed from Documentation/RelNotes/2.3.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.0.adoc (renamed from Documentation/RelNotes/2.30.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.1.adoc (renamed from Documentation/RelNotes/2.30.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.2.adoc (renamed from Documentation/RelNotes/2.30.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.3.adoc (renamed from Documentation/RelNotes/2.30.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.4.adoc (renamed from Documentation/RelNotes/2.30.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.5.adoc (renamed from Documentation/RelNotes/2.30.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.6.adoc (renamed from Documentation/RelNotes/2.30.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.7.adoc (renamed from Documentation/RelNotes/2.30.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.8.adoc (renamed from Documentation/RelNotes/2.30.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.30.9.adoc (renamed from Documentation/RelNotes/2.30.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.0.adoc (renamed from Documentation/RelNotes/2.31.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.1.adoc (renamed from Documentation/RelNotes/2.31.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.2.adoc (renamed from Documentation/RelNotes/2.31.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.3.adoc (renamed from Documentation/RelNotes/2.31.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.4.adoc (renamed from Documentation/RelNotes/2.31.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.5.adoc (renamed from Documentation/RelNotes/2.31.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.6.adoc (renamed from Documentation/RelNotes/2.31.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.7.adoc (renamed from Documentation/RelNotes/2.31.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.31.8.adoc (renamed from Documentation/RelNotes/2.31.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.0.adoc (renamed from Documentation/RelNotes/2.32.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.1.adoc (renamed from Documentation/RelNotes/2.32.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.2.adoc (renamed from Documentation/RelNotes/2.32.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.3.adoc (renamed from Documentation/RelNotes/2.32.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.4.adoc (renamed from Documentation/RelNotes/2.32.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.5.adoc (renamed from Documentation/RelNotes/2.32.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.6.adoc (renamed from Documentation/RelNotes/2.32.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.32.7.adoc (renamed from Documentation/RelNotes/2.32.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.0.adoc (renamed from Documentation/RelNotes/2.33.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.1.adoc (renamed from Documentation/RelNotes/2.33.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.2.adoc (renamed from Documentation/RelNotes/2.33.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.3.adoc (renamed from Documentation/RelNotes/2.33.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.4.adoc (renamed from Documentation/RelNotes/2.33.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.5.adoc (renamed from Documentation/RelNotes/2.33.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.6.adoc (renamed from Documentation/RelNotes/2.33.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.7.adoc (renamed from Documentation/RelNotes/2.33.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.33.8.adoc (renamed from Documentation/RelNotes/2.33.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.0.adoc (renamed from Documentation/RelNotes/2.34.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.1.adoc (renamed from Documentation/RelNotes/2.34.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.2.adoc (renamed from Documentation/RelNotes/2.34.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.3.adoc (renamed from Documentation/RelNotes/2.34.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.4.adoc (renamed from Documentation/RelNotes/2.34.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.5.adoc (renamed from Documentation/RelNotes/2.34.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.6.adoc (renamed from Documentation/RelNotes/2.34.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.7.adoc (renamed from Documentation/RelNotes/2.34.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.34.8.adoc (renamed from Documentation/RelNotes/2.34.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.0.adoc (renamed from Documentation/RelNotes/2.35.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.1.adoc (renamed from Documentation/RelNotes/2.35.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.2.adoc (renamed from Documentation/RelNotes/2.35.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.3.adoc (renamed from Documentation/RelNotes/2.35.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.4.adoc (renamed from Documentation/RelNotes/2.35.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.5.adoc (renamed from Documentation/RelNotes/2.35.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.6.adoc (renamed from Documentation/RelNotes/2.35.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.7.adoc (renamed from Documentation/RelNotes/2.35.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.35.8.adoc (renamed from Documentation/RelNotes/2.35.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.0.adoc (renamed from Documentation/RelNotes/2.36.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.1.adoc (renamed from Documentation/RelNotes/2.36.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.2.adoc (renamed from Documentation/RelNotes/2.36.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.3.adoc (renamed from Documentation/RelNotes/2.36.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.4.adoc (renamed from Documentation/RelNotes/2.36.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.5.adoc (renamed from Documentation/RelNotes/2.36.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.36.6.adoc (renamed from Documentation/RelNotes/2.36.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.0.adoc (renamed from Documentation/RelNotes/2.37.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.1.adoc (renamed from Documentation/RelNotes/2.37.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.2.adoc (renamed from Documentation/RelNotes/2.37.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.3.adoc (renamed from Documentation/RelNotes/2.37.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.4.adoc (renamed from Documentation/RelNotes/2.37.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.5.adoc (renamed from Documentation/RelNotes/2.37.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.6.adoc (renamed from Documentation/RelNotes/2.37.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.37.7.adoc (renamed from Documentation/RelNotes/2.37.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.0.adoc (renamed from Documentation/RelNotes/2.38.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.1.adoc (renamed from Documentation/RelNotes/2.38.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.2.adoc (renamed from Documentation/RelNotes/2.38.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.3.adoc (renamed from Documentation/RelNotes/2.38.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.4.adoc (renamed from Documentation/RelNotes/2.38.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.38.5.adoc (renamed from Documentation/RelNotes/2.38.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.0.adoc (renamed from Documentation/RelNotes/2.39.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.1.adoc (renamed from Documentation/RelNotes/2.39.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.2.adoc (renamed from Documentation/RelNotes/2.39.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.3.adoc (renamed from Documentation/RelNotes/2.39.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.4.adoc (renamed from Documentation/RelNotes/2.39.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.39.5.adoc (renamed from Documentation/RelNotes/2.39.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.0.adoc (renamed from Documentation/RelNotes/2.4.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.1.adoc (renamed from Documentation/RelNotes/2.4.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.10.adoc (renamed from Documentation/RelNotes/2.4.10.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.11.adoc (renamed from Documentation/RelNotes/2.4.11.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.12.adoc (renamed from Documentation/RelNotes/2.4.12.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.2.adoc (renamed from Documentation/RelNotes/2.4.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.3.adoc (renamed from Documentation/RelNotes/2.4.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.4.adoc (renamed from Documentation/RelNotes/2.4.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.5.adoc (renamed from Documentation/RelNotes/2.4.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.6.adoc (renamed from Documentation/RelNotes/2.4.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.7.adoc (renamed from Documentation/RelNotes/2.4.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.8.adoc (renamed from Documentation/RelNotes/2.4.8.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.4.9.adoc (renamed from Documentation/RelNotes/2.4.9.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.40.0.adoc (renamed from Documentation/RelNotes/2.40.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.40.1.adoc (renamed from Documentation/RelNotes/2.40.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.40.2.adoc (renamed from Documentation/RelNotes/2.40.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.40.3.adoc (renamed from Documentation/RelNotes/2.40.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.40.4.adoc (renamed from Documentation/RelNotes/2.40.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.41.0.adoc (renamed from Documentation/RelNotes/2.41.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.41.1.adoc (renamed from Documentation/RelNotes/2.41.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.41.2.adoc (renamed from Documentation/RelNotes/2.41.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.41.3.adoc (renamed from Documentation/RelNotes/2.41.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.42.0.adoc (renamed from Documentation/RelNotes/2.42.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.42.1.adoc (renamed from Documentation/RelNotes/2.42.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.42.2.adoc (renamed from Documentation/RelNotes/2.42.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.42.3.adoc (renamed from Documentation/RelNotes/2.42.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.42.4.adoc (renamed from Documentation/RelNotes/2.42.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.0.adoc (renamed from Documentation/RelNotes/2.43.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.1.adoc (renamed from Documentation/RelNotes/2.43.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.2.adoc (renamed from Documentation/RelNotes/2.43.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.3.adoc (renamed from Documentation/RelNotes/2.43.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.4.adoc (renamed from Documentation/RelNotes/2.43.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.5.adoc (renamed from Documentation/RelNotes/2.43.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.6.adoc (renamed from Documentation/RelNotes/2.43.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.43.7.adoc (renamed from Documentation/RelNotes/2.43.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.44.0.adoc (renamed from Documentation/RelNotes/2.44.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.44.1.adoc (renamed from Documentation/RelNotes/2.44.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.44.2.adoc (renamed from Documentation/RelNotes/2.44.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.44.3.adoc (renamed from Documentation/RelNotes/2.44.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.44.4.adoc (renamed from Documentation/RelNotes/2.44.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.45.0.adoc (renamed from Documentation/RelNotes/2.45.0.txt) | 2 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.45.1.adoc (renamed from Documentation/RelNotes/2.45.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.45.2.adoc (renamed from Documentation/RelNotes/2.45.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.45.3.adoc (renamed from Documentation/RelNotes/2.45.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.45.4.adoc (renamed from Documentation/RelNotes/2.45.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.46.0.adoc (renamed from Documentation/RelNotes/2.46.0.txt) | 2 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.46.1.adoc (renamed from Documentation/RelNotes/2.46.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.46.2.adoc (renamed from Documentation/RelNotes/2.46.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.46.3.adoc (renamed from Documentation/RelNotes/2.46.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.46.4.adoc (renamed from Documentation/RelNotes/2.46.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.47.0.adoc (renamed from Documentation/RelNotes/2.47.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.47.1.adoc (renamed from Documentation/RelNotes/2.47.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.47.2.adoc (renamed from Documentation/RelNotes/2.47.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.47.3.adoc (renamed from Documentation/RelNotes/2.47.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.48.0.adoc | 330 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.48.1.adoc | 7 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.48.2.adoc | 8 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.49.0.adoc | 288 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.49.1.adoc | 12 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.0.adoc (renamed from Documentation/RelNotes/2.5.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.1.adoc (renamed from Documentation/RelNotes/2.5.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.2.adoc (renamed from Documentation/RelNotes/2.5.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.3.adoc (renamed from Documentation/RelNotes/2.5.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.4.adoc (renamed from Documentation/RelNotes/2.5.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.5.adoc (renamed from Documentation/RelNotes/2.5.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.5.6.adoc (renamed from Documentation/RelNotes/2.5.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.50.0.adoc | 441 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.50.1.adoc | 8 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.51.0.adoc | 190 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.0.adoc (renamed from Documentation/RelNotes/2.6.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.1.adoc (renamed from Documentation/RelNotes/2.6.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.2.adoc (renamed from Documentation/RelNotes/2.6.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.3.adoc (renamed from Documentation/RelNotes/2.6.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.4.adoc (renamed from Documentation/RelNotes/2.6.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.5.adoc (renamed from Documentation/RelNotes/2.6.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.6.adoc (renamed from Documentation/RelNotes/2.6.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.6.7.adoc (renamed from Documentation/RelNotes/2.6.7.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.0.adoc (renamed from Documentation/RelNotes/2.7.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.1.adoc (renamed from Documentation/RelNotes/2.7.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.2.adoc (renamed from Documentation/RelNotes/2.7.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.3.adoc (renamed from Documentation/RelNotes/2.7.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.4.adoc (renamed from Documentation/RelNotes/2.7.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.5.adoc (renamed from Documentation/RelNotes/2.7.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.7.6.adoc (renamed from Documentation/RelNotes/2.7.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.0.adoc (renamed from Documentation/RelNotes/2.8.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.1.adoc (renamed from Documentation/RelNotes/2.8.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.2.adoc (renamed from Documentation/RelNotes/2.8.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.3.adoc (renamed from Documentation/RelNotes/2.8.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.4.adoc (renamed from Documentation/RelNotes/2.8.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.5.adoc (renamed from Documentation/RelNotes/2.8.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.8.6.adoc (renamed from Documentation/RelNotes/2.8.6.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.0.adoc (renamed from Documentation/RelNotes/2.9.0.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.1.adoc (renamed from Documentation/RelNotes/2.9.1.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.2.adoc (renamed from Documentation/RelNotes/2.9.2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.3.adoc (renamed from Documentation/RelNotes/2.9.3.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.4.adoc (renamed from Documentation/RelNotes/2.9.4.txt) | 0 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.9.5.adoc (renamed from Documentation/RelNotes/2.9.5.txt) | 0 | ||||
| -rw-r--r-- | Documentation/ReviewingGuidelines.adoc (renamed from Documentation/ReviewingGuidelines.txt) | 0 | ||||
| -rw-r--r-- | Documentation/SubmittingPatches | 17 | ||||
| -rw-r--r-- | Documentation/ToolsForGit.adoc (renamed from Documentation/ToolsForGit.txt) | 1 | ||||
| -rw-r--r-- | Documentation/asciidoc.conf | 59 | ||||
| -rw-r--r-- | Documentation/asciidoc.conf.in | 92 | ||||
| -rw-r--r-- | Documentation/asciidoctor-extensions.rb | 48 | ||||
| -rw-r--r-- | Documentation/asciidoctor-extensions.rb.in | 136 | ||||
| -rw-r--r-- | Documentation/blame-options.adoc (renamed from Documentation/blame-options.txt) | 5 | ||||
| -rwxr-xr-x | Documentation/build-docdep.perl | 26 | ||||
| -rwxr-xr-x | Documentation/cmd-list.perl | 79 | ||||
| -rwxr-xr-x | Documentation/cmd-list.sh | 104 | ||||
| -rw-r--r-- | Documentation/config.adoc (renamed from Documentation/config.txt) | 186 | ||||
| -rw-r--r-- | Documentation/config/add.adoc | 12 | ||||
| -rw-r--r-- | Documentation/config/add.txt | 7 | ||||
| -rw-r--r-- | Documentation/config/advice.adoc (renamed from Documentation/config/advice.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/alias.adoc (renamed from Documentation/config/alias.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/am.adoc (renamed from Documentation/config/am.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/apply.adoc (renamed from Documentation/config/apply.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/attr.adoc (renamed from Documentation/config/attr.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/bitmap-pseudo-merge.adoc (renamed from Documentation/config/bitmap-pseudo-merge.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/blame.adoc (renamed from Documentation/config/blame.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/branch.adoc | 104 | ||||
| -rw-r--r-- | Documentation/config/branch.txt | 103 | ||||
| -rw-r--r-- | Documentation/config/browser.adoc (renamed from Documentation/config/browser.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/bundle.adoc (renamed from Documentation/config/bundle.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/checkout.adoc (renamed from Documentation/config/checkout.txt) | 14 | ||||
| -rw-r--r-- | Documentation/config/clean.adoc (renamed from Documentation/config/clean.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/clone.adoc (renamed from Documentation/config/clone.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/color.adoc (renamed from Documentation/config/color.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/column.adoc (renamed from Documentation/config/column.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/commit.adoc (renamed from Documentation/config/commit.txt) | 32 | ||||
| -rw-r--r-- | Documentation/config/commitgraph.adoc (renamed from Documentation/config/commitgraph.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/completion.adoc (renamed from Documentation/config/completion.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/core.adoc (renamed from Documentation/config/core.txt) | 7 | ||||
| -rw-r--r-- | Documentation/config/credential.adoc (renamed from Documentation/config/credential.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/diff.adoc (renamed from Documentation/config/diff.txt) | 206 | ||||
| -rw-r--r-- | Documentation/config/difftool.adoc (renamed from Documentation/config/difftool.txt) | 2 | ||||
| -rw-r--r-- | Documentation/config/extensions.adoc (renamed from Documentation/config/extensions.txt) | 81 | ||||
| -rw-r--r-- | Documentation/config/fastimport.adoc (renamed from Documentation/config/fastimport.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/feature.adoc (renamed from Documentation/config/feature.txt) | 10 | ||||
| -rw-r--r-- | Documentation/config/fetch.adoc (renamed from Documentation/config/fetch.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/filter.adoc (renamed from Documentation/config/filter.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/fmt-merge-msg.adoc (renamed from Documentation/config/fmt-merge-msg.txt) | 8 | ||||
| -rw-r--r-- | Documentation/config/format.adoc (renamed from Documentation/config/format.txt) | 6 | ||||
| -rw-r--r-- | Documentation/config/fsck.adoc (renamed from Documentation/config/fsck.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/fsmonitor--daemon.adoc (renamed from Documentation/config/fsmonitor--daemon.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/gc.adoc (renamed from Documentation/config/gc.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/gitcvs.adoc (renamed from Documentation/config/gitcvs.txt) | 3 | ||||
| -rw-r--r-- | Documentation/config/gitweb.adoc (renamed from Documentation/config/gitweb.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/gpg.adoc (renamed from Documentation/config/gpg.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/grep.adoc (renamed from Documentation/config/grep.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/gui.adoc (renamed from Documentation/config/gui.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/guitool.adoc (renamed from Documentation/config/guitool.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/help.adoc (renamed from Documentation/config/help.txt) | 9 | ||||
| -rw-r--r-- | Documentation/config/http.adoc (renamed from Documentation/config/http.txt) | 36 | ||||
| -rw-r--r-- | Documentation/config/i18n.adoc (renamed from Documentation/config/i18n.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/imap.adoc (renamed from Documentation/config/imap.txt) | 11 | ||||
| -rw-r--r-- | Documentation/config/includeif.adoc (renamed from Documentation/config/includeif.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/index.adoc (renamed from Documentation/config/index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/init.adoc (renamed from Documentation/config/init.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/instaweb.adoc (renamed from Documentation/config/instaweb.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/interactive.adoc (renamed from Documentation/config/interactive.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/log.adoc (renamed from Documentation/config/log.txt) | 11 | ||||
| -rw-r--r-- | Documentation/config/lsrefs.adoc (renamed from Documentation/config/lsrefs.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/mailinfo.adoc (renamed from Documentation/config/mailinfo.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/mailmap.adoc (renamed from Documentation/config/mailmap.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/maintenance.adoc (renamed from Documentation/config/maintenance.txt) | 31 | ||||
| -rw-r--r-- | Documentation/config/man.adoc (renamed from Documentation/config/man.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/merge.adoc (renamed from Documentation/config/merge.txt) | 105 | ||||
| -rw-r--r-- | Documentation/config/mergetool.adoc (renamed from Documentation/config/mergetool.txt) | 54 | ||||
| -rw-r--r-- | Documentation/config/notes.adoc (renamed from Documentation/config/notes.txt) | 32 | ||||
| -rw-r--r-- | Documentation/config/pack.adoc (renamed from Documentation/config/pack.txt) | 4 | ||||
| -rw-r--r-- | Documentation/config/pager.adoc (renamed from Documentation/config/pager.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/pretty.adoc (renamed from Documentation/config/pretty.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/promisor.adoc | 30 | ||||
| -rw-r--r-- | Documentation/config/promisor.txt | 3 | ||||
| -rw-r--r-- | Documentation/config/protocol.adoc (renamed from Documentation/config/protocol.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/pull.adoc (renamed from Documentation/config/pull.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/push.adoc (renamed from Documentation/config/push.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/rebase.adoc (renamed from Documentation/config/rebase.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/receive.adoc (renamed from Documentation/config/receive.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/reftable.adoc (renamed from Documentation/config/reftable.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/remote.adoc (renamed from Documentation/config/remote.txt) | 24 | ||||
| -rw-r--r-- | Documentation/config/remotes.adoc (renamed from Documentation/config/remotes.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/repack.adoc (renamed from Documentation/config/repack.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/rerere.adoc (renamed from Documentation/config/rerere.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/revert.adoc (renamed from Documentation/config/revert.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/safe.adoc (renamed from Documentation/config/safe.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/sendemail.adoc (renamed from Documentation/config/sendemail.txt) | 20 | ||||
| -rw-r--r-- | Documentation/config/sequencer.adoc (renamed from Documentation/config/sequencer.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/showbranch.adoc (renamed from Documentation/config/showbranch.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/sparse.adoc (renamed from Documentation/config/sparse.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/splitindex.adoc (renamed from Documentation/config/splitindex.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/ssh.adoc (renamed from Documentation/config/ssh.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/stash.adoc (renamed from Documentation/config/stash.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/status.adoc (renamed from Documentation/config/status.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/submodule.adoc (renamed from Documentation/config/submodule.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/tag.adoc (renamed from Documentation/config/tag.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/tar.adoc (renamed from Documentation/config/tar.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/trace2.adoc (renamed from Documentation/config/trace2.txt) | 2 | ||||
| -rw-r--r-- | Documentation/config/trailer.adoc | 136 | ||||
| -rw-r--r-- | Documentation/config/transfer.adoc (renamed from Documentation/config/transfer.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/uploadarchive.adoc (renamed from Documentation/config/uploadarchive.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/uploadpack.adoc (renamed from Documentation/config/uploadpack.txt) | 6 | ||||
| -rw-r--r-- | Documentation/config/url.adoc (renamed from Documentation/config/url.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/user.adoc (renamed from Documentation/config/user.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/versionsort.adoc (renamed from Documentation/config/versionsort.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/web.adoc (renamed from Documentation/config/web.txt) | 0 | ||||
| -rw-r--r-- | Documentation/config/worktree.adoc (renamed from Documentation/config/worktree.txt) | 10 | ||||
| -rw-r--r-- | Documentation/date-formats.adoc (renamed from Documentation/date-formats.txt) | 0 | ||||
| -rw-r--r-- | Documentation/diff-format.adoc (renamed from Documentation/diff-format.txt) | 44 | ||||
| -rw-r--r-- | Documentation/diff-generate-patch.adoc (renamed from Documentation/diff-generate-patch.txt) | 44 | ||||
| -rw-r--r-- | Documentation/diff-options.adoc (renamed from Documentation/diff-options.txt) | 423 | ||||
| -rw-r--r-- | Documentation/everyday.adoco (renamed from Documentation/everyday.txto) | 0 | ||||
| -rw-r--r-- | Documentation/fetch-options.adoc (renamed from Documentation/fetch-options.txt) | 5 | ||||
| -rwxr-xr-x | Documentation/fix-texi.perl | 15 | ||||
| -rwxr-xr-x | Documentation/fix-texi.sh | 21 | ||||
| -rw-r--r-- | Documentation/fsck-msgids.adoc (renamed from Documentation/fsck-msgids.txt) | 55 | ||||
| -rwxr-xr-x | Documentation/generate-mergetool-list.sh | 17 | ||||
| -rw-r--r-- | Documentation/git-add.adoc (renamed from Documentation/git-add.txt) | 115 | ||||
| -rw-r--r-- | Documentation/git-am.adoc (renamed from Documentation/git-am.txt) | 6 | ||||
| -rw-r--r-- | Documentation/git-annotate.adoc (renamed from Documentation/git-annotate.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-apply.adoc (renamed from Documentation/git-apply.txt) | 13 | ||||
| -rw-r--r-- | Documentation/git-archimport.adoc (renamed from Documentation/git-archimport.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-archive.adoc (renamed from Documentation/git-archive.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-backfill.adoc | 71 | ||||
| -rw-r--r-- | Documentation/git-bisect-lk2009.adoc (renamed from Documentation/git-bisect-lk2009.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-bisect.adoc (renamed from Documentation/git-bisect.txt) | 1 | ||||
| -rw-r--r-- | Documentation/git-blame.adoc (renamed from Documentation/git-blame.txt) | 15 | ||||
| -rw-r--r-- | Documentation/git-branch.adoc (renamed from Documentation/git-branch.txt) | 293 | ||||
| -rw-r--r-- | Documentation/git-bugreport.adoc (renamed from Documentation/git-bugreport.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-bundle.adoc (renamed from Documentation/git-bundle.txt) | 61 | ||||
| -rw-r--r-- | Documentation/git-cat-file.adoc (renamed from Documentation/git-cat-file.txt) | 49 | ||||
| -rw-r--r-- | Documentation/git-check-attr.adoc (renamed from Documentation/git-check-attr.txt) | 6 | ||||
| -rw-r--r-- | Documentation/git-check-ignore.adoc (renamed from Documentation/git-check-ignore.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-check-mailmap.adoc (renamed from Documentation/git-check-mailmap.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-check-ref-format.adoc (renamed from Documentation/git-check-ref-format.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-checkout-index.adoc (renamed from Documentation/git-checkout-index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-checkout.adoc (renamed from Documentation/git-checkout.txt) | 232 | ||||
| -rw-r--r-- | Documentation/git-cherry-pick.adoc (renamed from Documentation/git-cherry-pick.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-cherry.adoc (renamed from Documentation/git-cherry.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-citool.adoc (renamed from Documentation/git-citool.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-clean.adoc (renamed from Documentation/git-clean.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-clone.adoc (renamed from Documentation/git-clone.txt) | 124 | ||||
| -rw-r--r-- | Documentation/git-column.adoc (renamed from Documentation/git-column.txt) | 7 | ||||
| -rw-r--r-- | Documentation/git-commit-graph.adoc (renamed from Documentation/git-commit-graph.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-commit-tree.adoc (renamed from Documentation/git-commit-tree.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-commit.adoc (renamed from Documentation/git-commit.txt) | 297 | ||||
| -rw-r--r-- | Documentation/git-config.adoc (renamed from Documentation/git-config.txt) | 34 | ||||
| -rw-r--r-- | Documentation/git-count-objects.adoc (renamed from Documentation/git-count-objects.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-credential-cache--daemon.adoc (renamed from Documentation/git-credential-cache--daemon.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-credential-cache.adoc (renamed from Documentation/git-credential-cache.txt) | 17 | ||||
| -rw-r--r-- | Documentation/git-credential-store.adoc (renamed from Documentation/git-credential-store.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-credential.adoc (renamed from Documentation/git-credential.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-cvsexportcommit.adoc (renamed from Documentation/git-cvsexportcommit.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-cvsimport.adoc (renamed from Documentation/git-cvsimport.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-cvsserver.adoc (renamed from Documentation/git-cvsserver.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-daemon.adoc (renamed from Documentation/git-daemon.txt) | 181 | ||||
| -rw-r--r-- | Documentation/git-describe.adoc (renamed from Documentation/git-describe.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-diagnose.adoc (renamed from Documentation/git-diagnose.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-diff-files.adoc (renamed from Documentation/git-diff-files.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-diff-index.adoc (renamed from Documentation/git-diff-index.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-diff-pairs.adoc | 60 | ||||
| -rw-r--r-- | Documentation/git-diff-tree.adoc (renamed from Documentation/git-diff-tree.txt) | 8 | ||||
| -rw-r--r-- | Documentation/git-diff.adoc (renamed from Documentation/git-diff.txt) | 140 | ||||
| -rw-r--r-- | Documentation/git-difftool.adoc (renamed from Documentation/git-difftool.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-fast-export.adoc (renamed from Documentation/git-fast-export.txt) | 24 | ||||
| -rw-r--r-- | Documentation/git-fast-import.adoc (renamed from Documentation/git-fast-import.txt) | 27 | ||||
| -rw-r--r-- | Documentation/git-fetch-pack.adoc (renamed from Documentation/git-fetch-pack.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-fetch.adoc (renamed from Documentation/git-fetch.txt) | 12 | ||||
| -rw-r--r-- | Documentation/git-filter-branch.adoc (renamed from Documentation/git-filter-branch.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-fmt-merge-msg.adoc (renamed from Documentation/git-fmt-merge-msg.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-for-each-ref.adoc (renamed from Documentation/git-for-each-ref.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-for-each-repo.adoc (renamed from Documentation/git-for-each-repo.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-format-patch.adoc (renamed from Documentation/git-format-patch.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-fsck-objects.adoc (renamed from Documentation/git-fsck-objects.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-fsck.adoc (renamed from Documentation/git-fsck.txt) | 13 | ||||
| -rw-r--r-- | Documentation/git-fsmonitor--daemon.adoc (renamed from Documentation/git-fsmonitor--daemon.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-gc.adoc (renamed from Documentation/git-gc.txt) | 11 | ||||
| -rw-r--r-- | Documentation/git-get-tar-commit-id.adoc (renamed from Documentation/git-get-tar-commit-id.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-grep.adoc (renamed from Documentation/git-grep.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-gui.adoc (renamed from Documentation/git-gui.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-hash-object.adoc (renamed from Documentation/git-hash-object.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-help.adoc (renamed from Documentation/git-help.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-hook.adoc (renamed from Documentation/git-hook.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-http-backend.adoc (renamed from Documentation/git-http-backend.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-http-fetch.adoc (renamed from Documentation/git-http-fetch.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-http-push.adoc (renamed from Documentation/git-http-push.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-imap-send.adoc (renamed from Documentation/git-imap-send.txt) | 72 | ||||
| -rw-r--r-- | Documentation/git-index-pack.adoc (renamed from Documentation/git-index-pack.txt) | 9 | ||||
| -rw-r--r-- | Documentation/git-init-db.adoc (renamed from Documentation/git-init-db.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-init.adoc (renamed from Documentation/git-init.txt) | 43 | ||||
| -rw-r--r-- | Documentation/git-instaweb.adoc (renamed from Documentation/git-instaweb.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-interpret-trailers.adoc (renamed from Documentation/git-interpret-trailers.txt) | 137 | ||||
| -rw-r--r-- | Documentation/git-log.adoc (renamed from Documentation/git-log.txt) | 20 | ||||
| -rw-r--r-- | Documentation/git-ls-files.adoc (renamed from Documentation/git-ls-files.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-ls-remote.adoc (renamed from Documentation/git-ls-remote.txt) | 3 | ||||
| -rw-r--r-- | Documentation/git-ls-tree.adoc (renamed from Documentation/git-ls-tree.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-mailinfo.adoc (renamed from Documentation/git-mailinfo.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-mailsplit.adoc (renamed from Documentation/git-mailsplit.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-maintenance.adoc (renamed from Documentation/git-maintenance.txt) | 34 | ||||
| -rw-r--r-- | Documentation/git-merge-base.adoc (renamed from Documentation/git-merge-base.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-merge-file.adoc (renamed from Documentation/git-merge-file.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-merge-index.adoc (renamed from Documentation/git-merge-index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-merge-one-file.adoc (renamed from Documentation/git-merge-one-file.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-merge-tree.adoc (renamed from Documentation/git-merge-tree.txt) | 17 | ||||
| -rw-r--r-- | Documentation/git-merge.adoc (renamed from Documentation/git-merge.txt) | 71 | ||||
| -rw-r--r-- | Documentation/git-mergetool--lib.adoc (renamed from Documentation/git-mergetool--lib.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-mergetool.adoc (renamed from Documentation/git-mergetool.txt) | 68 | ||||
| -rw-r--r-- | Documentation/git-mktag.adoc (renamed from Documentation/git-mktag.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-mktree.adoc (renamed from Documentation/git-mktree.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-multi-pack-index.adoc (renamed from Documentation/git-multi-pack-index.txt) | 11 | ||||
| -rw-r--r-- | Documentation/git-mv.adoc (renamed from Documentation/git-mv.txt) | 33 | ||||
| -rw-r--r-- | Documentation/git-name-rev.adoc (renamed from Documentation/git-name-rev.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-notes.adoc (renamed from Documentation/git-notes.txt) | 249 | ||||
| -rw-r--r-- | Documentation/git-p4.adoc (renamed from Documentation/git-p4.txt) | 14 | ||||
| -rw-r--r-- | Documentation/git-pack-objects.adoc (renamed from Documentation/git-pack-objects.txt) | 53 | ||||
| -rw-r--r-- | Documentation/git-pack-redundant.adoc (renamed from Documentation/git-pack-redundant.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-pack-refs.adoc (renamed from Documentation/git-pack-refs.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-patch-id.adoc (renamed from Documentation/git-patch-id.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-prune-packed.adoc (renamed from Documentation/git-prune-packed.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-prune.adoc (renamed from Documentation/git-prune.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-pull.adoc (renamed from Documentation/git-pull.txt) | 12 | ||||
| -rw-r--r-- | Documentation/git-push.adoc (renamed from Documentation/git-push.txt) | 8 | ||||
| -rw-r--r-- | Documentation/git-quiltimport.adoc (renamed from Documentation/git-quiltimport.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-range-diff.adoc (renamed from Documentation/git-range-diff.txt) | 17 | ||||
| -rw-r--r-- | Documentation/git-read-tree.adoc (renamed from Documentation/git-read-tree.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-rebase.adoc (renamed from Documentation/git-rebase.txt) | 21 | ||||
| -rw-r--r-- | Documentation/git-receive-pack.adoc (renamed from Documentation/git-receive-pack.txt) | 12 | ||||
| -rw-r--r-- | Documentation/git-reflog.adoc (renamed from Documentation/git-reflog.txt) | 23 | ||||
| -rw-r--r-- | Documentation/git-refs.adoc (renamed from Documentation/git-refs.txt) | 15 | ||||
| -rw-r--r-- | Documentation/git-remote-ext.adoc (renamed from Documentation/git-remote-ext.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-remote-fd.adoc (renamed from Documentation/git-remote-fd.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-remote-helpers.adoco (renamed from Documentation/git-remote-helpers.txto) | 0 | ||||
| -rw-r--r-- | Documentation/git-remote.adoc (renamed from Documentation/git-remote.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-repack.adoc (renamed from Documentation/git-repack.txt) | 33 | ||||
| -rw-r--r-- | Documentation/git-replace.adoc (renamed from Documentation/git-replace.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-replay.adoc (renamed from Documentation/git-replay.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-request-pull.adoc (renamed from Documentation/git-request-pull.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-rerere.adoc (renamed from Documentation/git-rerere.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-reset.adoc (renamed from Documentation/git-reset.txt) | 98 | ||||
| -rw-r--r-- | Documentation/git-restore.adoc (renamed from Documentation/git-restore.txt) | 113 | ||||
| -rw-r--r-- | Documentation/git-rev-list.adoc (renamed from Documentation/git-rev-list.txt) | 6 | ||||
| -rw-r--r-- | Documentation/git-rev-parse.adoc (renamed from Documentation/git-rev-parse.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-revert.adoc (renamed from Documentation/git-revert.txt) | 8 | ||||
| -rw-r--r-- | Documentation/git-rm.adoc (renamed from Documentation/git-rm.txt) | 56 | ||||
| -rw-r--r-- | Documentation/git-send-email.adoc (renamed from Documentation/git-send-email.txt) | 323 | ||||
| -rw-r--r-- | Documentation/git-send-pack.adoc (renamed from Documentation/git-send-pack.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-sh-i18n--envsubst.adoc (renamed from Documentation/git-sh-i18n--envsubst.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-sh-i18n.adoc (renamed from Documentation/git-sh-i18n.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-sh-setup.adoc (renamed from Documentation/git-sh-setup.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-shell.adoc (renamed from Documentation/git-shell.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-shortlog.adoc (renamed from Documentation/git-shortlog.txt) | 2 | ||||
| -rw-r--r-- | Documentation/git-show-branch.adoc (renamed from Documentation/git-show-branch.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-show-index.adoc (renamed from Documentation/git-show-index.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-show-ref.adoc (renamed from Documentation/git-show-ref.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-show.adoc (renamed from Documentation/git-show.txt) | 10 | ||||
| -rw-r--r-- | Documentation/git-sparse-checkout.adoc (renamed from Documentation/git-sparse-checkout.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-stage.adoc (renamed from Documentation/git-stage.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-stash.adoc (renamed from Documentation/git-stash.txt) | 33 | ||||
| -rw-r--r-- | Documentation/git-status.adoc (renamed from Documentation/git-status.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-stripspace.adoc (renamed from Documentation/git-stripspace.txt) | 3 | ||||
| -rw-r--r-- | Documentation/git-submodule.adoc (renamed from Documentation/git-submodule.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-svn.adoc (renamed from Documentation/git-svn.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-switch.adoc (renamed from Documentation/git-switch.txt) | 118 | ||||
| -rw-r--r-- | Documentation/git-symbolic-ref.adoc (renamed from Documentation/git-symbolic-ref.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-tag.adoc (renamed from Documentation/git-tag.txt) | 4 | ||||
| -rw-r--r-- | Documentation/git-tools.adoc (renamed from Documentation/git-tools.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-unpack-file.adoc (renamed from Documentation/git-unpack-file.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-unpack-objects.adoc (renamed from Documentation/git-unpack-objects.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-update-index.adoc (renamed from Documentation/git-update-index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-update-ref.adoc (renamed from Documentation/git-update-ref.txt) | 70 | ||||
| -rw-r--r-- | Documentation/git-update-server-info.adoc (renamed from Documentation/git-update-server-info.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-upload-archive.adoc (renamed from Documentation/git-upload-archive.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-upload-pack.adoc (renamed from Documentation/git-upload-pack.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-var.adoc (renamed from Documentation/git-var.txt) | 46 | ||||
| -rw-r--r-- | Documentation/git-verify-commit.adoc (renamed from Documentation/git-verify-commit.txt) | 16 | ||||
| -rw-r--r-- | Documentation/git-verify-pack.adoc (renamed from Documentation/git-verify-pack.txt) | 28 | ||||
| -rw-r--r-- | Documentation/git-verify-tag.adoc (renamed from Documentation/git-verify-tag.txt) | 16 | ||||
| -rw-r--r-- | Documentation/git-version.adoc (renamed from Documentation/git-version.txt) | 8 | ||||
| -rw-r--r-- | Documentation/git-web--browse.adoc (renamed from Documentation/git-web--browse.txt) | 0 | ||||
| -rw-r--r-- | Documentation/git-whatchanged.adoc (renamed from Documentation/git-whatchanged.txt) | 10 | ||||
| -rw-r--r-- | Documentation/git-worktree.adoc (renamed from Documentation/git-worktree.txt) | 10 | ||||
| -rw-r--r-- | Documentation/git-write-tree.adoc (renamed from Documentation/git-write-tree.txt) | 18 | ||||
| -rw-r--r-- | Documentation/git.adoc (renamed from Documentation/git.txt) | 37 | ||||
| -rw-r--r-- | Documentation/gitattributes.adoc (renamed from Documentation/gitattributes.txt) | 36 | ||||
| -rw-r--r-- | Documentation/gitcli.adoc (renamed from Documentation/gitcli.txt) | 28 | ||||
| -rw-r--r-- | Documentation/gitcore-tutorial.adoc (renamed from Documentation/gitcore-tutorial.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitcredentials.adoc (renamed from Documentation/gitcredentials.txt) | 47 | ||||
| -rw-r--r-- | Documentation/gitcvs-migration.adoc (renamed from Documentation/gitcvs-migration.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitdiffcore.adoc (renamed from Documentation/gitdiffcore.txt) | 0 | ||||
| -rw-r--r-- | Documentation/giteveryday.adoc (renamed from Documentation/giteveryday.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitfaq.adoc (renamed from Documentation/gitfaq.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-bundle.adoc (renamed from Documentation/gitformat-bundle.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-chunk.adoc (renamed from Documentation/gitformat-chunk.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-commit-graph.adoc (renamed from Documentation/gitformat-commit-graph.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-index.adoc (renamed from Documentation/gitformat-index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-pack.adoc (renamed from Documentation/gitformat-pack.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitformat-signature.adoc (renamed from Documentation/gitformat-signature.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitglossary.adoc (renamed from Documentation/gitglossary.txt) | 2 | ||||
| -rw-r--r-- | Documentation/githooks.adoc (renamed from Documentation/githooks.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitignore.adoc (renamed from Documentation/gitignore.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitk.adoc (renamed from Documentation/gitk.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitmailmap.adoc (renamed from Documentation/gitmailmap.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitmodules.adoc (renamed from Documentation/gitmodules.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitnamespaces.adoc (renamed from Documentation/gitnamespaces.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitpacking.adoc (renamed from Documentation/gitpacking.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitprotocol-capabilities.adoc (renamed from Documentation/gitprotocol-capabilities.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitprotocol-common.adoc (renamed from Documentation/gitprotocol-common.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitprotocol-http.adoc (renamed from Documentation/gitprotocol-http.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitprotocol-pack.adoc (renamed from Documentation/gitprotocol-pack.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitprotocol-v2.adoc (renamed from Documentation/gitprotocol-v2.txt) | 70 | ||||
| -rw-r--r-- | Documentation/gitremote-helpers.adoc (renamed from Documentation/gitremote-helpers.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitrepository-layout.adoc (renamed from Documentation/gitrepository-layout.txt) | 14 | ||||
| -rw-r--r-- | Documentation/gitrevisions.adoc (renamed from Documentation/gitrevisions.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitsubmodules.adoc (renamed from Documentation/gitsubmodules.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gittutorial-2.adoc (renamed from Documentation/gittutorial-2.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gittutorial.adoc (renamed from Documentation/gittutorial.txt) | 0 | ||||
| -rw-r--r-- | Documentation/gitweb.adoc (renamed from Documentation/gitweb.txt) | 11 | ||||
| -rw-r--r-- | Documentation/gitweb.conf.adoc (renamed from Documentation/gitweb.conf.txt) | 2 | ||||
| -rw-r--r-- | Documentation/gitworkflows.adoc (renamed from Documentation/gitworkflows.txt) | 0 | ||||
| -rw-r--r-- | Documentation/glossary-content.adoc (renamed from Documentation/glossary-content.txt) | 5 | ||||
| -rw-r--r-- | Documentation/howto/coordinate-embargoed-releases.adoc (renamed from Documentation/howto/coordinate-embargoed-releases.txt) | 0 | ||||
| -rwxr-xr-x | Documentation/howto/howto-index.sh (renamed from Documentation/howto-index.sh) | 16 | ||||
| -rw-r--r-- | Documentation/howto/keep-canonical-history-correct.adoc (renamed from Documentation/howto/keep-canonical-history-correct.txt) | 2 | ||||
| -rw-r--r-- | Documentation/howto/maintain-git.adoc (renamed from Documentation/howto/maintain-git.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/meson.build | 62 | ||||
| -rw-r--r-- | Documentation/howto/new-command.adoc (renamed from Documentation/howto/new-command.txt) | 2 | ||||
| -rw-r--r-- | Documentation/howto/rebase-from-internal-branch.adoc (renamed from Documentation/howto/rebase-from-internal-branch.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/rebuild-from-update-hook.adoc (renamed from Documentation/howto/rebuild-from-update-hook.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/recover-corrupted-blob-object.adoc (renamed from Documentation/howto/recover-corrupted-blob-object.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/recover-corrupted-object-harder.adoc (renamed from Documentation/howto/recover-corrupted-object-harder.txt) | 4 | ||||
| -rw-r--r-- | Documentation/howto/revert-a-faulty-merge.adoc (renamed from Documentation/howto/revert-a-faulty-merge.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/revert-branch-rebase.adoc (renamed from Documentation/howto/revert-branch-rebase.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/separating-topic-branches.adoc (renamed from Documentation/howto/separating-topic-branches.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/setup-git-server-over-http.adoc (renamed from Documentation/howto/setup-git-server-over-http.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/update-hook-example.adoc (renamed from Documentation/howto/update-hook-example.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/use-git-daemon.adoc (renamed from Documentation/howto/use-git-daemon.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/using-merge-subtree.adoc (renamed from Documentation/howto/using-merge-subtree.txt) | 0 | ||||
| -rw-r--r-- | Documentation/howto/using-signed-tag-in-pull-request.adoc (renamed from Documentation/howto/using-signed-tag-in-pull-request.txt) | 0 | ||||
| -rw-r--r-- | Documentation/i18n.adoc (renamed from Documentation/i18n.txt) | 4 | ||||
| -rw-r--r-- | Documentation/includes/cmd-config-section-all.adoc (renamed from Documentation/includes/cmd-config-section-all.txt) | 0 | ||||
| -rw-r--r-- | Documentation/includes/cmd-config-section-rest.adoc (renamed from Documentation/includes/cmd-config-section-rest.txt) | 0 | ||||
| -rwxr-xr-x | Documentation/install-webdoc.sh | 16 | ||||
| -rw-r--r-- | Documentation/line-range-format.adoc (renamed from Documentation/line-range-format.txt) | 0 | ||||
| -rw-r--r-- | Documentation/line-range-options.adoc (renamed from Documentation/line-range-options.txt) | 2 | ||||
| -rwxr-xr-x | Documentation/lint-gitlink.perl | 4 | ||||
| -rwxr-xr-x | Documentation/lint-manpages.sh | 6 | ||||
| -rw-r--r-- | Documentation/merge-options.adoc (renamed from Documentation/merge-options.txt) | 115 | ||||
| -rw-r--r-- | Documentation/merge-strategies.adoc (renamed from Documentation/merge-strategies.txt) | 109 | ||||
| -rw-r--r-- | Documentation/mergetools/vimdiff.adoc (renamed from Documentation/mergetools/vimdiff.txt) | 18 | ||||
| -rw-r--r-- | Documentation/meson.build | 539 | ||||
| -rw-r--r-- | Documentation/object-format-disclaimer.adoc (renamed from Documentation/object-format-disclaimer.txt) | 0 | ||||
| -rw-r--r-- | Documentation/pretty-formats.adoc (renamed from Documentation/pretty-formats.txt) | 8 | ||||
| -rw-r--r-- | Documentation/pretty-options.adoc (renamed from Documentation/pretty-options.txt) | 5 | ||||
| -rw-r--r-- | Documentation/pull-fetch-param.adoc (renamed from Documentation/pull-fetch-param.txt) | 0 | ||||
| -rw-r--r-- | Documentation/ref-reachability-filters.adoc (renamed from Documentation/ref-reachability-filters.txt) | 0 | ||||
| -rw-r--r-- | Documentation/ref-storage-format.adoc (renamed from Documentation/ref-storage-format.txt) | 0 | ||||
| -rw-r--r-- | Documentation/rerere-options.adoc (renamed from Documentation/rerere-options.txt) | 4 | ||||
| -rw-r--r-- | Documentation/rev-list-description.adoc (renamed from Documentation/rev-list-description.txt) | 0 | ||||
| -rw-r--r-- | Documentation/rev-list-options.adoc (renamed from Documentation/rev-list-options.txt) | 61 | ||||
| -rw-r--r-- | Documentation/revisions.adoc (renamed from Documentation/revisions.txt) | 0 | ||||
| -rw-r--r-- | Documentation/scalar.adoc (renamed from Documentation/scalar.txt) | 31 | ||||
| -rw-r--r-- | Documentation/sequencer.adoc (renamed from Documentation/sequencer.txt) | 0 | ||||
| -rw-r--r-- | Documentation/signoff-option.adoc (renamed from Documentation/signoff-option.txt) | 8 | ||||
| -rw-r--r-- | Documentation/technical/.gitignore | 1 | ||||
| -rw-r--r-- | Documentation/technical/api-error-handling.adoc (renamed from Documentation/technical/api-error-handling.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/api-index-skel.adoc (renamed from Documentation/technical/api-index-skel.txt) | 0 | ||||
| -rwxr-xr-x | Documentation/technical/api-index.sh | 27 | ||||
| -rw-r--r-- | Documentation/technical/api-merge.adoc (renamed from Documentation/technical/api-merge.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/api-parse-options.adoc (renamed from Documentation/technical/api-parse-options.txt) | 10 | ||||
| -rw-r--r-- | Documentation/technical/api-path-walk.adoc | 81 | ||||
| -rw-r--r-- | Documentation/technical/api-simple-ipc.adoc (renamed from Documentation/technical/api-simple-ipc.txt) | 2 | ||||
| -rw-r--r-- | Documentation/technical/api-trace2.adoc (renamed from Documentation/technical/api-trace2.txt) | 2 | ||||
| -rw-r--r-- | Documentation/technical/bitmap-format.adoc (renamed from Documentation/technical/bitmap-format.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/build-systems.adoc | 227 | ||||
| -rw-r--r-- | Documentation/technical/bundle-uri.adoc (renamed from Documentation/technical/bundle-uri.txt) | 14 | ||||
| -rw-r--r-- | Documentation/technical/commit-graph.adoc (renamed from Documentation/technical/commit-graph.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/directory-rename-detection.adoc (renamed from Documentation/technical/directory-rename-detection.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/hash-function-transition.adoc (renamed from Documentation/technical/hash-function-transition.txt) | 6 | ||||
| -rw-r--r-- | Documentation/technical/large-object-promisors.adoc | 656 | ||||
| -rw-r--r-- | Documentation/technical/long-running-process-protocol.adoc (renamed from Documentation/technical/long-running-process-protocol.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/meson.build | 67 | ||||
| -rw-r--r-- | Documentation/technical/multi-pack-index.adoc (renamed from Documentation/technical/multi-pack-index.txt) | 82 | ||||
| -rw-r--r-- | Documentation/technical/pack-heuristics.adoc (renamed from Documentation/technical/pack-heuristics.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/packfile-uri.adoc (renamed from Documentation/technical/packfile-uri.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/parallel-checkout.adoc (renamed from Documentation/technical/parallel-checkout.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/partial-clone.adoc (renamed from Documentation/technical/partial-clone.txt) | 4 | ||||
| -rw-r--r-- | Documentation/technical/platform-support.adoc (renamed from Documentation/technical/platform-support.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/racy-git.adoc (renamed from Documentation/technical/racy-git.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/reftable.adoc (renamed from Documentation/technical/reftable.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/remembering-renames.adoc (renamed from Documentation/technical/remembering-renames.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/repository-version.adoc (renamed from Documentation/technical/repository-version.txt) | 44 | ||||
| -rw-r--r-- | Documentation/technical/rerere.adoc (renamed from Documentation/technical/rerere.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/scalar.adoc (renamed from Documentation/technical/scalar.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/send-pack-pipeline.adoc (renamed from Documentation/technical/send-pack-pipeline.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/shallow.adoc (renamed from Documentation/technical/shallow.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/sparse-checkout.adoc (renamed from Documentation/technical/sparse-checkout.txt) | 6 | ||||
| -rw-r--r-- | Documentation/technical/sparse-index.adoc (renamed from Documentation/technical/sparse-index.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/trivial-merge.adoc (renamed from Documentation/technical/trivial-merge.txt) | 0 | ||||
| -rw-r--r-- | Documentation/technical/unit-tests.adoc (renamed from Documentation/technical/unit-tests.txt) | 0 | ||||
| -rw-r--r-- | Documentation/trace2-target-values.adoc (renamed from Documentation/trace2-target-values.txt) | 0 | ||||
| -rw-r--r-- | Documentation/transfer-data-leaks.adoc (renamed from Documentation/transfer-data-leaks.txt) | 0 | ||||
| -rw-r--r-- | Documentation/urls-remotes.adoc (renamed from Documentation/urls-remotes.txt) | 2 | ||||
| -rw-r--r-- | Documentation/urls.adoc (renamed from Documentation/urls.txt) | 26 | ||||
| -rw-r--r-- | Documentation/user-manual.adoc (renamed from Documentation/user-manual.txt) | 8 | ||||
| -rw-r--r-- | Documentation/user-manual.conf | 11 |
949 files changed, 7704 insertions, 3147 deletions
diff --git a/Documentation/.gitattributes b/Documentation/.gitattributes deleted file mode 100644 index ddb030137d..0000000000 --- a/Documentation/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.txt whitespace diff --git a/Documentation/.gitignore b/Documentation/.gitignore index a48448de32..dd54cc768a 100644 --- a/Documentation/.gitignore +++ b/Documentation/.gitignore @@ -6,12 +6,15 @@ *.pdf git.info gitman.info -howto-index.txt +howto-index.adoc doc.dep -cmds-*.txt -mergetools-*.txt -SubmittingPatches.txt +cmds-*.adoc +mergetools-*.adoc +SubmittingPatches.adoc tmp-doc-diff/ +tmp-meson-diff/ GIT-ASCIIDOCFLAGS /.build/ /GIT-EXCLUDED-PROGRAMS +/asciidoc.conf +/asciidoctor-extensions.rb diff --git a/Documentation/BreakingChanges.txt b/Documentation/BreakingChanges.adoc index 112770a9da..f8d2eba061 100644 --- a/Documentation/BreakingChanges.txt +++ b/Documentation/BreakingChanges.adoc @@ -59,6 +59,24 @@ over time. If circumstances change, an earlier decision to deprecate or change something may need to be revisited from time to time. So do not take items on this list to mean "it is settled, do not waste our time bringing it up again". +== Procedure + +Discussing the desire to make breaking changes, declaring that breaking +changes are made at a certain version boundary, and recording these +decisions in this document, are necessary but not sufficient. +Because such changes are expected to be numerous, and the design and +implementation of them are expected to span over time, they have to +be deployable trivially at such a version boundary, prepared over long +time. + +The breaking changes MUST be guarded with the a compile-time switch, +WITH_BREAKING_CHANGES, to help this process. When built with it, +the resulting Git binary together with its documentation would +behave as if these breaking changes slated for the next big version +boundary are already in effect. We also have a CI job to exercise +the work-in-progress version of Git with these breaking changes. + + == Git 3.0 The following subsections document upcoming breaking changes for Git 3.0. There @@ -100,6 +118,53 @@ Cf. <2f5de416-04ba-c23d-1e0b-83bb655829a7@zombino.com>, <20170223155046.e7nxivfwqqoprsqj@LykOS.localdomain>, <CA+EOSBncr=4a4d8n9xS4FNehyebpmX8JiUwCsXD47EQDE+DiUQ@mail.gmail.com>. +* The default storage format for references in newly created repositories will + be changed from "files" to "reftable". The "reftable" format provides + multiple advantages over the "files" format: ++ + ** It is impossible to store two references that only differ in casing on + case-insensitive filesystems with the "files" format. This issue is common + on Windows and macOS platforms. As the "reftable" backend does not use + filesystem paths to encode reference names this problem goes away. + ** Similarly, macOS normalizes path names that contain unicode characters, + which has the consequence that you cannot store two names with unicode + characters that are encoded differently with the "files" backend. Again, + this is not an issue with the "reftable" backend. + ** Deleting references with the "files" backend requires Git to rewrite the + complete "packed-refs" file. In large repositories with many references + this file can easily be dozens of megabytes in size, in extreme cases it + may be gigabytes. The "reftable" backend uses tombstone markers for + deleted references and thus does not have to rewrite all of its data. + ** Repository housekeeping with the "files" backend typically performs + all-into-one repacks of references. This can be quite expensive, and + consequently housekeeping is a tradeoff between the number of loose + references that accumulate and slow down operations that read references, + and compressing those loose references into the "packed-refs" file. The + "reftable" backend uses geometric compaction after every write, which + amortizes costs and ensures that the backend is always in a + well-maintained state. + ** Operations that write multiple references at once are not atomic with the + "files" backend. Consequently, Git may see in-between states when it reads + references while a reference transaction is in the process of being + committed to disk. + ** Writing many references at once is slow with the "files" backend because + every reference is created as a separate file. The "reftable" backend + significantly outperforms the "files" backend by multiple orders of + magnitude. + ** The reftable backend uses a binary format with prefix compression for + reference names. As a result, the format uses less space compared to the + "packed-refs" file. ++ +Users that get immediate benefit from the "reftable" backend could continue to +opt-in to the "reftable" format manually by setting the "init.defaultRefFormat" +config. But defaults matter, and we think that overall users will have a better +experience with less platform-specific quirks when they use the new backend by +default. ++ +A prerequisite for this change is that the ecosystem is ready to support the +"reftable" format. Most importantly, alternative implementations of Git like +JGit, libgit2 and Gitoxide need to support it. + === Removals * Support for grafting commits has long been superseded by git-replace(1). @@ -135,6 +200,45 @@ Cf. <xmqq1rjuz6n3.fsf_-_@gitster.c.googlers.com>, <CAKvOHKAFXQwt4D8yUCCkf_TQL79mYaJ=KAKhtpDNTvHJFuX1NA@mail.gmail.com>, <20230323204047.GA9290@coredump.intra.peff.net>, +* Support for storing shorthands for remote URLs in "$GIT_COMMON_DIR/branches/" + and "$GIT_COMMON_DIR/remotes/" has been long superseded by storing remotes in + the repository configuration. ++ +The mechanism has originally been introduced in f170e4b39d ([PATCH] fetch/pull: +short-hand notation for remote repositories., 2005-07-16) and was superseded by +6687f8fea2 ([PATCH] Use .git/remote/origin, not .git/branches/origin., +2005-08-20), where we switched from ".git/branches/" to ".git/remotes/". That +commit already mentions an upcoming deprecation of the ".git/branches/" +directory, and starting with a1d4aa7424 (Add repository-layout document., +2005-09-01) we have also marked this layout as deprecated. Eventually we also +started to migrate away from ".git/remotes/" in favor of config-based remotes, +and we have marked the directory as legacy in 3d3d282146 (Documentation: +Grammar correction, wording fixes and cleanup, 2011-08-23) ++ +As our documentation mentions, these directories are unlikely to be used in +modern repositories and most users aren't even aware of these mechanisms. They +have been deprecated for almost 20 years and 14 years respectively, and we are +not aware of any active users that have complained about this deprecation. +Furthermore, the ".git/branches/" directory is nowadays misleadingly named and +may cause confusion as "branches" are almost exclusively used in the context of +references. ++ +These features will be removed. + +* Support for "--stdin" option in the "name-rev" command was + deprecated (and hidden from the documentation) in the Git 2.40 + timeframe, in preference to its synonym "--annotate-stdin". Git 3.0 + removes the support for "--stdin" altogether. + +* The git-whatchanged(1) command has outlived its usefulness more than + 10 years ago, and takes more keystrokes to type than its rough + equivalent `git log --raw`. We have nominated the command for + removal, have changed the command to refuse to work unless the + `--i-still-use-this` option is given, and asked the users to report + when they do so. So far there hasn't been a single complaint. ++ +The command will be removed. + == Superseded features that will not be deprecated Some features have gained newer replacements that aim to improve the design in diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 3263245b03..6350949f2e 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -44,7 +44,7 @@ code are expected to match the style the surrounding code already uses (even if it doesn't match the overall style of existing code). But if you must have a list of rules, here are some language -specific ones. Note that Documentation/ToolsForGit.txt document +specific ones. Note that Documentation/ToolsForGit.adoc document has a collection of tips to help you use some external tools to conform to these guidelines. @@ -315,6 +315,9 @@ For C programs: encouraged to have a blank line between the end of the declarations and the first statement in the block. + - Do not explicitly initialize global variables to 0 or NULL; + instead, let BSS take care of the zero initialization. + - NULL pointers shall be written as NULL, not as 0. - When declaring pointers, the star sides with the variable @@ -583,7 +586,7 @@ For C programs: Run `GIT_DEBUGGER=1 ./bin-wrappers/git foo` to simply use gdb as is, or run `GIT_DEBUGGER="<debugger> <debugger-args>" ./bin-wrappers/git foo` to use your own debugger and arguments. Example: `GIT_DEBUGGER="ddd --gdb" - ./bin-wrappers/git log` (See `wrap-for-bin.sh`.) + ./bin-wrappers/git log` (See `bin-wrappers/wrap-for-bin.sh`.) - The primary data structure that a subsystem 'S' deals with is called `struct S`. Functions that operate on `struct S` are named @@ -621,6 +624,20 @@ For C programs: - `S_free()` releases a structure's contents and frees the structure. + - Function names should be clear and descriptive, accurately reflecting + their purpose or behavior. Arbitrary suffixes that do not add meaningful + context can lead to confusion, particularly for newcomers to the codebase. + + Historically, the '_1' suffix has been used in situations where: + + - A function handles one element among a group that requires similar + processing. + - A recursive function has been separated from its setup phase. + + The '_1' suffix can be used as a concise way to indicate these specific + cases. However, it is recommended to find a more descriptive name wherever + possible to improve the readability and maintainability of the code. + For Perl programs: - Most of the C guidelines above apply. @@ -689,16 +706,30 @@ Program Output Error Messages - - Do not end error messages with a full stop. + - Do not end a single-sentence error message with a full stop. - Do not capitalize the first word, only because it is the first word - in the message ("unable to open %s", not "Unable to open %s"). But + in the message ("unable to open '%s'", not "Unable to open '%s'"). But "SHA-3 not supported" is fine, because the reason the first word is capitalized is not because it is at the beginning of the sentence, but because the word would be spelled in capital letters even when it appeared in the middle of the sentence. - - Say what the error is first ("cannot open %s", not "%s: cannot open") + - Say what the error is first ("cannot open '%s'", not "%s: cannot open"). + + - Enclose the subject of an error inside a pair of single quotes, + e.g. `die(_("unable to open '%s'"), path)`. + + - Unless there is a compelling reason not to, error messages from + porcelain commands should be marked for translation, e.g. + `die(_("bad revision %s"), revision)`. + + - Error messages from the plumbing commands are sometimes meant for + machine consumption and should not be marked for translation, + e.g., `die("bad revision %s", revision)`. + + - BUG("message") are for communicating the specific error to developers, + thus should not be translated. Externally Visible Names @@ -727,7 +758,7 @@ Externally Visible Names Writing Documentation: Most (if not all) of the documentation pages are written in the - AsciiDoc format in *.txt files (e.g. Documentation/git.txt), and + AsciiDoc format in *.adoc files (e.g. Documentation/git.adoc), and processed into HTML and manpages (e.g. git.html and git.1 in the same directory). @@ -828,78 +859,94 @@ Markup: _<new-branch-name>_ _<template-directory>_ - A placeholder is not enclosed in backticks, as it is not a literal. - When needed, use a distinctive identifier for placeholders, usually made of a qualification and a type: _<git-dir>_ _<key-id>_ - When literal and placeholders are mixed, each markup is applied for - each sub-entity. If they are stuck, a special markup, called - unconstrained formatting is required. - Unconstrained formating for placeholders is __<like-this>__ - Unconstrained formatting for literal formatting is ++like this++ - `--jobs` _<n>_ - ++--sort=++__<key>__ - __<directory>__++/.git++ - ++remote.++__<name>__++.mirror++ - - caveat: ++ unconstrained format is not verbatim and may expand - content. Use Asciidoc escapes inside them. +Characters are also surrounded by underscores: + _LF_, _CR_, _CR_/_LF_, _NUL_, _EOF_ + + Git's Asciidoc processor has been tailored to treat backticked text + as complex synopsis. When literal and placeholders are mixed, you can + use the backtick notation which will take care of correctly typesetting + the content. + `--jobs <n>` + `--sort=<key>` + `<directory>/.git` + `remote.<name>.mirror` + `ssh://[<user>@]<host>[:<port>]/<path-to-git-repo>` + +As a side effect, backquoted placeholders are correctly typeset, but +this style is not recommended. + + When documenting multiple related `git config` variables, place them on + a separate line instead of separating them by commas. For example, do + not write this: + `core.var1`, `core.var2`:: + Description common to `core.var1` and `core.var2`. + +Instead write this: + `core.var1`:: + `core.var2`:: + Description common to `core.var1` and `core.var2`. Synopsis Syntax - Syntax grammar is formatted neither as literal nor as placeholder. + The synopsis (a paragraph with [synopsis] attribute) is automatically + formatted by the toolchain and does not need typesetting. A few commented examples follow to provide reference when writing or modifying command usage strings and synopsis sections in the manual pages: Possibility of multiple occurrences is indicated by three dots: - _<file>_... + <file>... (One or more of <file>.) Optional parts are enclosed in square brackets: - [_<file>_...] + [<file>...] (Zero or more of <file>.) - ++--exec-path++[++=++__<path>__] + An optional parameter needs to be typeset with unconstrained pairs + [<repository>] + + --exec-path[=<path>] (Option with an optional argument. Note that the "=" is inside the brackets.) - [_<patch>_...] + [<patch>...] (Zero or more of <patch>. Note that the dots are inside, not outside the brackets.) Multiple alternatives are indicated with vertical bars: - [`-q` | `--quiet`] - [`--utf8` | `--no-utf8`] + [-q | --quiet] + [--utf8 | --no-utf8] Use spacing around "|" token(s), but not immediately after opening or before closing a [] or () pair: - Do: [`-q` | `--quiet`] - Don't: [`-q`|`--quiet`] + Do: [-q | --quiet] + Don't: [-q|--quiet] Don't use spacing around "|" tokens when they're used to separate the alternate arguments of an option: - Do: ++--track++[++=++(`direct`|`inherit`)]` - Don't: ++--track++[++=++(`direct` | `inherit`)] + Do: --track[=(direct|inherit)] + Don't: --track[=(direct | inherit)] Parentheses are used for grouping: - [(_<rev>_ | _<range>_)...] + [(<rev>|<range>)...] (Any number of either <rev> or <range>. Parens are needed to make it clear that "..." pertains to both <rev> and <range>.) - [(`-p` _<parent>_)...] + [(-p <parent>)...] (Any number of option -p, each with one <parent> argument.) - `git remote set-head` _<name>_ (`-a` | `-d` | _<branch>_) + git remote set-head <name> (-a|-d|<branch>) (One and only one of "-a", "-d" or "<branch>" _must_ (no square brackets) be provided.) And a somewhat more contrived example: - `--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]` + --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]] Here "=" is outside the brackets, because "--diff-filter=" is a valid usage. "*" has its own pair of brackets, because it can (optionally) be specified only when one or more of the letters is diff --git a/Documentation/DecisionMaking.txt b/Documentation/DecisionMaking.adoc index b43c472ae5..b43c472ae5 100644 --- a/Documentation/DecisionMaking.txt +++ b/Documentation/DecisionMaking.adoc diff --git a/Documentation/Makefile b/Documentation/Makefile index 0f55baa252..df2ce187eb 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,6 +1,11 @@ +# The default target of this Makefile is... +all:: + # Import tree-wide shared Makefile behavior and libraries include ../shared.mak +.PHONY: FORCE + # Guard against environment variables MAN1_TXT = MAN5_TXT = @@ -15,56 +20,56 @@ OBSOLETE_HTML = -include GIT-EXCLUDED-PROGRAMS MAN1_TXT += $(filter-out \ - $(patsubst %,%.txt,$(EXCLUDED_PROGRAMS)) \ - $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ - $(wildcard git-*.txt)) -MAN1_TXT += git.txt -MAN1_TXT += gitk.txt -MAN1_TXT += gitweb.txt -MAN1_TXT += scalar.txt + $(patsubst %,%.adoc,$(EXCLUDED_PROGRAMS)) \ + $(addsuffix .adoc, $(ARTICLES) $(SP_ARTICLES)), \ + $(wildcard git-*.adoc)) +MAN1_TXT += git.adoc +MAN1_TXT += gitk.adoc +MAN1_TXT += gitweb.adoc +MAN1_TXT += scalar.adoc # man5 / man7 guides (note: new guides should also be added to command-list.txt) -MAN5_TXT += gitattributes.txt -MAN5_TXT += gitformat-bundle.txt -MAN5_TXT += gitformat-chunk.txt -MAN5_TXT += gitformat-commit-graph.txt -MAN5_TXT += gitformat-index.txt -MAN5_TXT += gitformat-pack.txt -MAN5_TXT += gitformat-signature.txt -MAN5_TXT += githooks.txt -MAN5_TXT += gitignore.txt -MAN5_TXT += gitmailmap.txt -MAN5_TXT += gitmodules.txt -MAN5_TXT += gitprotocol-capabilities.txt -MAN5_TXT += gitprotocol-common.txt -MAN5_TXT += gitprotocol-http.txt -MAN5_TXT += gitprotocol-pack.txt -MAN5_TXT += gitprotocol-v2.txt -MAN5_TXT += gitrepository-layout.txt -MAN5_TXT += gitweb.conf.txt - -MAN7_TXT += gitcli.txt -MAN7_TXT += gitcore-tutorial.txt -MAN7_TXT += gitcredentials.txt -MAN7_TXT += gitcvs-migration.txt -MAN7_TXT += gitdiffcore.txt -MAN7_TXT += giteveryday.txt -MAN7_TXT += gitfaq.txt -MAN7_TXT += gitglossary.txt -MAN7_TXT += gitpacking.txt -MAN7_TXT += gitnamespaces.txt -MAN7_TXT += gitremote-helpers.txt -MAN7_TXT += gitrevisions.txt -MAN7_TXT += gitsubmodules.txt -MAN7_TXT += gittutorial-2.txt -MAN7_TXT += gittutorial.txt -MAN7_TXT += gitworkflows.txt - -HOWTO_TXT += $(wildcard howto/*.txt) - -DOC_DEP_TXT += $(wildcard *.txt) -DOC_DEP_TXT += $(wildcard config/*.txt) -DOC_DEP_TXT += $(wildcard includes/*.txt) +MAN5_TXT += gitattributes.adoc +MAN5_TXT += gitformat-bundle.adoc +MAN5_TXT += gitformat-chunk.adoc +MAN5_TXT += gitformat-commit-graph.adoc +MAN5_TXT += gitformat-index.adoc +MAN5_TXT += gitformat-pack.adoc +MAN5_TXT += gitformat-signature.adoc +MAN5_TXT += githooks.adoc +MAN5_TXT += gitignore.adoc +MAN5_TXT += gitmailmap.adoc +MAN5_TXT += gitmodules.adoc +MAN5_TXT += gitprotocol-capabilities.adoc +MAN5_TXT += gitprotocol-common.adoc +MAN5_TXT += gitprotocol-http.adoc +MAN5_TXT += gitprotocol-pack.adoc +MAN5_TXT += gitprotocol-v2.adoc +MAN5_TXT += gitrepository-layout.adoc +MAN5_TXT += gitweb.conf.adoc + +MAN7_TXT += gitcli.adoc +MAN7_TXT += gitcore-tutorial.adoc +MAN7_TXT += gitcredentials.adoc +MAN7_TXT += gitcvs-migration.adoc +MAN7_TXT += gitdiffcore.adoc +MAN7_TXT += giteveryday.adoc +MAN7_TXT += gitfaq.adoc +MAN7_TXT += gitglossary.adoc +MAN7_TXT += gitpacking.adoc +MAN7_TXT += gitnamespaces.adoc +MAN7_TXT += gitremote-helpers.adoc +MAN7_TXT += gitrevisions.adoc +MAN7_TXT += gitsubmodules.adoc +MAN7_TXT += gittutorial-2.adoc +MAN7_TXT += gittutorial.adoc +MAN7_TXT += gitworkflows.adoc + +HOWTO_TXT += $(wildcard howto/*.adoc) + +DOC_DEP_TXT += $(wildcard *.adoc) +DOC_DEP_TXT += $(wildcard config/*.adoc) +DOC_DEP_TXT += $(wildcard includes/*.adoc) ifdef MAN_FILTER MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)) @@ -73,8 +78,8 @@ MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT) MAN_FILTER = $(MAN_TXT) endif -MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT)) -MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT)) +MAN_XML = $(patsubst %.adoc,%.xml,$(MAN_TXT)) +MAN_HTML = $(patsubst %.adoc,%.html,$(MAN_TXT)) GIT_MAN_REF = master OBSOLETE_HTML += everyday.html @@ -101,9 +106,10 @@ SP_ARTICLES += howto/rebase-from-internal-branch SP_ARTICLES += howto/keep-canonical-history-correct SP_ARTICLES += howto/maintain-git SP_ARTICLES += howto/coordinate-embargoed-releases -API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt))) +API_DOCS = $(patsubst %.adoc,%,$(filter-out technical/api-index-skel.adoc technical/api-index.adoc, $(wildcard technical/api-*.adoc))) SP_ARTICLES += $(API_DOCS) +TECH_DOCS += BreakingChanges TECH_DOCS += DecisionMaking TECH_DOCS += ReviewingGuidelines TECH_DOCS += MyFirstContribution @@ -111,6 +117,7 @@ TECH_DOCS += MyFirstObjectWalk TECH_DOCS += SubmittingPatches TECH_DOCS += ToolsForGit TECH_DOCS += technical/bitmap-format +TECH_DOCS += technical/build-systems TECH_DOCS += technical/bundle-uri TECH_DOCS += technical/hash-function-transition TECH_DOCS += technical/long-running-process-protocol @@ -133,9 +140,9 @@ ARTICLES_HTML += $(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES)) HTML_FILTER ?= $(ARTICLES_HTML) $(OBSOLETE_HTML) DOC_HTML = $(MAN_HTML) $(filter $(HTML_FILTER),$(ARTICLES_HTML) $(OBSOLETE_HTML)) -DOC_MAN1 = $(patsubst %.txt,%.1,$(filter $(MAN_FILTER),$(MAN1_TXT))) -DOC_MAN5 = $(patsubst %.txt,%.5,$(filter $(MAN_FILTER),$(MAN5_TXT))) -DOC_MAN7 = $(patsubst %.txt,%.7,$(filter $(MAN_FILTER),$(MAN7_TXT))) +DOC_MAN1 = $(patsubst %.adoc,%.1,$(filter $(MAN_FILTER),$(MAN1_TXT))) +DOC_MAN5 = $(patsubst %.adoc,%.5,$(filter $(MAN_FILTER),$(MAN5_TXT))) +DOC_MAN7 = $(patsubst %.adoc,%.7,$(filter $(MAN_FILTER),$(MAN7_TXT))) prefix ?= $(HOME) bindir ?= $(prefix)/bin @@ -148,16 +155,12 @@ man5dir = $(mandir)/man5 man7dir = $(mandir)/man7 # DESTDIR = -GIT_DATE := $(shell git show --quiet --pretty='%as') - ASCIIDOC = asciidoc ASCIIDOC_EXTRA = ASCIIDOC_HTML = xhtml11 ASCIIDOC_DOCBOOK = docbook ASCIIDOC_CONF = -f asciidoc.conf -ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \ - -amanmanual='Git Manual' -amansource='Git $(GIT_VERSION)' \ - -arevdate='$(GIT_DATE)' +ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) @@ -182,6 +185,10 @@ endif -include ../config.mak.autogen -include ../config.mak +# Set GIT_VERSION_OVERRIDE such that version_gen knows to substitute +# GIT_VERSION in case it was set by the user. +GIT_VERSION_OVERRIDE := $(GIT_VERSION) + ifndef NO_MAN_BOLD_LITERAL XMLTO_EXTRA += -m manpage-bold-literal.xsl endif @@ -210,6 +217,16 @@ ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS DBLATEX_COMMON = XMLTO_EXTRA += --skip-validation XMLTO_EXTRA += -x manpage.xsl + +asciidoctor-extensions.rb: asciidoctor-extensions.rb.in FORCE + $(QUIET_GEN)$(call version_gen,"$(shell pwd)/..",$<,$@) +else +asciidoc.conf: asciidoc.conf.in FORCE + $(QUIET_GEN)$(call version_gen,"$(shell pwd)/..",$<,$@) +endif + +ifdef WITH_BREAKING_CHANGES +ASCIIDOC_EXTRA += -awith-breaking-changes endif ASCIIDOC_DEPS += docinfo.html @@ -218,6 +235,7 @@ SHELL_PATH ?= $(SHELL) # Shell quote; SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) +ASCIIDOC_EXTRA += -abuild_dir='$(shell pwd)' ifdef DEFAULT_PAGER DEFAULT_PAGER_SQ = $(subst ','\'',$(DEFAULT_PAGER)) ASCIIDOC_EXTRA += -a 'git-default-pager=$(DEFAULT_PAGER_SQ)' @@ -228,7 +246,7 @@ DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR)) ASCIIDOC_EXTRA += -a 'git-default-editor=$(DEFAULT_EDITOR_SQ)' endif -all: html man +all:: html man html: $(DOC_HTML) @@ -268,59 +286,46 @@ install-pdf: pdf install-html: html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir) -../GIT-VERSION-FILE: FORCE - $(QUIET_SUBDIR0)../ $(QUIET_SUBDIR1) GIT-VERSION-FILE - -ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),) --include ../GIT-VERSION-FILE -endif +mergetools_txt = mergetools-diff.adoc mergetools-merge.adoc # # Determine "include::" file references in asciidoc files. # docdep_prereqs = \ - mergetools-list.made $(mergetools_txt) \ + $(mergetools_txt) \ cmd-list.made $(cmds_txt) doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl - $(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl >$@ $(QUIET_STDERR) + $(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl "$(shell pwd)" >$@ $(QUIET_STDERR) ifneq ($(MAKECMDGOALS),clean) -include doc.dep endif -cmds_txt = cmds-ancillaryinterrogators.txt \ - cmds-ancillarymanipulators.txt \ - cmds-mainporcelain.txt \ - cmds-plumbinginterrogators.txt \ - cmds-plumbingmanipulators.txt \ - cmds-synchingrepositories.txt \ - cmds-synchelpers.txt \ - cmds-guide.txt \ - cmds-developerinterfaces.txt \ - cmds-userinterfaces.txt \ - cmds-purehelpers.txt \ - cmds-foreignscminterface.txt +cmds_txt = cmds-ancillaryinterrogators.adoc \ + cmds-ancillarymanipulators.adoc \ + cmds-mainporcelain.adoc \ + cmds-plumbinginterrogators.adoc \ + cmds-plumbingmanipulators.adoc \ + cmds-synchingrepositories.adoc \ + cmds-synchelpers.adoc \ + cmds-guide.adoc \ + cmds-developerinterfaces.adoc \ + cmds-userinterfaces.adoc \ + cmds-purehelpers.adoc \ + cmds-foreignscminterface.adoc $(cmds_txt): cmd-list.made -cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) - $(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \ +cmd-list.made: cmd-list.sh ../command-list.txt $(MAN1_TXT) + $(QUIET_GEN)$(SHELL_PATH) ./cmd-list.sh .. . $(cmds_txt) && \ date >$@ -mergetools_txt = mergetools-diff.txt mergetools-merge.txt - -$(mergetools_txt): mergetools-list.made - -mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*) - $(QUIET_GEN) \ - $(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=diff && \ - . ../git-mergetool--lib.sh && \ - show_tool_names can_diff' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-diff.txt && \ - $(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=merge && \ - . ../git-mergetool--lib.sh && \ - show_tool_names can_merge' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-merge.txt && \ - date >$@ +mergetools-%.adoc: generate-mergetool-list.sh ../git-mergetool--lib.sh $(wildcard ../mergetools/*) +mergetools-diff.adoc: + $(QUIET_GEN)$(SHELL_PATH) ./generate-mergetool-list.sh .. diff $@ +mergetools-merge.adoc: + $(QUIET_GEN)$(SHELL_PATH) ./generate-mergetool-list.sh .. merge $@ TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK)) @@ -336,19 +341,21 @@ clean: $(RM) *.xml *.xml+ *.html *.html+ *.1 *.5 *.7 $(RM) *.texi *.texi+ *.texi++ git.info gitman.info $(RM) *.pdf - $(RM) howto-index.txt howto/*.html doc.dep - $(RM) technical/*.html technical/api-index.txt - $(RM) SubmittingPatches.txt + $(RM) howto-index.adoc howto/*.html doc.dep + $(RM) technical/*.html technical/api-index.adoc + $(RM) SubmittingPatches.adoc $(RM) $(cmds_txt) $(mergetools_txt) *.made $(RM) GIT-ASCIIDOCFLAGS + $(RM) asciidoc.conf asciidoctor-extensions.rb + $(RM) -rf tmp-meson-diff docinfo.html: docinfo-html.in $(QUIET_GEN)$(RM) $@ && cat $< >$@ -$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS) +$(MAN_HTML): %.html : %.adoc $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC)$(TXT_TO_HTML) -d manpage -o $@ $< -$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS) +$(OBSOLETE_HTML): %.html : %.adoco $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $< manpage-prereqs := $(wildcard manpage*.xsl) @@ -361,22 +368,22 @@ manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< %.7 : %.xml $(manpage-prereqs) $(manpage-cmd) -%.xml : %.txt $(ASCIIDOC_DEPS) +%.xml : %.adoc $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $< -user-manual.xml: user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS +user-manual.xml: user-manual.adoc $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $< -technical/api-index.txt: technical/api-index-skel.txt \ - technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS)) - $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh +technical/api-index.adoc: technical/api-index-skel.adoc \ + technical/api-index.sh $(patsubst %,%.adoc,$(API_DOCS)) + $(QUIET_GEN)'$(SHELL_PATH_SQ)' technical/api-index.sh ./technical ./technical/api-index.adoc technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ -$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt \ - asciidoc.conf GIT-ASCIIDOCFLAGS - $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt +$(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.adoc \ + $(ASCIIDOC_DEPS) + $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.adoc -SubmittingPatches.txt: SubmittingPatches +SubmittingPatches.adoc: SubmittingPatches $(QUIET_GEN) cp $< $@ XSLT = docbook.xsl @@ -391,9 +398,9 @@ user-manual.html: user-manual.xml $(XSLT) git.info: user-manual.texi $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi -user-manual.texi: user-manual.xml +user-manual.texi: user-manual.xml fix-texi.sh $(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \ - $(PERL_PATH) fix-texi.perl <$@+ >$@ && \ + $(SHELL_PATH) fix-texi.sh <$@+ >$@ && \ $(RM) $@+ user-manual.pdf: user-manual.xml @@ -410,19 +417,19 @@ gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl gitman.info: gitman.texi $(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $< -$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml +$(patsubst %.adoc,%.texi,$(MAN_TXT)): %.texi : %.xml $(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@ -howto-index.txt: howto-index.sh $(HOWTO_TXT) - $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@ +howto-index.adoc: howto/howto-index.sh $(HOWTO_TXT) + $(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto/howto-index.sh $(sort $(HOWTO_TXT)) >$@ -$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt - $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt +$(patsubst %,%.html,$(ARTICLES)) : %.html : %.adoc $(ASCIIDOC_DEPS) + $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.adoc WEBDOC_DEST = /pub/software/scm/git/docs howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../ -$(patsubst %.txt,%.html,$(HOWTO_TXT)): %.html : %.txt GIT-ASCIIDOCFLAGS +$(patsubst %.adoc,%.html,$(HOWTO_TXT)): %.html : %.adoc $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC) \ sed -e '1,/^$$/d' $< | \ $(TXT_TO_HTML) - >$@ @@ -453,9 +460,9 @@ print-man1: @for i in $(MAN1_TXT); do echo $$i; done ## Lint: gitlink -LINT_DOCS_GITLINK = $(patsubst %.txt,.build/lint-docs/gitlink/%.ok,$(HOWTO_TXT) $(DOC_DEP_TXT)) +LINT_DOCS_GITLINK = $(patsubst %.adoc,.build/lint-docs/gitlink/%.ok,$(HOWTO_TXT) $(DOC_DEP_TXT)) $(LINT_DOCS_GITLINK): lint-gitlink.perl -$(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.txt +$(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.adoc $(call mkdir_p_parent_template) $(QUIET_LINT_GITLINK)$(PERL_PATH) lint-gitlink.perl \ $< \ @@ -467,17 +474,17 @@ $(LINT_DOCS_GITLINK): .build/lint-docs/gitlink/%.ok: %.txt lint-docs-gitlink: $(LINT_DOCS_GITLINK) ## Lint: man-end-blurb -LINT_DOCS_MAN_END_BLURB = $(patsubst %.txt,.build/lint-docs/man-end-blurb/%.ok,$(MAN_TXT)) +LINT_DOCS_MAN_END_BLURB = $(patsubst %.adoc,.build/lint-docs/man-end-blurb/%.ok,$(MAN_TXT)) $(LINT_DOCS_MAN_END_BLURB): lint-man-end-blurb.perl -$(LINT_DOCS_MAN_END_BLURB): .build/lint-docs/man-end-blurb/%.ok: %.txt +$(LINT_DOCS_MAN_END_BLURB): .build/lint-docs/man-end-blurb/%.ok: %.adoc $(call mkdir_p_parent_template) $(QUIET_LINT_MANEND)$(PERL_PATH) lint-man-end-blurb.perl $< >$@ .PHONY: lint-docs-man-end-blurb ## Lint: man-section-order -LINT_DOCS_MAN_SECTION_ORDER = $(patsubst %.txt,.build/lint-docs/man-section-order/%.ok,$(MAN_TXT)) +LINT_DOCS_MAN_SECTION_ORDER = $(patsubst %.adoc,.build/lint-docs/man-section-order/%.ok,$(MAN_TXT)) $(LINT_DOCS_MAN_SECTION_ORDER): lint-man-section-order.perl -$(LINT_DOCS_MAN_SECTION_ORDER): .build/lint-docs/man-section-order/%.ok: %.txt +$(LINT_DOCS_MAN_SECTION_ORDER): .build/lint-docs/man-section-order/%.ok: %.adoc $(call mkdir_p_parent_template) $(QUIET_LINT_MANSEC)$(PERL_PATH) lint-man-section-order.perl $< >$@ .PHONY: lint-docs-man-section-order @@ -486,16 +493,35 @@ lint-docs-man-section-order: $(LINT_DOCS_MAN_SECTION_ORDER) .PHONY: lint-docs-fsck-msgids LINT_DOCS_FSCK_MSGIDS = .build/lint-docs/fsck-msgids.ok $(LINT_DOCS_FSCK_MSGIDS): lint-fsck-msgids.perl -$(LINT_DOCS_FSCK_MSGIDS): ../fsck.h fsck-msgids.txt +$(LINT_DOCS_FSCK_MSGIDS): ../fsck.h fsck-msgids.adoc $(call mkdir_p_parent_template) $(QUIET_GEN)$(PERL_PATH) lint-fsck-msgids.perl \ - ../fsck.h fsck-msgids.txt $@ + ../fsck.h fsck-msgids.adoc $@ lint-docs-fsck-msgids: $(LINT_DOCS_FSCK_MSGIDS) lint-docs-manpages: $(QUIET_GEN)./lint-manpages.sh +.PHONY: lint-docs-meson +lint-docs-meson: + @# awk acts up when trying to match single quotes, so we use \047 instead. + @mkdir -p tmp-meson-diff && \ + awk "/^manpages = {$$/ {flag=1 ; next } /^}$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047 : [157],\$$/, \"\"); print }" meson.build | \ + grep -v -e '#' -e '^$$' | \ + sort >tmp-meson-diff/meson.adoc && \ + ls git*.adoc scalar.adoc | \ + grep -v -e git-bisect-lk2009.adoc \ + -e git-pack-redundant.adoc \ + -e git-tools.adoc \ + -e git-whatchanged.adoc \ + >tmp-meson-diff/actual.adoc && \ + if ! cmp tmp-meson-diff/meson.adoc tmp-meson-diff/actual.adoc; then \ + echo "Meson man pages differ from actual man pages:"; \ + diff -u tmp-meson-diff/meson.adoc tmp-meson-diff/actual.adoc; \ + exit 1; \ + fi + ## Lint: list of targets above .PHONY: lint-docs lint-docs: lint-docs-fsck-msgids @@ -503,6 +529,7 @@ lint-docs: lint-docs-gitlink lint-docs: lint-docs-man-end-blurb lint-docs: lint-docs-man-section-order lint-docs: lint-docs-manpages +lint-docs: lint-docs-meson ifeq ($(wildcard po/Makefile),po/Makefile) doc-l10n install-l10n:: diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.adoc index e41654c00a..aca7212cfe 100644 --- a/Documentation/MyFirstContribution.txt +++ b/Documentation/MyFirstContribution.adoc @@ -21,7 +21,7 @@ This tutorial aims to summarize the following documents, but the reader may find useful additional context: - `Documentation/SubmittingPatches` -- `Documentation/howto/new-command.txt` +- `Documentation/howto/new-command.adoc` [[getting-help]] === Getting Help @@ -40,14 +40,6 @@ the list by sending an email to <git+subscribe@vger.kernel.org> The https://lore.kernel.org/git[archive] of this mailing list is available to view in a browser. -==== https://groups.google.com/forum/#!forum/git-mentoring[git-mentoring@googlegroups.com] - -This mailing list is targeted to new contributors and was created as a place to -post questions and receive answers outside of the public eye of the main list. -Veteran contributors who are especially interested in helping mentor newcomers -are present on the list. In order to avoid search indexers, group membership is -required to view messages; anyone can join and no approval is required. - ==== https://web.libera.chat/#git-devel[#git-devel] on Libera Chat This IRC channel is for conversations between Git contributors. If someone is @@ -150,15 +142,31 @@ command in `builtin/psuh.c`. Create that file, and within it, write the entry point for your command in a function matching the style and signature: ---- -int cmd_psuh(int argc, const char **argv, const char *prefix) +int cmd_psuh(int argc UNUSED, const char **argv UNUSED, + const char *prefix UNUSED, struct repository *repo UNUSED) ---- +A few things to note: + +* A subcommand implementation takes its command line arguments + in `int argc` + `const char **argv`, like `main()` would. + +* It also takes two extra parameters, `prefix` and `repo`. What + they mean will not be discussed until much later. + +* Because this first example will not use any of the parameters, + your compiler will give warnings on unused parameters. As the + list of these four parameters is mandated by the API to add + new built-in commands, you cannot omit them. Instead, you add + `UNUSED` to each of them to tell the compiler that you *know* + you are not (yet) using it. + We'll also need to add the declaration of psuh; open up `builtin.h`, find the declaration for `cmd_pull`, and add a new line for `psuh` immediately before it, in order to keep the declarations alphabetically sorted: ---- -int cmd_psuh(int argc, const char **argv, const char *prefix); +int cmd_psuh(int argc, const char **argv, const char *prefix, struct repository *repo); ---- Be sure to `#include "builtin.h"` in your `psuh.c`. You'll also need to @@ -174,7 +182,8 @@ Throughout the tutorial, we will mark strings for translation as necessary; you should also do so when writing your user-facing commands in the future. ---- -int cmd_psuh(int argc, const char **argv, const char *prefix) +int cmd_psuh(int argc UNUSED, const char **argv UNUSED, + const char *prefix UNUSED, struct repository *repo UNUSED) { printf(_("Pony saying hello goes here.\n")); return 0; @@ -287,8 +296,9 @@ on the reference implementation linked at the top of this document. It's probably useful to do at least something besides printing out a string. Let's start by having a look at everything we get. -Modify your `cmd_psuh` implementation to dump the args you're passed, keeping -existing `printf()` calls in place: +Modify your `cmd_psuh` implementation to dump the args you're passed, +keeping existing `printf()` calls in place; because the args are now +used, remove the `UNUSED` macro from them: ---- int i; @@ -312,7 +322,8 @@ on the command line, including the name of our command. (If `prefix` is empty for you, try `cd Documentation/ && ../bin-wrappers/git psuh`). That's not so helpful. So what other context can we get? -Add a line to `#include "config.h"`. Then, add the following bits to the +Add a line to `#include "config.h"` and `#include "repository.h"`. +Then, add the following bits to the function body: function body: ---- @@ -320,18 +331,18 @@ function body: ... - git_config(git_default_config, NULL); - if (git_config_get_string_tmp("user.name", &cfg_name) > 0) + repo_config(repo, git_default_config, NULL); + if (repo_config_get_string_tmp(repo, "user.name", &cfg_name)) printf(_("No name is found in config\n")); else printf(_("Your name: %s\n"), cfg_name); ---- -`git_config()` will grab the configuration from config files known to Git and -apply standard precedence rules. `git_config_get_string_tmp()` will look up +`repo_config()` will grab the configuration from config files known to Git and +apply standard precedence rules. `repo_config_get_string_tmp()` will look up a specific key ("user.name") and give you the value. There are a number of single-key lookup functions like this one; you can see them all (and more info -about how to use `git_config()`) in `Documentation/technical/api-config.txt`. +about how to use `repo_config()`) in `Documentation/technical/api-config.adoc`. You should see that the name printed matches the one you see when you run: @@ -364,9 +375,10 @@ status_init_config(&s, git_status_config); ---- But as we drill down, we can find that `status_init_config()` wraps a call -to `git_config()`. Let's modify the code we wrote in the previous commit. +to `repo_config()`. Let's modify the code we wrote in the previous commit. Be sure to include the header to allow you to use `struct wt_status`: + ---- #include "wt-status.h" ---- @@ -379,8 +391,8 @@ prepare it, and print its contents: ... - wt_status_prepare(the_repository, &status); - git_config(git_default_config, &status); + wt_status_prepare(repo, &status); + repo_config(repo, git_default_config, &status); ... @@ -461,10 +473,10 @@ $ ./bin-wrappers/git help psuh Your new command is undocumented! Let's fix that. -Take a look at `Documentation/git-*.txt`. These are the manpages for the +Take a look at `Documentation/git-*.adoc`. These are the manpages for the subcommands that Git knows about. You can open these up and take a look to get acquainted with the format, but then go ahead and make a new file -`Documentation/git-psuh.txt`. Like with most of the documentation in the Git +`Documentation/git-psuh.adoc`. Like with most of the documentation in the Git project, help pages are written with AsciiDoc (see CodingGuidelines, "Writing Documentation" section). Use the following template to fill out your own manpage: @@ -543,7 +555,7 @@ Try and run `./bin-wrappers/git psuh -h`. Your command should crash at the end. That's because `-h` is a special case which your command should handle by printing usage. -Take a look at `Documentation/technical/api-parse-options.txt`. This is a handy +Take a look at `Documentation/technical/api-parse-options.adoc`. This is a handy tool for pulling out options you need to be able to handle, and it takes a usage string. @@ -1088,14 +1100,14 @@ This gives reviewers a summary of what they're in for when reviewing your topic. The one generated for `psuh` from the sample implementation looks like this: ---- - Documentation/git-psuh.txt | 40 +++++++++++++++++++++ - Makefile | 1 + - builtin.h | 1 + - builtin/psuh.c | 73 ++++++++++++++++++++++++++++++++++++++ - git.c | 1 + - t/t9999-psuh-tutorial.sh | 12 +++++++ + Documentation/git-psuh.adoc | 40 +++++++++++++++++++++ + Makefile | 1 + + builtin.h | 1 + + builtin/psuh.c | 73 ++++++++++++++++++++++++++++++++++++++ + git.c | 1 + + t/t9999-psuh-tutorial.sh | 12 +++++++ 6 files changed, 128 insertions(+) - create mode 100644 Documentation/git-psuh.txt + create mode 100644 Documentation/git-psuh.adoc create mode 100644 builtin/psuh.c create mode 100755 t/t9999-psuh-tutorial.sh ---- diff --git a/Documentation/MyFirstObjectWalk.txt b/Documentation/MyFirstObjectWalk.adoc index dec8afe5b1..413a9fdb05 100644 --- a/Documentation/MyFirstObjectWalk.txt +++ b/Documentation/MyFirstObjectWalk.adoc @@ -15,7 +15,7 @@ revision walk is used for operations like `git log`. === Related Reading -- `Documentation/user-manual.txt` under "Hacking Git" contains some coverage of +- `Documentation/user-manual.adoc` under "Hacking Git" contains some coverage of the revision walker in its various incarnations. - `revision.h` - https://eagain.net/articles/git-for-computer-scientists/[Git for Computer Scientists] @@ -43,7 +43,7 @@ Open up a new file `builtin/walken.c` and set up the command handler: #include "builtin.h" #include "trace.h" -int cmd_walken(int argc, const char **argv, const char *prefix) +int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo) { trace_printf(_("cmd_walken incoming...\n")); return 0; @@ -83,23 +83,36 @@ int cmd_walken(int argc, const char **argv, const char *prefix) } ---- -Also add the relevant line in `builtin.h` near `cmd_whatchanged()`: +Also add the relevant line in `builtin.h` near `cmd_version()`: ---- -int cmd_walken(int argc, const char **argv, const char *prefix); +int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo); ---- -Include the command in `git.c` in `commands[]` near the entry for `whatchanged`, +Include the command in `git.c` in `commands[]` near the entry for `version`, maintaining alphabetical ordering: ---- { "walken", cmd_walken, RUN_SETUP }, ---- -Add it to the `Makefile` near the line for `builtin/worktree.o`: +Add an entry for the new command in the both the Make and Meson build system, +before the entry for `worktree`: +- In the `Makefile`: ---- +... BUILTIN_OBJS += builtin/walken.o +... +---- + +- In the `meson.build` file: +---- +builtin_sources = [ + ... + 'builtin/walken.c', + ... +] ---- Build and test out your command, without forgetting to ensure the `DEVELOPER` @@ -112,7 +125,7 @@ $ GIT_TRACE=1 ./bin-wrappers/git walken ---- NOTE: For a more exhaustive overview of the new command process, take a look at -`Documentation/MyFirstContribution.txt`. +`Documentation/MyFirstContribution.adoc`. NOTE: A reference implementation can be found at https://github.com/nasamuffin/git/tree/revwalk. @@ -132,7 +145,7 @@ used to track the allocated size of the list. Per entry, we find: `item` is the object provided upon which to base the object walk. Items in Git -can be blobs, trees, commits, or tags. (See `Documentation/gittutorial-2.txt`.) +can be blobs, trees, commits, or tags. (See `Documentation/gittutorial-2.adoc`.) `name` is the object ID (OID) of the object - a hex string you may be familiar with from using Git to organize your source in the past. Check the tutorial @@ -141,7 +154,7 @@ from. `whence` indicates some information about what to do with the parents of the specified object. We'll explore this flag more later on; take a look at -`Documentation/revisions.txt` to get an idea of what could set the `whence` +`Documentation/revisions.adoc` to get an idea of what could set the `whence` value. `flags` are used to hint the beginning of the revision walk and are the first @@ -153,7 +166,7 @@ can be used during the walk, as well. This one is quite a bit longer, and many fields are only used during the walk by `revision.c` - not configuration options. Most of the configurable flags in -`struct rev_info` have a mirror in `Documentation/rev-list-options.txt`. It's a +`struct rev_info` have a mirror in `Documentation/rev-list-options.adoc`. It's a good idea to take some time and read through that document. == Basic Commit Walk @@ -193,7 +206,7 @@ initialization functions. Next, we should have a look at any relevant configuration settings (i.e., settings readable and settable from `git config`). This is done by providing a -callback to `git_config()`; within that callback, you can also invoke methods +callback to `repo_config()`; within that callback, you can also invoke methods from other components you may need that need to intercept these options. Your callback will be invoked once per each configuration value which Git knows about (global, local, worktree, etc.). @@ -221,14 +234,14 @@ static int git_walken_config(const char *var, const char *value, } ---- -Make sure to invoke `git_config()` with it in your `cmd_walken()`: +Make sure to invoke `repo_config()` with it in your `cmd_walken()`: ---- -int cmd_walken(int argc, const char **argv, const char *prefix) +int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo) { ... - git_config(git_walken_config, NULL); + repo_config(repo, git_walken_config, NULL); ... } @@ -250,14 +263,14 @@ We'll also need to include the `revision.h` header: ... -int cmd_walken(int argc, const char **argv, const char *prefix) +int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo) { /* This can go wherever you like in your declarations.*/ struct rev_info rev; ... - /* This should go after the git_config() call. */ - repo_init_revisions(the_repository, &rev, prefix); + /* This should go after the repo_config() call. */ + repo_init_revisions(repo, &rev, prefix); ... } @@ -287,6 +300,7 @@ static void final_rev_info_setup(struct rev_info *rev) ==== Instead of using the shorthand `add_head_to_pending()`, you could do something like this: + ---- struct setup_revision_opt opt; @@ -295,6 +309,7 @@ something like this: opt.revarg_opt = REVARG_COMMITTISH; setup_revisions(argc, argv, rev, &opt); ---- + Using a `setup_revision_opt` gives you finer control over your walk's starting point. ==== @@ -303,7 +318,7 @@ Then let's invoke `final_rev_info_setup()` after the call to `repo_init_revisions()`: ---- -int cmd_walken(int argc, const char **argv, const char *prefix) +int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo) { ... @@ -710,7 +725,7 @@ objects grows along with the Git project. === Adding a Filter There are a handful of filters that we can apply to the object walk laid out in -`Documentation/rev-list-options.txt`. These filters are typically useful for +`Documentation/rev-list-options.adoc`. These filters are typically useful for operations such as creating packfiles or performing a partial clone. They are defined in `list-objects-filter-options.h`. For the purposes of this tutorial we will use the "tree:1" filter, which causes the walk to omit all trees and blobs diff --git a/Documentation/RelNotes/1.5.0.1.txt b/Documentation/RelNotes/1.5.0.1.adoc index fea3f9935b..fea3f9935b 100644 --- a/Documentation/RelNotes/1.5.0.1.txt +++ b/Documentation/RelNotes/1.5.0.1.adoc diff --git a/Documentation/RelNotes/1.5.0.2.txt b/Documentation/RelNotes/1.5.0.2.adoc index b061e50ff0..b061e50ff0 100644 --- a/Documentation/RelNotes/1.5.0.2.txt +++ b/Documentation/RelNotes/1.5.0.2.adoc diff --git a/Documentation/RelNotes/1.5.0.3.txt b/Documentation/RelNotes/1.5.0.3.adoc index cd500f96bf..cd500f96bf 100644 --- a/Documentation/RelNotes/1.5.0.3.txt +++ b/Documentation/RelNotes/1.5.0.3.adoc diff --git a/Documentation/RelNotes/1.5.0.4.txt b/Documentation/RelNotes/1.5.0.4.adoc index feefa5dfd4..feefa5dfd4 100644 --- a/Documentation/RelNotes/1.5.0.4.txt +++ b/Documentation/RelNotes/1.5.0.4.adoc diff --git a/Documentation/RelNotes/1.5.0.5.txt b/Documentation/RelNotes/1.5.0.5.adoc index eeec3d73d0..eeec3d73d0 100644 --- a/Documentation/RelNotes/1.5.0.5.txt +++ b/Documentation/RelNotes/1.5.0.5.adoc diff --git a/Documentation/RelNotes/1.5.0.6.txt b/Documentation/RelNotes/1.5.0.6.adoc index c02015ad5f..c02015ad5f 100644 --- a/Documentation/RelNotes/1.5.0.6.txt +++ b/Documentation/RelNotes/1.5.0.6.adoc diff --git a/Documentation/RelNotes/1.5.0.7.txt b/Documentation/RelNotes/1.5.0.7.adoc index 670ad32b85..670ad32b85 100644 --- a/Documentation/RelNotes/1.5.0.7.txt +++ b/Documentation/RelNotes/1.5.0.7.adoc diff --git a/Documentation/RelNotes/1.5.0.txt b/Documentation/RelNotes/1.5.0.adoc index d6d42f3183..d6d42f3183 100644 --- a/Documentation/RelNotes/1.5.0.txt +++ b/Documentation/RelNotes/1.5.0.adoc diff --git a/Documentation/RelNotes/1.5.1.1.txt b/Documentation/RelNotes/1.5.1.1.adoc index 91471213bd..91471213bd 100644 --- a/Documentation/RelNotes/1.5.1.1.txt +++ b/Documentation/RelNotes/1.5.1.1.adoc diff --git a/Documentation/RelNotes/1.5.1.2.txt b/Documentation/RelNotes/1.5.1.2.adoc index d88456306c..d88456306c 100644 --- a/Documentation/RelNotes/1.5.1.2.txt +++ b/Documentation/RelNotes/1.5.1.2.adoc diff --git a/Documentation/RelNotes/1.5.1.3.txt b/Documentation/RelNotes/1.5.1.3.adoc index 876408b65a..876408b65a 100644 --- a/Documentation/RelNotes/1.5.1.3.txt +++ b/Documentation/RelNotes/1.5.1.3.adoc diff --git a/Documentation/RelNotes/1.5.1.4.txt b/Documentation/RelNotes/1.5.1.4.adoc index df2f66ccb5..df2f66ccb5 100644 --- a/Documentation/RelNotes/1.5.1.4.txt +++ b/Documentation/RelNotes/1.5.1.4.adoc diff --git a/Documentation/RelNotes/1.5.1.5.txt b/Documentation/RelNotes/1.5.1.5.adoc index b0ab8eb371..b0ab8eb371 100644 --- a/Documentation/RelNotes/1.5.1.5.txt +++ b/Documentation/RelNotes/1.5.1.5.adoc diff --git a/Documentation/RelNotes/1.5.1.6.txt b/Documentation/RelNotes/1.5.1.6.adoc index 55f3ac13e3..55f3ac13e3 100644 --- a/Documentation/RelNotes/1.5.1.6.txt +++ b/Documentation/RelNotes/1.5.1.6.adoc diff --git a/Documentation/RelNotes/1.5.1.txt b/Documentation/RelNotes/1.5.1.adoc index daed367270..daed367270 100644 --- a/Documentation/RelNotes/1.5.1.txt +++ b/Documentation/RelNotes/1.5.1.adoc diff --git a/Documentation/RelNotes/1.5.2.1.txt b/Documentation/RelNotes/1.5.2.1.adoc index d41984df0b..d41984df0b 100644 --- a/Documentation/RelNotes/1.5.2.1.txt +++ b/Documentation/RelNotes/1.5.2.1.adoc diff --git a/Documentation/RelNotes/1.5.2.2.txt b/Documentation/RelNotes/1.5.2.2.adoc index 7bfa341750..7bfa341750 100644 --- a/Documentation/RelNotes/1.5.2.2.txt +++ b/Documentation/RelNotes/1.5.2.2.adoc diff --git a/Documentation/RelNotes/1.5.2.3.txt b/Documentation/RelNotes/1.5.2.3.adoc index addb22955b..addb22955b 100644 --- a/Documentation/RelNotes/1.5.2.3.txt +++ b/Documentation/RelNotes/1.5.2.3.adoc diff --git a/Documentation/RelNotes/1.5.2.4.txt b/Documentation/RelNotes/1.5.2.4.adoc index 75cff475f6..75cff475f6 100644 --- a/Documentation/RelNotes/1.5.2.4.txt +++ b/Documentation/RelNotes/1.5.2.4.adoc diff --git a/Documentation/RelNotes/1.5.2.5.txt b/Documentation/RelNotes/1.5.2.5.adoc index e8281c72a0..e8281c72a0 100644 --- a/Documentation/RelNotes/1.5.2.5.txt +++ b/Documentation/RelNotes/1.5.2.5.adoc diff --git a/Documentation/RelNotes/1.5.2.txt b/Documentation/RelNotes/1.5.2.adoc index e8328d090a..e8328d090a 100644 --- a/Documentation/RelNotes/1.5.2.txt +++ b/Documentation/RelNotes/1.5.2.adoc diff --git a/Documentation/RelNotes/1.5.3.1.txt b/Documentation/RelNotes/1.5.3.1.adoc index 7ff546c743..7ff546c743 100644 --- a/Documentation/RelNotes/1.5.3.1.txt +++ b/Documentation/RelNotes/1.5.3.1.adoc diff --git a/Documentation/RelNotes/1.5.3.2.txt b/Documentation/RelNotes/1.5.3.2.adoc index 4bbde3cab4..4bbde3cab4 100644 --- a/Documentation/RelNotes/1.5.3.2.txt +++ b/Documentation/RelNotes/1.5.3.2.adoc diff --git a/Documentation/RelNotes/1.5.3.3.txt b/Documentation/RelNotes/1.5.3.3.adoc index d213846951..d213846951 100644 --- a/Documentation/RelNotes/1.5.3.3.txt +++ b/Documentation/RelNotes/1.5.3.3.adoc diff --git a/Documentation/RelNotes/1.5.3.4.txt b/Documentation/RelNotes/1.5.3.4.adoc index b04b3a45a5..b04b3a45a5 100644 --- a/Documentation/RelNotes/1.5.3.4.txt +++ b/Documentation/RelNotes/1.5.3.4.adoc diff --git a/Documentation/RelNotes/1.5.3.5.txt b/Documentation/RelNotes/1.5.3.5.adoc index 7ff1d5d0d1..7ff1d5d0d1 100644 --- a/Documentation/RelNotes/1.5.3.5.txt +++ b/Documentation/RelNotes/1.5.3.5.adoc diff --git a/Documentation/RelNotes/1.5.3.6.txt b/Documentation/RelNotes/1.5.3.6.adoc index 069a2b2cf9..069a2b2cf9 100644 --- a/Documentation/RelNotes/1.5.3.6.txt +++ b/Documentation/RelNotes/1.5.3.6.adoc diff --git a/Documentation/RelNotes/1.5.3.7.txt b/Documentation/RelNotes/1.5.3.7.adoc index 2f690616c8..2f690616c8 100644 --- a/Documentation/RelNotes/1.5.3.7.txt +++ b/Documentation/RelNotes/1.5.3.7.adoc diff --git a/Documentation/RelNotes/1.5.3.8.txt b/Documentation/RelNotes/1.5.3.8.adoc index 0e3ff58a46..0e3ff58a46 100644 --- a/Documentation/RelNotes/1.5.3.8.txt +++ b/Documentation/RelNotes/1.5.3.8.adoc diff --git a/Documentation/RelNotes/1.5.3.txt b/Documentation/RelNotes/1.5.3.adoc index 0668d3c0ca..0668d3c0ca 100644 --- a/Documentation/RelNotes/1.5.3.txt +++ b/Documentation/RelNotes/1.5.3.adoc diff --git a/Documentation/RelNotes/1.5.4.1.txt b/Documentation/RelNotes/1.5.4.1.adoc index d4e44b8b09..d4e44b8b09 100644 --- a/Documentation/RelNotes/1.5.4.1.txt +++ b/Documentation/RelNotes/1.5.4.1.adoc diff --git a/Documentation/RelNotes/1.5.4.2.txt b/Documentation/RelNotes/1.5.4.2.adoc index 21d0df59fb..21d0df59fb 100644 --- a/Documentation/RelNotes/1.5.4.2.txt +++ b/Documentation/RelNotes/1.5.4.2.adoc diff --git a/Documentation/RelNotes/1.5.4.3.txt b/Documentation/RelNotes/1.5.4.3.adoc index b0fc67fb2a..b0fc67fb2a 100644 --- a/Documentation/RelNotes/1.5.4.3.txt +++ b/Documentation/RelNotes/1.5.4.3.adoc diff --git a/Documentation/RelNotes/1.5.4.4.txt b/Documentation/RelNotes/1.5.4.4.adoc index 323c1a88c7..323c1a88c7 100644 --- a/Documentation/RelNotes/1.5.4.4.txt +++ b/Documentation/RelNotes/1.5.4.4.adoc diff --git a/Documentation/RelNotes/1.5.4.5.txt b/Documentation/RelNotes/1.5.4.5.adoc index bbd130e36d..bbd130e36d 100644 --- a/Documentation/RelNotes/1.5.4.5.txt +++ b/Documentation/RelNotes/1.5.4.5.adoc diff --git a/Documentation/RelNotes/1.5.4.6.txt b/Documentation/RelNotes/1.5.4.6.adoc index 3e3c3e55a3..3e3c3e55a3 100644 --- a/Documentation/RelNotes/1.5.4.6.txt +++ b/Documentation/RelNotes/1.5.4.6.adoc diff --git a/Documentation/RelNotes/1.5.4.7.txt b/Documentation/RelNotes/1.5.4.7.adoc index 9065a0e273..9065a0e273 100644 --- a/Documentation/RelNotes/1.5.4.7.txt +++ b/Documentation/RelNotes/1.5.4.7.adoc diff --git a/Documentation/RelNotes/1.5.4.txt b/Documentation/RelNotes/1.5.4.adoc index f1323b6174..f1323b6174 100644 --- a/Documentation/RelNotes/1.5.4.txt +++ b/Documentation/RelNotes/1.5.4.adoc diff --git a/Documentation/RelNotes/1.5.5.1.txt b/Documentation/RelNotes/1.5.5.1.adoc index 7de419708f..7de419708f 100644 --- a/Documentation/RelNotes/1.5.5.1.txt +++ b/Documentation/RelNotes/1.5.5.1.adoc diff --git a/Documentation/RelNotes/1.5.5.2.txt b/Documentation/RelNotes/1.5.5.2.adoc index 391a7b02ea..391a7b02ea 100644 --- a/Documentation/RelNotes/1.5.5.2.txt +++ b/Documentation/RelNotes/1.5.5.2.adoc diff --git a/Documentation/RelNotes/1.5.5.3.txt b/Documentation/RelNotes/1.5.5.3.adoc index f22f98b734..f22f98b734 100644 --- a/Documentation/RelNotes/1.5.5.3.txt +++ b/Documentation/RelNotes/1.5.5.3.adoc diff --git a/Documentation/RelNotes/1.5.5.4.txt b/Documentation/RelNotes/1.5.5.4.adoc index 2d0279ecce..2d0279ecce 100644 --- a/Documentation/RelNotes/1.5.5.4.txt +++ b/Documentation/RelNotes/1.5.5.4.adoc diff --git a/Documentation/RelNotes/1.5.5.5.txt b/Documentation/RelNotes/1.5.5.5.adoc index 30fa3615c7..30fa3615c7 100644 --- a/Documentation/RelNotes/1.5.5.5.txt +++ b/Documentation/RelNotes/1.5.5.5.adoc diff --git a/Documentation/RelNotes/1.5.5.6.txt b/Documentation/RelNotes/1.5.5.6.adoc index d5e85cb70e..d5e85cb70e 100644 --- a/Documentation/RelNotes/1.5.5.6.txt +++ b/Documentation/RelNotes/1.5.5.6.adoc diff --git a/Documentation/RelNotes/1.5.5.txt b/Documentation/RelNotes/1.5.5.adoc index 2932212488..2932212488 100644 --- a/Documentation/RelNotes/1.5.5.txt +++ b/Documentation/RelNotes/1.5.5.adoc diff --git a/Documentation/RelNotes/1.5.6.1.txt b/Documentation/RelNotes/1.5.6.1.adoc index 4864b16445..4864b16445 100644 --- a/Documentation/RelNotes/1.5.6.1.txt +++ b/Documentation/RelNotes/1.5.6.1.adoc diff --git a/Documentation/RelNotes/1.5.6.2.txt b/Documentation/RelNotes/1.5.6.2.adoc index 5902a85a78..5902a85a78 100644 --- a/Documentation/RelNotes/1.5.6.2.txt +++ b/Documentation/RelNotes/1.5.6.2.adoc diff --git a/Documentation/RelNotes/1.5.6.3.txt b/Documentation/RelNotes/1.5.6.3.adoc index f61dd3504a..f61dd3504a 100644 --- a/Documentation/RelNotes/1.5.6.3.txt +++ b/Documentation/RelNotes/1.5.6.3.adoc diff --git a/Documentation/RelNotes/1.5.6.4.txt b/Documentation/RelNotes/1.5.6.4.adoc index d8968f1ecb..d8968f1ecb 100644 --- a/Documentation/RelNotes/1.5.6.4.txt +++ b/Documentation/RelNotes/1.5.6.4.adoc diff --git a/Documentation/RelNotes/1.5.6.5.txt b/Documentation/RelNotes/1.5.6.5.adoc index 47ca172462..47ca172462 100644 --- a/Documentation/RelNotes/1.5.6.5.txt +++ b/Documentation/RelNotes/1.5.6.5.adoc diff --git a/Documentation/RelNotes/1.5.6.6.txt b/Documentation/RelNotes/1.5.6.6.adoc index 79da23db5a..79da23db5a 100644 --- a/Documentation/RelNotes/1.5.6.6.txt +++ b/Documentation/RelNotes/1.5.6.6.adoc diff --git a/Documentation/RelNotes/1.5.6.txt b/Documentation/RelNotes/1.5.6.adoc index e143d8d61b..e143d8d61b 100644 --- a/Documentation/RelNotes/1.5.6.txt +++ b/Documentation/RelNotes/1.5.6.adoc diff --git a/Documentation/RelNotes/1.6.0.1.txt b/Documentation/RelNotes/1.6.0.1.adoc index 49d7a1cafa..49d7a1cafa 100644 --- a/Documentation/RelNotes/1.6.0.1.txt +++ b/Documentation/RelNotes/1.6.0.1.adoc diff --git a/Documentation/RelNotes/1.6.0.2.txt b/Documentation/RelNotes/1.6.0.2.adoc index 7d8fb85e1b..7d8fb85e1b 100644 --- a/Documentation/RelNotes/1.6.0.2.txt +++ b/Documentation/RelNotes/1.6.0.2.adoc diff --git a/Documentation/RelNotes/1.6.0.3.txt b/Documentation/RelNotes/1.6.0.3.adoc index ad36c0f0b7..ad36c0f0b7 100644 --- a/Documentation/RelNotes/1.6.0.3.txt +++ b/Documentation/RelNotes/1.6.0.3.adoc diff --git a/Documentation/RelNotes/1.6.0.4.txt b/Documentation/RelNotes/1.6.0.4.adoc index d522661d31..d522661d31 100644 --- a/Documentation/RelNotes/1.6.0.4.txt +++ b/Documentation/RelNotes/1.6.0.4.adoc diff --git a/Documentation/RelNotes/1.6.0.5.txt b/Documentation/RelNotes/1.6.0.5.adoc index a08bb96738..a08bb96738 100644 --- a/Documentation/RelNotes/1.6.0.5.txt +++ b/Documentation/RelNotes/1.6.0.5.adoc diff --git a/Documentation/RelNotes/1.6.0.6.txt b/Documentation/RelNotes/1.6.0.6.adoc index 64ece1ffd5..64ece1ffd5 100644 --- a/Documentation/RelNotes/1.6.0.6.txt +++ b/Documentation/RelNotes/1.6.0.6.adoc diff --git a/Documentation/RelNotes/1.6.0.txt b/Documentation/RelNotes/1.6.0.adoc index de7ef166b6..de7ef166b6 100644 --- a/Documentation/RelNotes/1.6.0.txt +++ b/Documentation/RelNotes/1.6.0.adoc diff --git a/Documentation/RelNotes/1.6.1.1.txt b/Documentation/RelNotes/1.6.1.1.adoc index 8c594ba02f..8c594ba02f 100644 --- a/Documentation/RelNotes/1.6.1.1.txt +++ b/Documentation/RelNotes/1.6.1.1.adoc diff --git a/Documentation/RelNotes/1.6.1.2.txt b/Documentation/RelNotes/1.6.1.2.adoc index be37cbb858..be37cbb858 100644 --- a/Documentation/RelNotes/1.6.1.2.txt +++ b/Documentation/RelNotes/1.6.1.2.adoc diff --git a/Documentation/RelNotes/1.6.1.3.txt b/Documentation/RelNotes/1.6.1.3.adoc index cd08d8174e..cd08d8174e 100644 --- a/Documentation/RelNotes/1.6.1.3.txt +++ b/Documentation/RelNotes/1.6.1.3.adoc diff --git a/Documentation/RelNotes/1.6.1.4.txt b/Documentation/RelNotes/1.6.1.4.adoc index ccbad794c0..ccbad794c0 100644 --- a/Documentation/RelNotes/1.6.1.4.txt +++ b/Documentation/RelNotes/1.6.1.4.adoc diff --git a/Documentation/RelNotes/1.6.1.txt b/Documentation/RelNotes/1.6.1.adoc index 7b152a6fdc..7b152a6fdc 100644 --- a/Documentation/RelNotes/1.6.1.txt +++ b/Documentation/RelNotes/1.6.1.adoc diff --git a/Documentation/RelNotes/1.6.2.1.txt b/Documentation/RelNotes/1.6.2.1.adoc index dfa36416af..dfa36416af 100644 --- a/Documentation/RelNotes/1.6.2.1.txt +++ b/Documentation/RelNotes/1.6.2.1.adoc diff --git a/Documentation/RelNotes/1.6.2.2.txt b/Documentation/RelNotes/1.6.2.2.adoc index fafa9986b0..fafa9986b0 100644 --- a/Documentation/RelNotes/1.6.2.2.txt +++ b/Documentation/RelNotes/1.6.2.2.adoc diff --git a/Documentation/RelNotes/1.6.2.3.txt b/Documentation/RelNotes/1.6.2.3.adoc index 4d3c1ac91c..4d3c1ac91c 100644 --- a/Documentation/RelNotes/1.6.2.3.txt +++ b/Documentation/RelNotes/1.6.2.3.adoc diff --git a/Documentation/RelNotes/1.6.2.4.txt b/Documentation/RelNotes/1.6.2.4.adoc index f4bf1d0986..f4bf1d0986 100644 --- a/Documentation/RelNotes/1.6.2.4.txt +++ b/Documentation/RelNotes/1.6.2.4.adoc diff --git a/Documentation/RelNotes/1.6.2.5.txt b/Documentation/RelNotes/1.6.2.5.adoc index b23f9e95d1..b23f9e95d1 100644 --- a/Documentation/RelNotes/1.6.2.5.txt +++ b/Documentation/RelNotes/1.6.2.5.adoc diff --git a/Documentation/RelNotes/1.6.2.txt b/Documentation/RelNotes/1.6.2.adoc index 166d73c60f..166d73c60f 100644 --- a/Documentation/RelNotes/1.6.2.txt +++ b/Documentation/RelNotes/1.6.2.adoc diff --git a/Documentation/RelNotes/1.6.3.1.txt b/Documentation/RelNotes/1.6.3.1.adoc index 2400b72ef7..2400b72ef7 100644 --- a/Documentation/RelNotes/1.6.3.1.txt +++ b/Documentation/RelNotes/1.6.3.1.adoc diff --git a/Documentation/RelNotes/1.6.3.2.txt b/Documentation/RelNotes/1.6.3.2.adoc index b2f3f0293c..b2f3f0293c 100644 --- a/Documentation/RelNotes/1.6.3.2.txt +++ b/Documentation/RelNotes/1.6.3.2.adoc diff --git a/Documentation/RelNotes/1.6.3.3.txt b/Documentation/RelNotes/1.6.3.3.adoc index 1c28398bb6..1c28398bb6 100644 --- a/Documentation/RelNotes/1.6.3.3.txt +++ b/Documentation/RelNotes/1.6.3.3.adoc diff --git a/Documentation/RelNotes/1.6.3.4.txt b/Documentation/RelNotes/1.6.3.4.adoc index cad461bc76..cad461bc76 100644 --- a/Documentation/RelNotes/1.6.3.4.txt +++ b/Documentation/RelNotes/1.6.3.4.adoc diff --git a/Documentation/RelNotes/1.6.3.txt b/Documentation/RelNotes/1.6.3.adoc index bbf177fc3c..bbf177fc3c 100644 --- a/Documentation/RelNotes/1.6.3.txt +++ b/Documentation/RelNotes/1.6.3.adoc diff --git a/Documentation/RelNotes/1.6.4.1.txt b/Documentation/RelNotes/1.6.4.1.adoc index e439e45b96..e439e45b96 100644 --- a/Documentation/RelNotes/1.6.4.1.txt +++ b/Documentation/RelNotes/1.6.4.1.adoc diff --git a/Documentation/RelNotes/1.6.4.2.txt b/Documentation/RelNotes/1.6.4.2.adoc index c11ec0115c..c11ec0115c 100644 --- a/Documentation/RelNotes/1.6.4.2.txt +++ b/Documentation/RelNotes/1.6.4.2.adoc diff --git a/Documentation/RelNotes/1.6.4.3.txt b/Documentation/RelNotes/1.6.4.3.adoc index 5643e6537d..5643e6537d 100644 --- a/Documentation/RelNotes/1.6.4.3.txt +++ b/Documentation/RelNotes/1.6.4.3.adoc diff --git a/Documentation/RelNotes/1.6.4.4.txt b/Documentation/RelNotes/1.6.4.4.adoc index 0ead45fc72..0ead45fc72 100644 --- a/Documentation/RelNotes/1.6.4.4.txt +++ b/Documentation/RelNotes/1.6.4.4.adoc diff --git a/Documentation/RelNotes/1.6.4.5.txt b/Documentation/RelNotes/1.6.4.5.adoc index eb6307dcbb..eb6307dcbb 100644 --- a/Documentation/RelNotes/1.6.4.5.txt +++ b/Documentation/RelNotes/1.6.4.5.adoc diff --git a/Documentation/RelNotes/1.6.4.txt b/Documentation/RelNotes/1.6.4.adoc index 0fccfb0bf0..0fccfb0bf0 100644 --- a/Documentation/RelNotes/1.6.4.txt +++ b/Documentation/RelNotes/1.6.4.adoc diff --git a/Documentation/RelNotes/1.6.5.1.txt b/Documentation/RelNotes/1.6.5.1.adoc index 309ba181b2..309ba181b2 100644 --- a/Documentation/RelNotes/1.6.5.1.txt +++ b/Documentation/RelNotes/1.6.5.1.adoc diff --git a/Documentation/RelNotes/1.6.5.2.txt b/Documentation/RelNotes/1.6.5.2.adoc index aa7ccce3a2..aa7ccce3a2 100644 --- a/Documentation/RelNotes/1.6.5.2.txt +++ b/Documentation/RelNotes/1.6.5.2.adoc diff --git a/Documentation/RelNotes/1.6.5.3.txt b/Documentation/RelNotes/1.6.5.3.adoc index b2fad1b22e..b2fad1b22e 100644 --- a/Documentation/RelNotes/1.6.5.3.txt +++ b/Documentation/RelNotes/1.6.5.3.adoc diff --git a/Documentation/RelNotes/1.6.5.4.txt b/Documentation/RelNotes/1.6.5.4.adoc index 344333de66..344333de66 100644 --- a/Documentation/RelNotes/1.6.5.4.txt +++ b/Documentation/RelNotes/1.6.5.4.adoc diff --git a/Documentation/RelNotes/1.6.5.5.txt b/Documentation/RelNotes/1.6.5.5.adoc index ecfc57d875..ecfc57d875 100644 --- a/Documentation/RelNotes/1.6.5.5.txt +++ b/Documentation/RelNotes/1.6.5.5.adoc diff --git a/Documentation/RelNotes/1.6.5.6.txt b/Documentation/RelNotes/1.6.5.6.adoc index a9eaf76f62..a9eaf76f62 100644 --- a/Documentation/RelNotes/1.6.5.6.txt +++ b/Documentation/RelNotes/1.6.5.6.adoc diff --git a/Documentation/RelNotes/1.6.5.7.txt b/Documentation/RelNotes/1.6.5.7.adoc index dc5302c21c..dc5302c21c 100644 --- a/Documentation/RelNotes/1.6.5.7.txt +++ b/Documentation/RelNotes/1.6.5.7.adoc diff --git a/Documentation/RelNotes/1.6.5.8.txt b/Documentation/RelNotes/1.6.5.8.adoc index 8b24bebb96..8b24bebb96 100644 --- a/Documentation/RelNotes/1.6.5.8.txt +++ b/Documentation/RelNotes/1.6.5.8.adoc diff --git a/Documentation/RelNotes/1.6.5.9.txt b/Documentation/RelNotes/1.6.5.9.adoc index bb469dd71e..bb469dd71e 100644 --- a/Documentation/RelNotes/1.6.5.9.txt +++ b/Documentation/RelNotes/1.6.5.9.adoc diff --git a/Documentation/RelNotes/1.6.5.txt b/Documentation/RelNotes/1.6.5.adoc index 79cb1b2b6d..79cb1b2b6d 100644 --- a/Documentation/RelNotes/1.6.5.txt +++ b/Documentation/RelNotes/1.6.5.adoc diff --git a/Documentation/RelNotes/1.6.6.1.txt b/Documentation/RelNotes/1.6.6.1.adoc index f1d0a4ae2d..f1d0a4ae2d 100644 --- a/Documentation/RelNotes/1.6.6.1.txt +++ b/Documentation/RelNotes/1.6.6.1.adoc diff --git a/Documentation/RelNotes/1.6.6.2.txt b/Documentation/RelNotes/1.6.6.2.adoc index 4eaddc0106..4eaddc0106 100644 --- a/Documentation/RelNotes/1.6.6.2.txt +++ b/Documentation/RelNotes/1.6.6.2.adoc diff --git a/Documentation/RelNotes/1.6.6.3.txt b/Documentation/RelNotes/1.6.6.3.adoc index 11483acaec..11483acaec 100644 --- a/Documentation/RelNotes/1.6.6.3.txt +++ b/Documentation/RelNotes/1.6.6.3.adoc diff --git a/Documentation/RelNotes/1.6.6.txt b/Documentation/RelNotes/1.6.6.adoc index 88b86a827e..88b86a827e 100644 --- a/Documentation/RelNotes/1.6.6.txt +++ b/Documentation/RelNotes/1.6.6.adoc diff --git a/Documentation/RelNotes/1.7.0.1.txt b/Documentation/RelNotes/1.7.0.1.adoc index 8ff5bcada8..8ff5bcada8 100644 --- a/Documentation/RelNotes/1.7.0.1.txt +++ b/Documentation/RelNotes/1.7.0.1.adoc diff --git a/Documentation/RelNotes/1.7.0.2.txt b/Documentation/RelNotes/1.7.0.2.adoc index 73ed2b5278..73ed2b5278 100644 --- a/Documentation/RelNotes/1.7.0.2.txt +++ b/Documentation/RelNotes/1.7.0.2.adoc diff --git a/Documentation/RelNotes/1.7.0.3.txt b/Documentation/RelNotes/1.7.0.3.adoc index 3b355737c0..3b355737c0 100644 --- a/Documentation/RelNotes/1.7.0.3.txt +++ b/Documentation/RelNotes/1.7.0.3.adoc diff --git a/Documentation/RelNotes/1.7.0.4.txt b/Documentation/RelNotes/1.7.0.4.adoc index cf7f60e60d..cf7f60e60d 100644 --- a/Documentation/RelNotes/1.7.0.4.txt +++ b/Documentation/RelNotes/1.7.0.4.adoc diff --git a/Documentation/RelNotes/1.7.0.5.txt b/Documentation/RelNotes/1.7.0.5.adoc index 3149c91b7b..3149c91b7b 100644 --- a/Documentation/RelNotes/1.7.0.5.txt +++ b/Documentation/RelNotes/1.7.0.5.adoc diff --git a/Documentation/RelNotes/1.7.0.6.txt b/Documentation/RelNotes/1.7.0.6.adoc index b2852b67d0..b2852b67d0 100644 --- a/Documentation/RelNotes/1.7.0.6.txt +++ b/Documentation/RelNotes/1.7.0.6.adoc diff --git a/Documentation/RelNotes/1.7.0.7.txt b/Documentation/RelNotes/1.7.0.7.adoc index d0cb7ca7e2..d0cb7ca7e2 100644 --- a/Documentation/RelNotes/1.7.0.7.txt +++ b/Documentation/RelNotes/1.7.0.7.adoc diff --git a/Documentation/RelNotes/1.7.0.8.txt b/Documentation/RelNotes/1.7.0.8.adoc index 7f05b48e17..7f05b48e17 100644 --- a/Documentation/RelNotes/1.7.0.8.txt +++ b/Documentation/RelNotes/1.7.0.8.adoc diff --git a/Documentation/RelNotes/1.7.0.9.txt b/Documentation/RelNotes/1.7.0.9.adoc index bfb3166387..bfb3166387 100644 --- a/Documentation/RelNotes/1.7.0.9.txt +++ b/Documentation/RelNotes/1.7.0.9.adoc diff --git a/Documentation/RelNotes/1.7.0.txt b/Documentation/RelNotes/1.7.0.adoc index 0bb8c0b2a2..0bb8c0b2a2 100644 --- a/Documentation/RelNotes/1.7.0.txt +++ b/Documentation/RelNotes/1.7.0.adoc diff --git a/Documentation/RelNotes/1.7.1.1.txt b/Documentation/RelNotes/1.7.1.1.adoc index 3f6b3148a3..3f6b3148a3 100644 --- a/Documentation/RelNotes/1.7.1.1.txt +++ b/Documentation/RelNotes/1.7.1.1.adoc diff --git a/Documentation/RelNotes/1.7.1.2.txt b/Documentation/RelNotes/1.7.1.2.adoc index 61ba14e262..61ba14e262 100644 --- a/Documentation/RelNotes/1.7.1.2.txt +++ b/Documentation/RelNotes/1.7.1.2.adoc diff --git a/Documentation/RelNotes/1.7.1.3.txt b/Documentation/RelNotes/1.7.1.3.adoc index 5b18518449..5b18518449 100644 --- a/Documentation/RelNotes/1.7.1.3.txt +++ b/Documentation/RelNotes/1.7.1.3.adoc diff --git a/Documentation/RelNotes/1.7.1.4.txt b/Documentation/RelNotes/1.7.1.4.adoc index 7c734b4f7b..7c734b4f7b 100644 --- a/Documentation/RelNotes/1.7.1.4.txt +++ b/Documentation/RelNotes/1.7.1.4.adoc diff --git a/Documentation/RelNotes/1.7.1.txt b/Documentation/RelNotes/1.7.1.adoc index 9d89fedb36..9d89fedb36 100644 --- a/Documentation/RelNotes/1.7.1.txt +++ b/Documentation/RelNotes/1.7.1.adoc diff --git a/Documentation/RelNotes/1.7.10.1.txt b/Documentation/RelNotes/1.7.10.1.adoc index 71a86cb7c6..71a86cb7c6 100644 --- a/Documentation/RelNotes/1.7.10.1.txt +++ b/Documentation/RelNotes/1.7.10.1.adoc diff --git a/Documentation/RelNotes/1.7.10.2.txt b/Documentation/RelNotes/1.7.10.2.adoc index 7a7e9d6fd1..7a7e9d6fd1 100644 --- a/Documentation/RelNotes/1.7.10.2.txt +++ b/Documentation/RelNotes/1.7.10.2.adoc diff --git a/Documentation/RelNotes/1.7.10.3.txt b/Documentation/RelNotes/1.7.10.3.adoc index 703fbf1d60..703fbf1d60 100644 --- a/Documentation/RelNotes/1.7.10.3.txt +++ b/Documentation/RelNotes/1.7.10.3.adoc diff --git a/Documentation/RelNotes/1.7.10.4.txt b/Documentation/RelNotes/1.7.10.4.adoc index 57597f2bf3..57597f2bf3 100644 --- a/Documentation/RelNotes/1.7.10.4.txt +++ b/Documentation/RelNotes/1.7.10.4.adoc diff --git a/Documentation/RelNotes/1.7.10.5.txt b/Documentation/RelNotes/1.7.10.5.adoc index 4db1770e38..4db1770e38 100644 --- a/Documentation/RelNotes/1.7.10.5.txt +++ b/Documentation/RelNotes/1.7.10.5.adoc diff --git a/Documentation/RelNotes/1.7.10.txt b/Documentation/RelNotes/1.7.10.adoc index 58100bf04e..58100bf04e 100644 --- a/Documentation/RelNotes/1.7.10.txt +++ b/Documentation/RelNotes/1.7.10.adoc diff --git a/Documentation/RelNotes/1.7.11.1.txt b/Documentation/RelNotes/1.7.11.1.adoc index 577eccaacd..577eccaacd 100644 --- a/Documentation/RelNotes/1.7.11.1.txt +++ b/Documentation/RelNotes/1.7.11.1.adoc diff --git a/Documentation/RelNotes/1.7.11.2.txt b/Documentation/RelNotes/1.7.11.2.adoc index f0cfd02d6f..f0cfd02d6f 100644 --- a/Documentation/RelNotes/1.7.11.2.txt +++ b/Documentation/RelNotes/1.7.11.2.adoc diff --git a/Documentation/RelNotes/1.7.11.3.txt b/Documentation/RelNotes/1.7.11.3.adoc index 64494f89d9..64494f89d9 100644 --- a/Documentation/RelNotes/1.7.11.3.txt +++ b/Documentation/RelNotes/1.7.11.3.adoc diff --git a/Documentation/RelNotes/1.7.11.4.txt b/Documentation/RelNotes/1.7.11.4.adoc index 3a640c2d4d..3a640c2d4d 100644 --- a/Documentation/RelNotes/1.7.11.4.txt +++ b/Documentation/RelNotes/1.7.11.4.adoc diff --git a/Documentation/RelNotes/1.7.11.5.txt b/Documentation/RelNotes/1.7.11.5.adoc index 0a2ed855c5..0a2ed855c5 100644 --- a/Documentation/RelNotes/1.7.11.5.txt +++ b/Documentation/RelNotes/1.7.11.5.adoc diff --git a/Documentation/RelNotes/1.7.11.6.txt b/Documentation/RelNotes/1.7.11.6.adoc index ba7d3c3966..ba7d3c3966 100644 --- a/Documentation/RelNotes/1.7.11.6.txt +++ b/Documentation/RelNotes/1.7.11.6.adoc diff --git a/Documentation/RelNotes/1.7.11.7.txt b/Documentation/RelNotes/1.7.11.7.adoc index e743a2a8e4..e743a2a8e4 100644 --- a/Documentation/RelNotes/1.7.11.7.txt +++ b/Documentation/RelNotes/1.7.11.7.adoc diff --git a/Documentation/RelNotes/1.7.11.txt b/Documentation/RelNotes/1.7.11.adoc index 15b954ca4b..15b954ca4b 100644 --- a/Documentation/RelNotes/1.7.11.txt +++ b/Documentation/RelNotes/1.7.11.adoc diff --git a/Documentation/RelNotes/1.7.12.1.txt b/Documentation/RelNotes/1.7.12.1.adoc index b8f04af19f..b8f04af19f 100644 --- a/Documentation/RelNotes/1.7.12.1.txt +++ b/Documentation/RelNotes/1.7.12.1.adoc diff --git a/Documentation/RelNotes/1.7.12.2.txt b/Documentation/RelNotes/1.7.12.2.adoc index 69255745e6..69255745e6 100644 --- a/Documentation/RelNotes/1.7.12.2.txt +++ b/Documentation/RelNotes/1.7.12.2.adoc diff --git a/Documentation/RelNotes/1.7.12.3.txt b/Documentation/RelNotes/1.7.12.3.adoc index 4b822976b8..4b822976b8 100644 --- a/Documentation/RelNotes/1.7.12.3.txt +++ b/Documentation/RelNotes/1.7.12.3.adoc diff --git a/Documentation/RelNotes/1.7.12.4.txt b/Documentation/RelNotes/1.7.12.4.adoc index c6da3cc939..c6da3cc939 100644 --- a/Documentation/RelNotes/1.7.12.4.txt +++ b/Documentation/RelNotes/1.7.12.4.adoc diff --git a/Documentation/RelNotes/1.7.12.txt b/Documentation/RelNotes/1.7.12.adoc index 010d8c7de4..010d8c7de4 100644 --- a/Documentation/RelNotes/1.7.12.txt +++ b/Documentation/RelNotes/1.7.12.adoc diff --git a/Documentation/RelNotes/1.7.2.1.txt b/Documentation/RelNotes/1.7.2.1.adoc index 1103c47a4f..1103c47a4f 100644 --- a/Documentation/RelNotes/1.7.2.1.txt +++ b/Documentation/RelNotes/1.7.2.1.adoc diff --git a/Documentation/RelNotes/1.7.2.2.txt b/Documentation/RelNotes/1.7.2.2.adoc index 71eb6a8b0a..71eb6a8b0a 100644 --- a/Documentation/RelNotes/1.7.2.2.txt +++ b/Documentation/RelNotes/1.7.2.2.adoc diff --git a/Documentation/RelNotes/1.7.2.3.txt b/Documentation/RelNotes/1.7.2.3.adoc index 610960cfe1..610960cfe1 100644 --- a/Documentation/RelNotes/1.7.2.3.txt +++ b/Documentation/RelNotes/1.7.2.3.adoc diff --git a/Documentation/RelNotes/1.7.2.4.txt b/Documentation/RelNotes/1.7.2.4.adoc index f7950a4c04..f7950a4c04 100644 --- a/Documentation/RelNotes/1.7.2.4.txt +++ b/Documentation/RelNotes/1.7.2.4.adoc diff --git a/Documentation/RelNotes/1.7.2.5.txt b/Documentation/RelNotes/1.7.2.5.adoc index bf976c40db..bf976c40db 100644 --- a/Documentation/RelNotes/1.7.2.5.txt +++ b/Documentation/RelNotes/1.7.2.5.adoc diff --git a/Documentation/RelNotes/1.7.2.txt b/Documentation/RelNotes/1.7.2.adoc index 15cf01178c..15cf01178c 100644 --- a/Documentation/RelNotes/1.7.2.txt +++ b/Documentation/RelNotes/1.7.2.adoc diff --git a/Documentation/RelNotes/1.7.3.1.txt b/Documentation/RelNotes/1.7.3.1.adoc index 002c93b961..002c93b961 100644 --- a/Documentation/RelNotes/1.7.3.1.txt +++ b/Documentation/RelNotes/1.7.3.1.adoc diff --git a/Documentation/RelNotes/1.7.3.2.txt b/Documentation/RelNotes/1.7.3.2.adoc index 5c93b85af4..5c93b85af4 100644 --- a/Documentation/RelNotes/1.7.3.2.txt +++ b/Documentation/RelNotes/1.7.3.2.adoc diff --git a/Documentation/RelNotes/1.7.3.3.txt b/Documentation/RelNotes/1.7.3.3.adoc index 9b2b2448df..9b2b2448df 100644 --- a/Documentation/RelNotes/1.7.3.3.txt +++ b/Documentation/RelNotes/1.7.3.3.adoc diff --git a/Documentation/RelNotes/1.7.3.4.txt b/Documentation/RelNotes/1.7.3.4.adoc index e57f7c176d..e57f7c176d 100644 --- a/Documentation/RelNotes/1.7.3.4.txt +++ b/Documentation/RelNotes/1.7.3.4.adoc diff --git a/Documentation/RelNotes/1.7.3.5.txt b/Documentation/RelNotes/1.7.3.5.adoc index 40f3ba5795..40f3ba5795 100644 --- a/Documentation/RelNotes/1.7.3.5.txt +++ b/Documentation/RelNotes/1.7.3.5.adoc diff --git a/Documentation/RelNotes/1.7.3.txt b/Documentation/RelNotes/1.7.3.adoc index 309c33181f..309c33181f 100644 --- a/Documentation/RelNotes/1.7.3.txt +++ b/Documentation/RelNotes/1.7.3.adoc diff --git a/Documentation/RelNotes/1.7.4.1.txt b/Documentation/RelNotes/1.7.4.1.adoc index 79923a6d2f..79923a6d2f 100644 --- a/Documentation/RelNotes/1.7.4.1.txt +++ b/Documentation/RelNotes/1.7.4.1.adoc diff --git a/Documentation/RelNotes/1.7.4.2.txt b/Documentation/RelNotes/1.7.4.2.adoc index ef4ce1fcd3..ef4ce1fcd3 100644 --- a/Documentation/RelNotes/1.7.4.2.txt +++ b/Documentation/RelNotes/1.7.4.2.adoc diff --git a/Documentation/RelNotes/1.7.4.3.txt b/Documentation/RelNotes/1.7.4.3.adoc index 02a3d5bdf6..02a3d5bdf6 100644 --- a/Documentation/RelNotes/1.7.4.3.txt +++ b/Documentation/RelNotes/1.7.4.3.adoc diff --git a/Documentation/RelNotes/1.7.4.4.txt b/Documentation/RelNotes/1.7.4.4.adoc index ff06e04a58..ff06e04a58 100644 --- a/Documentation/RelNotes/1.7.4.4.txt +++ b/Documentation/RelNotes/1.7.4.4.adoc diff --git a/Documentation/RelNotes/1.7.4.5.txt b/Documentation/RelNotes/1.7.4.5.adoc index b7a0eeb22f..b7a0eeb22f 100644 --- a/Documentation/RelNotes/1.7.4.5.txt +++ b/Documentation/RelNotes/1.7.4.5.adoc diff --git a/Documentation/RelNotes/1.7.4.txt b/Documentation/RelNotes/1.7.4.adoc index d5bca731b5..d5bca731b5 100644 --- a/Documentation/RelNotes/1.7.4.txt +++ b/Documentation/RelNotes/1.7.4.adoc diff --git a/Documentation/RelNotes/1.7.5.1.txt b/Documentation/RelNotes/1.7.5.1.adoc index c6ebd76d19..c6ebd76d19 100644 --- a/Documentation/RelNotes/1.7.5.1.txt +++ b/Documentation/RelNotes/1.7.5.1.adoc diff --git a/Documentation/RelNotes/1.7.5.2.txt b/Documentation/RelNotes/1.7.5.2.adoc index 951eb7cb08..951eb7cb08 100644 --- a/Documentation/RelNotes/1.7.5.2.txt +++ b/Documentation/RelNotes/1.7.5.2.adoc diff --git a/Documentation/RelNotes/1.7.5.3.txt b/Documentation/RelNotes/1.7.5.3.adoc index 1d24edcf2f..1d24edcf2f 100644 --- a/Documentation/RelNotes/1.7.5.3.txt +++ b/Documentation/RelNotes/1.7.5.3.adoc diff --git a/Documentation/RelNotes/1.7.5.4.txt b/Documentation/RelNotes/1.7.5.4.adoc index 7796df3fe4..7796df3fe4 100644 --- a/Documentation/RelNotes/1.7.5.4.txt +++ b/Documentation/RelNotes/1.7.5.4.adoc diff --git a/Documentation/RelNotes/1.7.5.txt b/Documentation/RelNotes/1.7.5.adoc index 987919c321..987919c321 100644 --- a/Documentation/RelNotes/1.7.5.txt +++ b/Documentation/RelNotes/1.7.5.adoc diff --git a/Documentation/RelNotes/1.7.6.1.txt b/Documentation/RelNotes/1.7.6.1.adoc index 42e46ab17f..42e46ab17f 100644 --- a/Documentation/RelNotes/1.7.6.1.txt +++ b/Documentation/RelNotes/1.7.6.1.adoc diff --git a/Documentation/RelNotes/1.7.6.2.txt b/Documentation/RelNotes/1.7.6.2.adoc index 67ae414965..67ae414965 100644 --- a/Documentation/RelNotes/1.7.6.2.txt +++ b/Documentation/RelNotes/1.7.6.2.adoc diff --git a/Documentation/RelNotes/1.7.6.3.txt b/Documentation/RelNotes/1.7.6.3.adoc index 95971831b9..95971831b9 100644 --- a/Documentation/RelNotes/1.7.6.3.txt +++ b/Documentation/RelNotes/1.7.6.3.adoc diff --git a/Documentation/RelNotes/1.7.6.4.txt b/Documentation/RelNotes/1.7.6.4.adoc index e19acac2da..e19acac2da 100644 --- a/Documentation/RelNotes/1.7.6.4.txt +++ b/Documentation/RelNotes/1.7.6.4.adoc diff --git a/Documentation/RelNotes/1.7.6.5.txt b/Documentation/RelNotes/1.7.6.5.adoc index 6713132a9e..6713132a9e 100644 --- a/Documentation/RelNotes/1.7.6.5.txt +++ b/Documentation/RelNotes/1.7.6.5.adoc diff --git a/Documentation/RelNotes/1.7.6.6.txt b/Documentation/RelNotes/1.7.6.6.adoc index 5343e00400..5343e00400 100644 --- a/Documentation/RelNotes/1.7.6.6.txt +++ b/Documentation/RelNotes/1.7.6.6.adoc diff --git a/Documentation/RelNotes/1.7.6.txt b/Documentation/RelNotes/1.7.6.adoc index 9ec498ea39..9ec498ea39 100644 --- a/Documentation/RelNotes/1.7.6.txt +++ b/Documentation/RelNotes/1.7.6.adoc diff --git a/Documentation/RelNotes/1.7.7.1.txt b/Documentation/RelNotes/1.7.7.1.adoc index ac9b838e25..ac9b838e25 100644 --- a/Documentation/RelNotes/1.7.7.1.txt +++ b/Documentation/RelNotes/1.7.7.1.adoc diff --git a/Documentation/RelNotes/1.7.7.2.txt b/Documentation/RelNotes/1.7.7.2.adoc index e6bbef2f01..e6bbef2f01 100644 --- a/Documentation/RelNotes/1.7.7.2.txt +++ b/Documentation/RelNotes/1.7.7.2.adoc diff --git a/Documentation/RelNotes/1.7.7.3.txt b/Documentation/RelNotes/1.7.7.3.adoc index 09301f0957..09301f0957 100644 --- a/Documentation/RelNotes/1.7.7.3.txt +++ b/Documentation/RelNotes/1.7.7.3.adoc diff --git a/Documentation/RelNotes/1.7.7.4.txt b/Documentation/RelNotes/1.7.7.4.adoc index e5234485e7..e5234485e7 100644 --- a/Documentation/RelNotes/1.7.7.4.txt +++ b/Documentation/RelNotes/1.7.7.4.adoc diff --git a/Documentation/RelNotes/1.7.7.5.txt b/Documentation/RelNotes/1.7.7.5.adoc index 7b0931987b..7b0931987b 100644 --- a/Documentation/RelNotes/1.7.7.5.txt +++ b/Documentation/RelNotes/1.7.7.5.adoc diff --git a/Documentation/RelNotes/1.7.7.6.txt b/Documentation/RelNotes/1.7.7.6.adoc index 8df606d452..8df606d452 100644 --- a/Documentation/RelNotes/1.7.7.6.txt +++ b/Documentation/RelNotes/1.7.7.6.adoc diff --git a/Documentation/RelNotes/1.7.7.7.txt b/Documentation/RelNotes/1.7.7.7.adoc index e79118d063..e79118d063 100644 --- a/Documentation/RelNotes/1.7.7.7.txt +++ b/Documentation/RelNotes/1.7.7.7.adoc diff --git a/Documentation/RelNotes/1.7.7.txt b/Documentation/RelNotes/1.7.7.adoc index 6eff128c80..6eff128c80 100644 --- a/Documentation/RelNotes/1.7.7.txt +++ b/Documentation/RelNotes/1.7.7.adoc diff --git a/Documentation/RelNotes/1.7.8.1.txt b/Documentation/RelNotes/1.7.8.1.adoc index 33dc948b94..33dc948b94 100644 --- a/Documentation/RelNotes/1.7.8.1.txt +++ b/Documentation/RelNotes/1.7.8.1.adoc diff --git a/Documentation/RelNotes/1.7.8.2.txt b/Documentation/RelNotes/1.7.8.2.adoc index b9c66aa1b7..b9c66aa1b7 100644 --- a/Documentation/RelNotes/1.7.8.2.txt +++ b/Documentation/RelNotes/1.7.8.2.adoc diff --git a/Documentation/RelNotes/1.7.8.3.txt b/Documentation/RelNotes/1.7.8.3.adoc index a92714c14b..a92714c14b 100644 --- a/Documentation/RelNotes/1.7.8.3.txt +++ b/Documentation/RelNotes/1.7.8.3.adoc diff --git a/Documentation/RelNotes/1.7.8.4.txt b/Documentation/RelNotes/1.7.8.4.adoc index 9bebdbf13d..9bebdbf13d 100644 --- a/Documentation/RelNotes/1.7.8.4.txt +++ b/Documentation/RelNotes/1.7.8.4.adoc diff --git a/Documentation/RelNotes/1.7.8.5.txt b/Documentation/RelNotes/1.7.8.5.adoc index 011fd2a428..011fd2a428 100644 --- a/Documentation/RelNotes/1.7.8.5.txt +++ b/Documentation/RelNotes/1.7.8.5.adoc diff --git a/Documentation/RelNotes/1.7.8.6.txt b/Documentation/RelNotes/1.7.8.6.adoc index d9bf2b741a..d9bf2b741a 100644 --- a/Documentation/RelNotes/1.7.8.6.txt +++ b/Documentation/RelNotes/1.7.8.6.adoc diff --git a/Documentation/RelNotes/1.7.8.txt b/Documentation/RelNotes/1.7.8.adoc index 249311361e..249311361e 100644 --- a/Documentation/RelNotes/1.7.8.txt +++ b/Documentation/RelNotes/1.7.8.adoc diff --git a/Documentation/RelNotes/1.7.9.1.txt b/Documentation/RelNotes/1.7.9.1.adoc index 6957183dbb..6957183dbb 100644 --- a/Documentation/RelNotes/1.7.9.1.txt +++ b/Documentation/RelNotes/1.7.9.1.adoc diff --git a/Documentation/RelNotes/1.7.9.2.txt b/Documentation/RelNotes/1.7.9.2.adoc index e500da75dd..e500da75dd 100644 --- a/Documentation/RelNotes/1.7.9.2.txt +++ b/Documentation/RelNotes/1.7.9.2.adoc diff --git a/Documentation/RelNotes/1.7.9.3.txt b/Documentation/RelNotes/1.7.9.3.adoc index 91c65012f9..91c65012f9 100644 --- a/Documentation/RelNotes/1.7.9.3.txt +++ b/Documentation/RelNotes/1.7.9.3.adoc diff --git a/Documentation/RelNotes/1.7.9.4.txt b/Documentation/RelNotes/1.7.9.4.adoc index e5217a1889..e5217a1889 100644 --- a/Documentation/RelNotes/1.7.9.4.txt +++ b/Documentation/RelNotes/1.7.9.4.adoc diff --git a/Documentation/RelNotes/1.7.9.5.txt b/Documentation/RelNotes/1.7.9.5.adoc index 95cc2bbf2c..95cc2bbf2c 100644 --- a/Documentation/RelNotes/1.7.9.5.txt +++ b/Documentation/RelNotes/1.7.9.5.adoc diff --git a/Documentation/RelNotes/1.7.9.6.txt b/Documentation/RelNotes/1.7.9.6.adoc index 74bf8825e2..74bf8825e2 100644 --- a/Documentation/RelNotes/1.7.9.6.txt +++ b/Documentation/RelNotes/1.7.9.6.adoc diff --git a/Documentation/RelNotes/1.7.9.7.txt b/Documentation/RelNotes/1.7.9.7.adoc index 59667d0f2a..59667d0f2a 100644 --- a/Documentation/RelNotes/1.7.9.7.txt +++ b/Documentation/RelNotes/1.7.9.7.adoc diff --git a/Documentation/RelNotes/1.7.9.txt b/Documentation/RelNotes/1.7.9.adoc index 95320aad5d..95320aad5d 100644 --- a/Documentation/RelNotes/1.7.9.txt +++ b/Documentation/RelNotes/1.7.9.adoc diff --git a/Documentation/RelNotes/1.8.0.1.txt b/Documentation/RelNotes/1.8.0.1.adoc index 1f372fa0b5..1f372fa0b5 100644 --- a/Documentation/RelNotes/1.8.0.1.txt +++ b/Documentation/RelNotes/1.8.0.1.adoc diff --git a/Documentation/RelNotes/1.8.0.2.txt b/Documentation/RelNotes/1.8.0.2.adoc index 8497e051de..8497e051de 100644 --- a/Documentation/RelNotes/1.8.0.2.txt +++ b/Documentation/RelNotes/1.8.0.2.adoc diff --git a/Documentation/RelNotes/1.8.0.3.txt b/Documentation/RelNotes/1.8.0.3.adoc index 92b1e4b363..92b1e4b363 100644 --- a/Documentation/RelNotes/1.8.0.3.txt +++ b/Documentation/RelNotes/1.8.0.3.adoc diff --git a/Documentation/RelNotes/1.8.0.txt b/Documentation/RelNotes/1.8.0.adoc index 63d6e4afa4..63d6e4afa4 100644 --- a/Documentation/RelNotes/1.8.0.txt +++ b/Documentation/RelNotes/1.8.0.adoc diff --git a/Documentation/RelNotes/1.8.1.1.txt b/Documentation/RelNotes/1.8.1.1.adoc index 6cde07ba29..6cde07ba29 100644 --- a/Documentation/RelNotes/1.8.1.1.txt +++ b/Documentation/RelNotes/1.8.1.1.adoc diff --git a/Documentation/RelNotes/1.8.1.2.txt b/Documentation/RelNotes/1.8.1.2.adoc index 5ab7b18906..5ab7b18906 100644 --- a/Documentation/RelNotes/1.8.1.2.txt +++ b/Documentation/RelNotes/1.8.1.2.adoc diff --git a/Documentation/RelNotes/1.8.1.3.txt b/Documentation/RelNotes/1.8.1.3.adoc index 681cb35c0a..681cb35c0a 100644 --- a/Documentation/RelNotes/1.8.1.3.txt +++ b/Documentation/RelNotes/1.8.1.3.adoc diff --git a/Documentation/RelNotes/1.8.1.4.txt b/Documentation/RelNotes/1.8.1.4.adoc index 22af1d1643..22af1d1643 100644 --- a/Documentation/RelNotes/1.8.1.4.txt +++ b/Documentation/RelNotes/1.8.1.4.adoc diff --git a/Documentation/RelNotes/1.8.1.5.txt b/Documentation/RelNotes/1.8.1.5.adoc index efa68aef22..efa68aef22 100644 --- a/Documentation/RelNotes/1.8.1.5.txt +++ b/Documentation/RelNotes/1.8.1.5.adoc diff --git a/Documentation/RelNotes/1.8.1.6.txt b/Documentation/RelNotes/1.8.1.6.adoc index c15cf2e805..c15cf2e805 100644 --- a/Documentation/RelNotes/1.8.1.6.txt +++ b/Documentation/RelNotes/1.8.1.6.adoc diff --git a/Documentation/RelNotes/1.8.1.txt b/Documentation/RelNotes/1.8.1.adoc index d6f9555923..d6f9555923 100644 --- a/Documentation/RelNotes/1.8.1.txt +++ b/Documentation/RelNotes/1.8.1.adoc diff --git a/Documentation/RelNotes/1.8.2.1.txt b/Documentation/RelNotes/1.8.2.1.adoc index 769a6fc06c..769a6fc06c 100644 --- a/Documentation/RelNotes/1.8.2.1.txt +++ b/Documentation/RelNotes/1.8.2.1.adoc diff --git a/Documentation/RelNotes/1.8.2.2.txt b/Documentation/RelNotes/1.8.2.2.adoc index 708df1ae19..708df1ae19 100644 --- a/Documentation/RelNotes/1.8.2.2.txt +++ b/Documentation/RelNotes/1.8.2.2.adoc diff --git a/Documentation/RelNotes/1.8.2.3.txt b/Documentation/RelNotes/1.8.2.3.adoc index 613948251a..613948251a 100644 --- a/Documentation/RelNotes/1.8.2.3.txt +++ b/Documentation/RelNotes/1.8.2.3.adoc diff --git a/Documentation/RelNotes/1.8.2.txt b/Documentation/RelNotes/1.8.2.adoc index fc606ae116..fc606ae116 100644 --- a/Documentation/RelNotes/1.8.2.txt +++ b/Documentation/RelNotes/1.8.2.adoc diff --git a/Documentation/RelNotes/1.8.3.1.txt b/Documentation/RelNotes/1.8.3.1.adoc index 986637b755..986637b755 100644 --- a/Documentation/RelNotes/1.8.3.1.txt +++ b/Documentation/RelNotes/1.8.3.1.adoc diff --git a/Documentation/RelNotes/1.8.3.2.txt b/Documentation/RelNotes/1.8.3.2.adoc index 26ae142c3d..26ae142c3d 100644 --- a/Documentation/RelNotes/1.8.3.2.txt +++ b/Documentation/RelNotes/1.8.3.2.adoc diff --git a/Documentation/RelNotes/1.8.3.3.txt b/Documentation/RelNotes/1.8.3.3.adoc index 9ba4f4da0f..9ba4f4da0f 100644 --- a/Documentation/RelNotes/1.8.3.3.txt +++ b/Documentation/RelNotes/1.8.3.3.adoc diff --git a/Documentation/RelNotes/1.8.3.4.txt b/Documentation/RelNotes/1.8.3.4.adoc index 56f106e262..56f106e262 100644 --- a/Documentation/RelNotes/1.8.3.4.txt +++ b/Documentation/RelNotes/1.8.3.4.adoc diff --git a/Documentation/RelNotes/1.8.3.txt b/Documentation/RelNotes/1.8.3.adoc index ead568e7f1..ead568e7f1 100644 --- a/Documentation/RelNotes/1.8.3.txt +++ b/Documentation/RelNotes/1.8.3.adoc diff --git a/Documentation/RelNotes/1.8.4.1.txt b/Documentation/RelNotes/1.8.4.1.adoc index c257beb114..c257beb114 100644 --- a/Documentation/RelNotes/1.8.4.1.txt +++ b/Documentation/RelNotes/1.8.4.1.adoc diff --git a/Documentation/RelNotes/1.8.4.2.txt b/Documentation/RelNotes/1.8.4.2.adoc index bf6fb1a023..bf6fb1a023 100644 --- a/Documentation/RelNotes/1.8.4.2.txt +++ b/Documentation/RelNotes/1.8.4.2.adoc diff --git a/Documentation/RelNotes/1.8.4.3.txt b/Documentation/RelNotes/1.8.4.3.adoc index 267a1b34b4..267a1b34b4 100644 --- a/Documentation/RelNotes/1.8.4.3.txt +++ b/Documentation/RelNotes/1.8.4.3.adoc diff --git a/Documentation/RelNotes/1.8.4.4.txt b/Documentation/RelNotes/1.8.4.4.adoc index a7c1ce15c0..a7c1ce15c0 100644 --- a/Documentation/RelNotes/1.8.4.4.txt +++ b/Documentation/RelNotes/1.8.4.4.adoc diff --git a/Documentation/RelNotes/1.8.4.5.txt b/Documentation/RelNotes/1.8.4.5.adoc index 215bd1a7a2..215bd1a7a2 100644 --- a/Documentation/RelNotes/1.8.4.5.txt +++ b/Documentation/RelNotes/1.8.4.5.adoc diff --git a/Documentation/RelNotes/1.8.4.txt b/Documentation/RelNotes/1.8.4.adoc index 2e7529928b..2e7529928b 100644 --- a/Documentation/RelNotes/1.8.4.txt +++ b/Documentation/RelNotes/1.8.4.adoc diff --git a/Documentation/RelNotes/1.8.5.1.txt b/Documentation/RelNotes/1.8.5.1.adoc index 7236aaf232..7236aaf232 100644 --- a/Documentation/RelNotes/1.8.5.1.txt +++ b/Documentation/RelNotes/1.8.5.1.adoc diff --git a/Documentation/RelNotes/1.8.5.2.txt b/Documentation/RelNotes/1.8.5.2.adoc index 3ac4984f10..3ac4984f10 100644 --- a/Documentation/RelNotes/1.8.5.2.txt +++ b/Documentation/RelNotes/1.8.5.2.adoc diff --git a/Documentation/RelNotes/1.8.5.3.txt b/Documentation/RelNotes/1.8.5.3.adoc index 3de2dd0f19..3de2dd0f19 100644 --- a/Documentation/RelNotes/1.8.5.3.txt +++ b/Documentation/RelNotes/1.8.5.3.adoc diff --git a/Documentation/RelNotes/1.8.5.4.txt b/Documentation/RelNotes/1.8.5.4.adoc index d18c40389e..d18c40389e 100644 --- a/Documentation/RelNotes/1.8.5.4.txt +++ b/Documentation/RelNotes/1.8.5.4.adoc diff --git a/Documentation/RelNotes/1.8.5.5.txt b/Documentation/RelNotes/1.8.5.5.adoc index 9191ce948f..9191ce948f 100644 --- a/Documentation/RelNotes/1.8.5.5.txt +++ b/Documentation/RelNotes/1.8.5.5.adoc diff --git a/Documentation/RelNotes/1.8.5.6.txt b/Documentation/RelNotes/1.8.5.6.adoc index 92ff92b1e6..92ff92b1e6 100644 --- a/Documentation/RelNotes/1.8.5.6.txt +++ b/Documentation/RelNotes/1.8.5.6.adoc diff --git a/Documentation/RelNotes/1.8.5.txt b/Documentation/RelNotes/1.8.5.adoc index 602df0cac2..602df0cac2 100644 --- a/Documentation/RelNotes/1.8.5.txt +++ b/Documentation/RelNotes/1.8.5.adoc diff --git a/Documentation/RelNotes/1.9.0.txt b/Documentation/RelNotes/1.9.0.adoc index 4e4b88aa5c..4e4b88aa5c 100644 --- a/Documentation/RelNotes/1.9.0.txt +++ b/Documentation/RelNotes/1.9.0.adoc diff --git a/Documentation/RelNotes/1.9.1.txt b/Documentation/RelNotes/1.9.1.adoc index 5b0602053c..5b0602053c 100644 --- a/Documentation/RelNotes/1.9.1.txt +++ b/Documentation/RelNotes/1.9.1.adoc diff --git a/Documentation/RelNotes/1.9.2.txt b/Documentation/RelNotes/1.9.2.adoc index 47a34ca964..47a34ca964 100644 --- a/Documentation/RelNotes/1.9.2.txt +++ b/Documentation/RelNotes/1.9.2.adoc diff --git a/Documentation/RelNotes/1.9.3.txt b/Documentation/RelNotes/1.9.3.adoc index 17b05ca7b5..17b05ca7b5 100644 --- a/Documentation/RelNotes/1.9.3.txt +++ b/Documentation/RelNotes/1.9.3.adoc diff --git a/Documentation/RelNotes/1.9.4.txt b/Documentation/RelNotes/1.9.4.adoc index e1d1835436..e1d1835436 100644 --- a/Documentation/RelNotes/1.9.4.txt +++ b/Documentation/RelNotes/1.9.4.adoc diff --git a/Documentation/RelNotes/1.9.5.txt b/Documentation/RelNotes/1.9.5.adoc index 8d6ac0cf53..8d6ac0cf53 100644 --- a/Documentation/RelNotes/1.9.5.txt +++ b/Documentation/RelNotes/1.9.5.adoc diff --git a/Documentation/RelNotes/2.0.0.txt b/Documentation/RelNotes/2.0.0.adoc index 2617372a0c..2617372a0c 100644 --- a/Documentation/RelNotes/2.0.0.txt +++ b/Documentation/RelNotes/2.0.0.adoc diff --git a/Documentation/RelNotes/2.0.1.txt b/Documentation/RelNotes/2.0.1.adoc index ce5579db3e..ce5579db3e 100644 --- a/Documentation/RelNotes/2.0.1.txt +++ b/Documentation/RelNotes/2.0.1.adoc diff --git a/Documentation/RelNotes/2.0.2.txt b/Documentation/RelNotes/2.0.2.adoc index 8e8321b2ef..8e8321b2ef 100644 --- a/Documentation/RelNotes/2.0.2.txt +++ b/Documentation/RelNotes/2.0.2.adoc diff --git a/Documentation/RelNotes/2.0.3.txt b/Documentation/RelNotes/2.0.3.adoc index 4047b46bbe..4047b46bbe 100644 --- a/Documentation/RelNotes/2.0.3.txt +++ b/Documentation/RelNotes/2.0.3.adoc diff --git a/Documentation/RelNotes/2.0.4.txt b/Documentation/RelNotes/2.0.4.adoc index 7e340921a2..7e340921a2 100644 --- a/Documentation/RelNotes/2.0.4.txt +++ b/Documentation/RelNotes/2.0.4.adoc diff --git a/Documentation/RelNotes/2.0.5.txt b/Documentation/RelNotes/2.0.5.adoc index 3a16f697e8..3a16f697e8 100644 --- a/Documentation/RelNotes/2.0.5.txt +++ b/Documentation/RelNotes/2.0.5.adoc diff --git a/Documentation/RelNotes/2.1.0.txt b/Documentation/RelNotes/2.1.0.adoc index ae4753728e..ae4753728e 100644 --- a/Documentation/RelNotes/2.1.0.txt +++ b/Documentation/RelNotes/2.1.0.adoc diff --git a/Documentation/RelNotes/2.1.1.txt b/Documentation/RelNotes/2.1.1.adoc index 830fc3cc6d..830fc3cc6d 100644 --- a/Documentation/RelNotes/2.1.1.txt +++ b/Documentation/RelNotes/2.1.1.adoc diff --git a/Documentation/RelNotes/2.1.2.txt b/Documentation/RelNotes/2.1.2.adoc index abc3b8928a..abc3b8928a 100644 --- a/Documentation/RelNotes/2.1.2.txt +++ b/Documentation/RelNotes/2.1.2.adoc diff --git a/Documentation/RelNotes/2.1.3.txt b/Documentation/RelNotes/2.1.3.adoc index 0dfb17c4fc..0dfb17c4fc 100644 --- a/Documentation/RelNotes/2.1.3.txt +++ b/Documentation/RelNotes/2.1.3.adoc diff --git a/Documentation/RelNotes/2.1.4.txt b/Documentation/RelNotes/2.1.4.adoc index d16e5f041f..d16e5f041f 100644 --- a/Documentation/RelNotes/2.1.4.txt +++ b/Documentation/RelNotes/2.1.4.adoc diff --git a/Documentation/RelNotes/2.10.0.txt b/Documentation/RelNotes/2.10.0.adoc index 3792b7d03d..3792b7d03d 100644 --- a/Documentation/RelNotes/2.10.0.txt +++ b/Documentation/RelNotes/2.10.0.adoc diff --git a/Documentation/RelNotes/2.10.1.txt b/Documentation/RelNotes/2.10.1.adoc index 70462f7f7e..70462f7f7e 100644 --- a/Documentation/RelNotes/2.10.1.txt +++ b/Documentation/RelNotes/2.10.1.adoc diff --git a/Documentation/RelNotes/2.10.2.txt b/Documentation/RelNotes/2.10.2.adoc index abbd331508..abbd331508 100644 --- a/Documentation/RelNotes/2.10.2.txt +++ b/Documentation/RelNotes/2.10.2.adoc diff --git a/Documentation/RelNotes/2.10.3.txt b/Documentation/RelNotes/2.10.3.adoc index ad6a01bf83..ad6a01bf83 100644 --- a/Documentation/RelNotes/2.10.3.txt +++ b/Documentation/RelNotes/2.10.3.adoc diff --git a/Documentation/RelNotes/2.10.4.txt b/Documentation/RelNotes/2.10.4.adoc index ee8142ad24..ee8142ad24 100644 --- a/Documentation/RelNotes/2.10.4.txt +++ b/Documentation/RelNotes/2.10.4.adoc diff --git a/Documentation/RelNotes/2.10.5.txt b/Documentation/RelNotes/2.10.5.adoc index a498fd6fdc..a498fd6fdc 100644 --- a/Documentation/RelNotes/2.10.5.txt +++ b/Documentation/RelNotes/2.10.5.adoc diff --git a/Documentation/RelNotes/2.11.0.txt b/Documentation/RelNotes/2.11.0.adoc index b7b7dd361e..b7b7dd361e 100644 --- a/Documentation/RelNotes/2.11.0.txt +++ b/Documentation/RelNotes/2.11.0.adoc diff --git a/Documentation/RelNotes/2.11.1.txt b/Documentation/RelNotes/2.11.1.adoc index 7d35cf186d..7d35cf186d 100644 --- a/Documentation/RelNotes/2.11.1.txt +++ b/Documentation/RelNotes/2.11.1.adoc diff --git a/Documentation/RelNotes/2.11.2.txt b/Documentation/RelNotes/2.11.2.adoc index 7428851168..7428851168 100644 --- a/Documentation/RelNotes/2.11.2.txt +++ b/Documentation/RelNotes/2.11.2.adoc diff --git a/Documentation/RelNotes/2.11.3.txt b/Documentation/RelNotes/2.11.3.adoc index 4e3b78d0e8..4e3b78d0e8 100644 --- a/Documentation/RelNotes/2.11.3.txt +++ b/Documentation/RelNotes/2.11.3.adoc diff --git a/Documentation/RelNotes/2.11.4.txt b/Documentation/RelNotes/2.11.4.adoc index ad4da8eb09..ad4da8eb09 100644 --- a/Documentation/RelNotes/2.11.4.txt +++ b/Documentation/RelNotes/2.11.4.adoc diff --git a/Documentation/RelNotes/2.12.0.txt b/Documentation/RelNotes/2.12.0.adoc index d2f6a83614..d2f6a83614 100644 --- a/Documentation/RelNotes/2.12.0.txt +++ b/Documentation/RelNotes/2.12.0.adoc diff --git a/Documentation/RelNotes/2.12.1.txt b/Documentation/RelNotes/2.12.1.adoc index a74f7db747..a74f7db747 100644 --- a/Documentation/RelNotes/2.12.1.txt +++ b/Documentation/RelNotes/2.12.1.adoc diff --git a/Documentation/RelNotes/2.12.2.txt b/Documentation/RelNotes/2.12.2.adoc index 441939709c..441939709c 100644 --- a/Documentation/RelNotes/2.12.2.txt +++ b/Documentation/RelNotes/2.12.2.adoc diff --git a/Documentation/RelNotes/2.12.3.txt b/Documentation/RelNotes/2.12.3.adoc index ebca846d5d..ebca846d5d 100644 --- a/Documentation/RelNotes/2.12.3.txt +++ b/Documentation/RelNotes/2.12.3.adoc diff --git a/Documentation/RelNotes/2.12.4.txt b/Documentation/RelNotes/2.12.4.adoc index 3f56938221..3f56938221 100644 --- a/Documentation/RelNotes/2.12.4.txt +++ b/Documentation/RelNotes/2.12.4.adoc diff --git a/Documentation/RelNotes/2.12.5.txt b/Documentation/RelNotes/2.12.5.adoc index 8fa73cfce7..8fa73cfce7 100644 --- a/Documentation/RelNotes/2.12.5.txt +++ b/Documentation/RelNotes/2.12.5.adoc diff --git a/Documentation/RelNotes/2.13.0.txt b/Documentation/RelNotes/2.13.0.adoc index 2a47b4cb0c..2a47b4cb0c 100644 --- a/Documentation/RelNotes/2.13.0.txt +++ b/Documentation/RelNotes/2.13.0.adoc diff --git a/Documentation/RelNotes/2.13.1.txt b/Documentation/RelNotes/2.13.1.adoc index ed7cd976d9..ed7cd976d9 100644 --- a/Documentation/RelNotes/2.13.1.txt +++ b/Documentation/RelNotes/2.13.1.adoc diff --git a/Documentation/RelNotes/2.13.2.txt b/Documentation/RelNotes/2.13.2.adoc index 8c2b20071e..8c2b20071e 100644 --- a/Documentation/RelNotes/2.13.2.txt +++ b/Documentation/RelNotes/2.13.2.adoc diff --git a/Documentation/RelNotes/2.13.3.txt b/Documentation/RelNotes/2.13.3.adoc index 384e4de265..384e4de265 100644 --- a/Documentation/RelNotes/2.13.3.txt +++ b/Documentation/RelNotes/2.13.3.adoc diff --git a/Documentation/RelNotes/2.13.4.txt b/Documentation/RelNotes/2.13.4.adoc index 9a9f8f9599..9a9f8f9599 100644 --- a/Documentation/RelNotes/2.13.4.txt +++ b/Documentation/RelNotes/2.13.4.adoc diff --git a/Documentation/RelNotes/2.13.5.txt b/Documentation/RelNotes/2.13.5.adoc index 6949fcda78..6949fcda78 100644 --- a/Documentation/RelNotes/2.13.5.txt +++ b/Documentation/RelNotes/2.13.5.adoc diff --git a/Documentation/RelNotes/2.13.6.txt b/Documentation/RelNotes/2.13.6.adoc index afcae9c808..afcae9c808 100644 --- a/Documentation/RelNotes/2.13.6.txt +++ b/Documentation/RelNotes/2.13.6.adoc diff --git a/Documentation/RelNotes/2.13.7.txt b/Documentation/RelNotes/2.13.7.adoc index 09fc01406c..09fc01406c 100644 --- a/Documentation/RelNotes/2.13.7.txt +++ b/Documentation/RelNotes/2.13.7.adoc diff --git a/Documentation/RelNotes/2.14.0.txt b/Documentation/RelNotes/2.14.0.adoc index 2711a2529d..2711a2529d 100644 --- a/Documentation/RelNotes/2.14.0.txt +++ b/Documentation/RelNotes/2.14.0.adoc diff --git a/Documentation/RelNotes/2.14.1.txt b/Documentation/RelNotes/2.14.1.adoc index 9403340f7f..9403340f7f 100644 --- a/Documentation/RelNotes/2.14.1.txt +++ b/Documentation/RelNotes/2.14.1.adoc diff --git a/Documentation/RelNotes/2.14.2.txt b/Documentation/RelNotes/2.14.2.adoc index bec9186ade..bec9186ade 100644 --- a/Documentation/RelNotes/2.14.2.txt +++ b/Documentation/RelNotes/2.14.2.adoc diff --git a/Documentation/RelNotes/2.14.3.txt b/Documentation/RelNotes/2.14.3.adoc index 977c9e857c..977c9e857c 100644 --- a/Documentation/RelNotes/2.14.3.txt +++ b/Documentation/RelNotes/2.14.3.adoc diff --git a/Documentation/RelNotes/2.14.4.txt b/Documentation/RelNotes/2.14.4.adoc index 97755a89d9..97755a89d9 100644 --- a/Documentation/RelNotes/2.14.4.txt +++ b/Documentation/RelNotes/2.14.4.adoc diff --git a/Documentation/RelNotes/2.14.5.txt b/Documentation/RelNotes/2.14.5.adoc index 130645fb29..130645fb29 100644 --- a/Documentation/RelNotes/2.14.5.txt +++ b/Documentation/RelNotes/2.14.5.adoc diff --git a/Documentation/RelNotes/2.14.6.txt b/Documentation/RelNotes/2.14.6.adoc index 72b7af6799..72b7af6799 100644 --- a/Documentation/RelNotes/2.14.6.txt +++ b/Documentation/RelNotes/2.14.6.adoc diff --git a/Documentation/RelNotes/2.15.0.txt b/Documentation/RelNotes/2.15.0.adoc index cdd761bcc2..cdd761bcc2 100644 --- a/Documentation/RelNotes/2.15.0.txt +++ b/Documentation/RelNotes/2.15.0.adoc diff --git a/Documentation/RelNotes/2.15.1.txt b/Documentation/RelNotes/2.15.1.adoc index ec06704e63..ec06704e63 100644 --- a/Documentation/RelNotes/2.15.1.txt +++ b/Documentation/RelNotes/2.15.1.adoc diff --git a/Documentation/RelNotes/2.15.2.txt b/Documentation/RelNotes/2.15.2.adoc index b480e56b68..b480e56b68 100644 --- a/Documentation/RelNotes/2.15.2.txt +++ b/Documentation/RelNotes/2.15.2.adoc diff --git a/Documentation/RelNotes/2.15.3.txt b/Documentation/RelNotes/2.15.3.adoc index fd2e6f8df7..fd2e6f8df7 100644 --- a/Documentation/RelNotes/2.15.3.txt +++ b/Documentation/RelNotes/2.15.3.adoc diff --git a/Documentation/RelNotes/2.15.4.txt b/Documentation/RelNotes/2.15.4.adoc index dc241cba34..dc241cba34 100644 --- a/Documentation/RelNotes/2.15.4.txt +++ b/Documentation/RelNotes/2.15.4.adoc diff --git a/Documentation/RelNotes/2.16.0.txt b/Documentation/RelNotes/2.16.0.adoc index b474781ed8..b474781ed8 100644 --- a/Documentation/RelNotes/2.16.0.txt +++ b/Documentation/RelNotes/2.16.0.adoc diff --git a/Documentation/RelNotes/2.16.1.txt b/Documentation/RelNotes/2.16.1.adoc index 66e64361fd..66e64361fd 100644 --- a/Documentation/RelNotes/2.16.1.txt +++ b/Documentation/RelNotes/2.16.1.adoc diff --git a/Documentation/RelNotes/2.16.2.txt b/Documentation/RelNotes/2.16.2.adoc index a216466d3d..a216466d3d 100644 --- a/Documentation/RelNotes/2.16.2.txt +++ b/Documentation/RelNotes/2.16.2.adoc diff --git a/Documentation/RelNotes/2.16.3.txt b/Documentation/RelNotes/2.16.3.adoc index f0121a8f2d..f0121a8f2d 100644 --- a/Documentation/RelNotes/2.16.3.txt +++ b/Documentation/RelNotes/2.16.3.adoc diff --git a/Documentation/RelNotes/2.16.4.txt b/Documentation/RelNotes/2.16.4.adoc index 6be538ba30..6be538ba30 100644 --- a/Documentation/RelNotes/2.16.4.txt +++ b/Documentation/RelNotes/2.16.4.adoc diff --git a/Documentation/RelNotes/2.16.5.txt b/Documentation/RelNotes/2.16.5.adoc index cb8ee02a9a..cb8ee02a9a 100644 --- a/Documentation/RelNotes/2.16.5.txt +++ b/Documentation/RelNotes/2.16.5.adoc diff --git a/Documentation/RelNotes/2.16.6.txt b/Documentation/RelNotes/2.16.6.adoc index 438306e60b..438306e60b 100644 --- a/Documentation/RelNotes/2.16.6.txt +++ b/Documentation/RelNotes/2.16.6.adoc diff --git a/Documentation/RelNotes/2.17.0.txt b/Documentation/RelNotes/2.17.0.adoc index 8b17c26033..8b17c26033 100644 --- a/Documentation/RelNotes/2.17.0.txt +++ b/Documentation/RelNotes/2.17.0.adoc diff --git a/Documentation/RelNotes/2.17.1.txt b/Documentation/RelNotes/2.17.1.adoc index e01384fe8e..e01384fe8e 100644 --- a/Documentation/RelNotes/2.17.1.txt +++ b/Documentation/RelNotes/2.17.1.adoc diff --git a/Documentation/RelNotes/2.17.2.txt b/Documentation/RelNotes/2.17.2.adoc index ef021be870..ef021be870 100644 --- a/Documentation/RelNotes/2.17.2.txt +++ b/Documentation/RelNotes/2.17.2.adoc diff --git a/Documentation/RelNotes/2.17.3.txt b/Documentation/RelNotes/2.17.3.adoc index 5a46c94271..5a46c94271 100644 --- a/Documentation/RelNotes/2.17.3.txt +++ b/Documentation/RelNotes/2.17.3.adoc diff --git a/Documentation/RelNotes/2.17.4.txt b/Documentation/RelNotes/2.17.4.adoc index 7d794ca01a..7d794ca01a 100644 --- a/Documentation/RelNotes/2.17.4.txt +++ b/Documentation/RelNotes/2.17.4.adoc diff --git a/Documentation/RelNotes/2.17.5.txt b/Documentation/RelNotes/2.17.5.adoc index 2abb821a73..2abb821a73 100644 --- a/Documentation/RelNotes/2.17.5.txt +++ b/Documentation/RelNotes/2.17.5.adoc diff --git a/Documentation/RelNotes/2.17.6.txt b/Documentation/RelNotes/2.17.6.adoc index 2f181e8064..2f181e8064 100644 --- a/Documentation/RelNotes/2.17.6.txt +++ b/Documentation/RelNotes/2.17.6.adoc diff --git a/Documentation/RelNotes/2.18.0.txt b/Documentation/RelNotes/2.18.0.adoc index 6c8a0e97c1..6c8a0e97c1 100644 --- a/Documentation/RelNotes/2.18.0.txt +++ b/Documentation/RelNotes/2.18.0.adoc diff --git a/Documentation/RelNotes/2.18.1.txt b/Documentation/RelNotes/2.18.1.adoc index 2098cdd776..2098cdd776 100644 --- a/Documentation/RelNotes/2.18.1.txt +++ b/Documentation/RelNotes/2.18.1.adoc diff --git a/Documentation/RelNotes/2.18.2.txt b/Documentation/RelNotes/2.18.2.adoc index 98b168aade..98b168aade 100644 --- a/Documentation/RelNotes/2.18.2.txt +++ b/Documentation/RelNotes/2.18.2.adoc diff --git a/Documentation/RelNotes/2.18.3.txt b/Documentation/RelNotes/2.18.3.adoc index 25143f0cec..25143f0cec 100644 --- a/Documentation/RelNotes/2.18.3.txt +++ b/Documentation/RelNotes/2.18.3.adoc diff --git a/Documentation/RelNotes/2.18.4.txt b/Documentation/RelNotes/2.18.4.adoc index e8ef858a00..e8ef858a00 100644 --- a/Documentation/RelNotes/2.18.4.txt +++ b/Documentation/RelNotes/2.18.4.adoc diff --git a/Documentation/RelNotes/2.18.5.txt b/Documentation/RelNotes/2.18.5.adoc index dfb1de4ceb..dfb1de4ceb 100644 --- a/Documentation/RelNotes/2.18.5.txt +++ b/Documentation/RelNotes/2.18.5.adoc diff --git a/Documentation/RelNotes/2.19.0.txt b/Documentation/RelNotes/2.19.0.adoc index 891c79b9cb..891c79b9cb 100644 --- a/Documentation/RelNotes/2.19.0.txt +++ b/Documentation/RelNotes/2.19.0.adoc diff --git a/Documentation/RelNotes/2.19.1.txt b/Documentation/RelNotes/2.19.1.adoc index da7672674e..da7672674e 100644 --- a/Documentation/RelNotes/2.19.1.txt +++ b/Documentation/RelNotes/2.19.1.adoc diff --git a/Documentation/RelNotes/2.19.2.txt b/Documentation/RelNotes/2.19.2.adoc index 759e6ca957..759e6ca957 100644 --- a/Documentation/RelNotes/2.19.2.txt +++ b/Documentation/RelNotes/2.19.2.adoc diff --git a/Documentation/RelNotes/2.19.3.txt b/Documentation/RelNotes/2.19.3.adoc index 92d7f89de6..92d7f89de6 100644 --- a/Documentation/RelNotes/2.19.3.txt +++ b/Documentation/RelNotes/2.19.3.adoc diff --git a/Documentation/RelNotes/2.19.4.txt b/Documentation/RelNotes/2.19.4.adoc index 35d0ae561b..35d0ae561b 100644 --- a/Documentation/RelNotes/2.19.4.txt +++ b/Documentation/RelNotes/2.19.4.adoc diff --git a/Documentation/RelNotes/2.19.5.txt b/Documentation/RelNotes/2.19.5.adoc index 18a4dcbfd6..18a4dcbfd6 100644 --- a/Documentation/RelNotes/2.19.5.txt +++ b/Documentation/RelNotes/2.19.5.adoc diff --git a/Documentation/RelNotes/2.19.6.txt b/Documentation/RelNotes/2.19.6.adoc index bcca6cd258..bcca6cd258 100644 --- a/Documentation/RelNotes/2.19.6.txt +++ b/Documentation/RelNotes/2.19.6.adoc diff --git a/Documentation/RelNotes/2.2.0.txt b/Documentation/RelNotes/2.2.0.adoc index e98ecbcff6..e98ecbcff6 100644 --- a/Documentation/RelNotes/2.2.0.txt +++ b/Documentation/RelNotes/2.2.0.adoc diff --git a/Documentation/RelNotes/2.2.1.txt b/Documentation/RelNotes/2.2.1.adoc index d5a3cd9e73..d5a3cd9e73 100644 --- a/Documentation/RelNotes/2.2.1.txt +++ b/Documentation/RelNotes/2.2.1.adoc diff --git a/Documentation/RelNotes/2.2.2.txt b/Documentation/RelNotes/2.2.2.adoc index b19a35d94f..b19a35d94f 100644 --- a/Documentation/RelNotes/2.2.2.txt +++ b/Documentation/RelNotes/2.2.2.adoc diff --git a/Documentation/RelNotes/2.2.3.txt b/Documentation/RelNotes/2.2.3.adoc index 5bfffa4106..5bfffa4106 100644 --- a/Documentation/RelNotes/2.2.3.txt +++ b/Documentation/RelNotes/2.2.3.adoc diff --git a/Documentation/RelNotes/2.20.0.txt b/Documentation/RelNotes/2.20.0.adoc index 3dd7e6e1fc..3dd7e6e1fc 100644 --- a/Documentation/RelNotes/2.20.0.txt +++ b/Documentation/RelNotes/2.20.0.adoc diff --git a/Documentation/RelNotes/2.20.1.txt b/Documentation/RelNotes/2.20.1.adoc index dcba888dba..dcba888dba 100644 --- a/Documentation/RelNotes/2.20.1.txt +++ b/Documentation/RelNotes/2.20.1.adoc diff --git a/Documentation/RelNotes/2.20.2.txt b/Documentation/RelNotes/2.20.2.adoc index 8e680cb9fb..8e680cb9fb 100644 --- a/Documentation/RelNotes/2.20.2.txt +++ b/Documentation/RelNotes/2.20.2.adoc diff --git a/Documentation/RelNotes/2.20.3.txt b/Documentation/RelNotes/2.20.3.adoc index f6eccd103b..f6eccd103b 100644 --- a/Documentation/RelNotes/2.20.3.txt +++ b/Documentation/RelNotes/2.20.3.adoc diff --git a/Documentation/RelNotes/2.20.4.txt b/Documentation/RelNotes/2.20.4.adoc index 5a9e24e470..5a9e24e470 100644 --- a/Documentation/RelNotes/2.20.4.txt +++ b/Documentation/RelNotes/2.20.4.adoc diff --git a/Documentation/RelNotes/2.20.5.txt b/Documentation/RelNotes/2.20.5.adoc index 1dfb784ded..1dfb784ded 100644 --- a/Documentation/RelNotes/2.20.5.txt +++ b/Documentation/RelNotes/2.20.5.adoc diff --git a/Documentation/RelNotes/2.21.0.txt b/Documentation/RelNotes/2.21.0.adoc index 7a49deddf3..7a49deddf3 100644 --- a/Documentation/RelNotes/2.21.0.txt +++ b/Documentation/RelNotes/2.21.0.adoc diff --git a/Documentation/RelNotes/2.21.1.txt b/Documentation/RelNotes/2.21.1.adoc index b7594151e4..b7594151e4 100644 --- a/Documentation/RelNotes/2.21.1.txt +++ b/Documentation/RelNotes/2.21.1.adoc diff --git a/Documentation/RelNotes/2.21.2.txt b/Documentation/RelNotes/2.21.2.adoc index a0fb83bb53..a0fb83bb53 100644 --- a/Documentation/RelNotes/2.21.2.txt +++ b/Documentation/RelNotes/2.21.2.adoc diff --git a/Documentation/RelNotes/2.21.3.txt b/Documentation/RelNotes/2.21.3.adoc index 2ca0aa5c62..2ca0aa5c62 100644 --- a/Documentation/RelNotes/2.21.3.txt +++ b/Documentation/RelNotes/2.21.3.adoc diff --git a/Documentation/RelNotes/2.21.4.txt b/Documentation/RelNotes/2.21.4.adoc index 0089dd6702..0089dd6702 100644 --- a/Documentation/RelNotes/2.21.4.txt +++ b/Documentation/RelNotes/2.21.4.adoc diff --git a/Documentation/RelNotes/2.22.0.txt b/Documentation/RelNotes/2.22.0.adoc index 91e6ae9887..91e6ae9887 100644 --- a/Documentation/RelNotes/2.22.0.txt +++ b/Documentation/RelNotes/2.22.0.adoc diff --git a/Documentation/RelNotes/2.22.1.txt b/Documentation/RelNotes/2.22.1.adoc index 432762f270..432762f270 100644 --- a/Documentation/RelNotes/2.22.1.txt +++ b/Documentation/RelNotes/2.22.1.adoc diff --git a/Documentation/RelNotes/2.22.2.txt b/Documentation/RelNotes/2.22.2.adoc index 940a23f0d9..940a23f0d9 100644 --- a/Documentation/RelNotes/2.22.2.txt +++ b/Documentation/RelNotes/2.22.2.adoc diff --git a/Documentation/RelNotes/2.22.3.txt b/Documentation/RelNotes/2.22.3.adoc index 57296f6d17..57296f6d17 100644 --- a/Documentation/RelNotes/2.22.3.txt +++ b/Documentation/RelNotes/2.22.3.adoc diff --git a/Documentation/RelNotes/2.22.4.txt b/Documentation/RelNotes/2.22.4.adoc index 8b5f3e3f37..8b5f3e3f37 100644 --- a/Documentation/RelNotes/2.22.4.txt +++ b/Documentation/RelNotes/2.22.4.adoc diff --git a/Documentation/RelNotes/2.22.5.txt b/Documentation/RelNotes/2.22.5.adoc index 6b280d9321..6b280d9321 100644 --- a/Documentation/RelNotes/2.22.5.txt +++ b/Documentation/RelNotes/2.22.5.adoc diff --git a/Documentation/RelNotes/2.23.0.txt b/Documentation/RelNotes/2.23.0.adoc index e3c4e78265..e3c4e78265 100644 --- a/Documentation/RelNotes/2.23.0.txt +++ b/Documentation/RelNotes/2.23.0.adoc diff --git a/Documentation/RelNotes/2.23.1.txt b/Documentation/RelNotes/2.23.1.adoc index 2083b492ce..2083b492ce 100644 --- a/Documentation/RelNotes/2.23.1.txt +++ b/Documentation/RelNotes/2.23.1.adoc diff --git a/Documentation/RelNotes/2.23.2.txt b/Documentation/RelNotes/2.23.2.adoc index b697cbe0e3..b697cbe0e3 100644 --- a/Documentation/RelNotes/2.23.2.txt +++ b/Documentation/RelNotes/2.23.2.adoc diff --git a/Documentation/RelNotes/2.23.3.txt b/Documentation/RelNotes/2.23.3.adoc index 2e35490137..2e35490137 100644 --- a/Documentation/RelNotes/2.23.3.txt +++ b/Documentation/RelNotes/2.23.3.adoc diff --git a/Documentation/RelNotes/2.23.4.txt b/Documentation/RelNotes/2.23.4.adoc index 6e5424d0da..6e5424d0da 100644 --- a/Documentation/RelNotes/2.23.4.txt +++ b/Documentation/RelNotes/2.23.4.adoc diff --git a/Documentation/RelNotes/2.24.0.txt b/Documentation/RelNotes/2.24.0.adoc index bde154124c..bde154124c 100644 --- a/Documentation/RelNotes/2.24.0.txt +++ b/Documentation/RelNotes/2.24.0.adoc diff --git a/Documentation/RelNotes/2.24.1.txt b/Documentation/RelNotes/2.24.1.adoc index 18104850fe..18104850fe 100644 --- a/Documentation/RelNotes/2.24.1.txt +++ b/Documentation/RelNotes/2.24.1.adoc diff --git a/Documentation/RelNotes/2.24.2.txt b/Documentation/RelNotes/2.24.2.adoc index 0049f65503..0049f65503 100644 --- a/Documentation/RelNotes/2.24.2.txt +++ b/Documentation/RelNotes/2.24.2.adoc diff --git a/Documentation/RelNotes/2.24.3.txt b/Documentation/RelNotes/2.24.3.adoc index 5302e0f73b..5302e0f73b 100644 --- a/Documentation/RelNotes/2.24.3.txt +++ b/Documentation/RelNotes/2.24.3.adoc diff --git a/Documentation/RelNotes/2.24.4.txt b/Documentation/RelNotes/2.24.4.adoc index 4e216eec2a..4e216eec2a 100644 --- a/Documentation/RelNotes/2.24.4.txt +++ b/Documentation/RelNotes/2.24.4.adoc diff --git a/Documentation/RelNotes/2.25.0.txt b/Documentation/RelNotes/2.25.0.adoc index 91ceb34927..91ceb34927 100644 --- a/Documentation/RelNotes/2.25.0.txt +++ b/Documentation/RelNotes/2.25.0.adoc diff --git a/Documentation/RelNotes/2.25.1.txt b/Documentation/RelNotes/2.25.1.adoc index cd869b02bb..cd869b02bb 100644 --- a/Documentation/RelNotes/2.25.1.txt +++ b/Documentation/RelNotes/2.25.1.adoc diff --git a/Documentation/RelNotes/2.25.2.txt b/Documentation/RelNotes/2.25.2.adoc index 303c53a17f..303c53a17f 100644 --- a/Documentation/RelNotes/2.25.2.txt +++ b/Documentation/RelNotes/2.25.2.adoc diff --git a/Documentation/RelNotes/2.25.3.txt b/Documentation/RelNotes/2.25.3.adoc index 15f7f21f10..15f7f21f10 100644 --- a/Documentation/RelNotes/2.25.3.txt +++ b/Documentation/RelNotes/2.25.3.adoc diff --git a/Documentation/RelNotes/2.25.4.txt b/Documentation/RelNotes/2.25.4.adoc index 0dbb5daeec..0dbb5daeec 100644 --- a/Documentation/RelNotes/2.25.4.txt +++ b/Documentation/RelNotes/2.25.4.adoc diff --git a/Documentation/RelNotes/2.25.5.txt b/Documentation/RelNotes/2.25.5.adoc index fcb9566b15..fcb9566b15 100644 --- a/Documentation/RelNotes/2.25.5.txt +++ b/Documentation/RelNotes/2.25.5.adoc diff --git a/Documentation/RelNotes/2.26.0.txt b/Documentation/RelNotes/2.26.0.adoc index 3a7a734c26..3a7a734c26 100644 --- a/Documentation/RelNotes/2.26.0.txt +++ b/Documentation/RelNotes/2.26.0.adoc diff --git a/Documentation/RelNotes/2.26.1.txt b/Documentation/RelNotes/2.26.1.adoc index 1b4ecb3fdc..1b4ecb3fdc 100644 --- a/Documentation/RelNotes/2.26.1.txt +++ b/Documentation/RelNotes/2.26.1.adoc diff --git a/Documentation/RelNotes/2.26.2.txt b/Documentation/RelNotes/2.26.2.adoc index d434d0c695..d434d0c695 100644 --- a/Documentation/RelNotes/2.26.2.txt +++ b/Documentation/RelNotes/2.26.2.adoc diff --git a/Documentation/RelNotes/2.26.3.txt b/Documentation/RelNotes/2.26.3.adoc index 4111c38f0a..4111c38f0a 100644 --- a/Documentation/RelNotes/2.26.3.txt +++ b/Documentation/RelNotes/2.26.3.adoc diff --git a/Documentation/RelNotes/2.27.0.txt b/Documentation/RelNotes/2.27.0.adoc index 15518d06c1..15518d06c1 100644 --- a/Documentation/RelNotes/2.27.0.txt +++ b/Documentation/RelNotes/2.27.0.adoc diff --git a/Documentation/RelNotes/2.27.1.txt b/Documentation/RelNotes/2.27.1.adoc index a1e08a9f72..a1e08a9f72 100644 --- a/Documentation/RelNotes/2.27.1.txt +++ b/Documentation/RelNotes/2.27.1.adoc diff --git a/Documentation/RelNotes/2.28.0.txt b/Documentation/RelNotes/2.28.0.adoc index 6baf781380..6baf781380 100644 --- a/Documentation/RelNotes/2.28.0.txt +++ b/Documentation/RelNotes/2.28.0.adoc diff --git a/Documentation/RelNotes/2.28.1.txt b/Documentation/RelNotes/2.28.1.adoc index 8484c8297c..8484c8297c 100644 --- a/Documentation/RelNotes/2.28.1.txt +++ b/Documentation/RelNotes/2.28.1.adoc diff --git a/Documentation/RelNotes/2.29.0.txt b/Documentation/RelNotes/2.29.0.adoc index 1f41302ebb..1f41302ebb 100644 --- a/Documentation/RelNotes/2.29.0.txt +++ b/Documentation/RelNotes/2.29.0.adoc diff --git a/Documentation/RelNotes/2.29.1.txt b/Documentation/RelNotes/2.29.1.adoc index 295ee2135f..295ee2135f 100644 --- a/Documentation/RelNotes/2.29.1.txt +++ b/Documentation/RelNotes/2.29.1.adoc diff --git a/Documentation/RelNotes/2.29.2.txt b/Documentation/RelNotes/2.29.2.adoc index 632b5b580a..632b5b580a 100644 --- a/Documentation/RelNotes/2.29.2.txt +++ b/Documentation/RelNotes/2.29.2.adoc diff --git a/Documentation/RelNotes/2.29.3.txt b/Documentation/RelNotes/2.29.3.adoc index e10eedb35a..e10eedb35a 100644 --- a/Documentation/RelNotes/2.29.3.txt +++ b/Documentation/RelNotes/2.29.3.adoc diff --git a/Documentation/RelNotes/2.3.0.txt b/Documentation/RelNotes/2.3.0.adoc index e3c639c840..e3c639c840 100644 --- a/Documentation/RelNotes/2.3.0.txt +++ b/Documentation/RelNotes/2.3.0.adoc diff --git a/Documentation/RelNotes/2.3.1.txt b/Documentation/RelNotes/2.3.1.adoc index cf96186288..cf96186288 100644 --- a/Documentation/RelNotes/2.3.1.txt +++ b/Documentation/RelNotes/2.3.1.adoc diff --git a/Documentation/RelNotes/2.3.10.txt b/Documentation/RelNotes/2.3.10.adoc index 20c2d2cacc..20c2d2cacc 100644 --- a/Documentation/RelNotes/2.3.10.txt +++ b/Documentation/RelNotes/2.3.10.adoc diff --git a/Documentation/RelNotes/2.3.2.txt b/Documentation/RelNotes/2.3.2.adoc index 93462e45c2..93462e45c2 100644 --- a/Documentation/RelNotes/2.3.2.txt +++ b/Documentation/RelNotes/2.3.2.adoc diff --git a/Documentation/RelNotes/2.3.3.txt b/Documentation/RelNotes/2.3.3.adoc index 850dc68ede..850dc68ede 100644 --- a/Documentation/RelNotes/2.3.3.txt +++ b/Documentation/RelNotes/2.3.3.adoc diff --git a/Documentation/RelNotes/2.3.4.txt b/Documentation/RelNotes/2.3.4.adoc index 094c7b853b..094c7b853b 100644 --- a/Documentation/RelNotes/2.3.4.txt +++ b/Documentation/RelNotes/2.3.4.adoc diff --git a/Documentation/RelNotes/2.3.5.txt b/Documentation/RelNotes/2.3.5.adoc index 5b309db689..5b309db689 100644 --- a/Documentation/RelNotes/2.3.5.txt +++ b/Documentation/RelNotes/2.3.5.adoc diff --git a/Documentation/RelNotes/2.3.6.txt b/Documentation/RelNotes/2.3.6.adoc index 432f770ef3..432f770ef3 100644 --- a/Documentation/RelNotes/2.3.6.txt +++ b/Documentation/RelNotes/2.3.6.adoc diff --git a/Documentation/RelNotes/2.3.7.txt b/Documentation/RelNotes/2.3.7.adoc index 5769184081..5769184081 100644 --- a/Documentation/RelNotes/2.3.7.txt +++ b/Documentation/RelNotes/2.3.7.adoc diff --git a/Documentation/RelNotes/2.3.8.txt b/Documentation/RelNotes/2.3.8.adoc index 0b67268a96..0b67268a96 100644 --- a/Documentation/RelNotes/2.3.8.txt +++ b/Documentation/RelNotes/2.3.8.adoc diff --git a/Documentation/RelNotes/2.3.9.txt b/Documentation/RelNotes/2.3.9.adoc index 1a2ad3235a..1a2ad3235a 100644 --- a/Documentation/RelNotes/2.3.9.txt +++ b/Documentation/RelNotes/2.3.9.adoc diff --git a/Documentation/RelNotes/2.30.0.txt b/Documentation/RelNotes/2.30.0.adoc index c2f1dc7b06..c2f1dc7b06 100644 --- a/Documentation/RelNotes/2.30.0.txt +++ b/Documentation/RelNotes/2.30.0.adoc diff --git a/Documentation/RelNotes/2.30.1.txt b/Documentation/RelNotes/2.30.1.adoc index 249ef1492f..249ef1492f 100644 --- a/Documentation/RelNotes/2.30.1.txt +++ b/Documentation/RelNotes/2.30.1.adoc diff --git a/Documentation/RelNotes/2.30.2.txt b/Documentation/RelNotes/2.30.2.adoc index bada398501..bada398501 100644 --- a/Documentation/RelNotes/2.30.2.txt +++ b/Documentation/RelNotes/2.30.2.adoc diff --git a/Documentation/RelNotes/2.30.3.txt b/Documentation/RelNotes/2.30.3.adoc index 31b2a4daa6..31b2a4daa6 100644 --- a/Documentation/RelNotes/2.30.3.txt +++ b/Documentation/RelNotes/2.30.3.adoc diff --git a/Documentation/RelNotes/2.30.4.txt b/Documentation/RelNotes/2.30.4.adoc index 4eedb74b16..4eedb74b16 100644 --- a/Documentation/RelNotes/2.30.4.txt +++ b/Documentation/RelNotes/2.30.4.adoc diff --git a/Documentation/RelNotes/2.30.5.txt b/Documentation/RelNotes/2.30.5.adoc index 5191cab3ae..5191cab3ae 100644 --- a/Documentation/RelNotes/2.30.5.txt +++ b/Documentation/RelNotes/2.30.5.adoc diff --git a/Documentation/RelNotes/2.30.6.txt b/Documentation/RelNotes/2.30.6.adoc index d649071b79..d649071b79 100644 --- a/Documentation/RelNotes/2.30.6.txt +++ b/Documentation/RelNotes/2.30.6.adoc diff --git a/Documentation/RelNotes/2.30.7.txt b/Documentation/RelNotes/2.30.7.adoc index 285beed232..285beed232 100644 --- a/Documentation/RelNotes/2.30.7.txt +++ b/Documentation/RelNotes/2.30.7.adoc diff --git a/Documentation/RelNotes/2.30.8.txt b/Documentation/RelNotes/2.30.8.adoc index 5ed3efbd6a..5ed3efbd6a 100644 --- a/Documentation/RelNotes/2.30.8.txt +++ b/Documentation/RelNotes/2.30.8.adoc diff --git a/Documentation/RelNotes/2.30.9.txt b/Documentation/RelNotes/2.30.9.adoc index 708d626ce6..708d626ce6 100644 --- a/Documentation/RelNotes/2.30.9.txt +++ b/Documentation/RelNotes/2.30.9.adoc diff --git a/Documentation/RelNotes/2.31.0.txt b/Documentation/RelNotes/2.31.0.adoc index cf0c7d8d40..cf0c7d8d40 100644 --- a/Documentation/RelNotes/2.31.0.txt +++ b/Documentation/RelNotes/2.31.0.adoc diff --git a/Documentation/RelNotes/2.31.1.txt b/Documentation/RelNotes/2.31.1.adoc index f9b06b8e1b..f9b06b8e1b 100644 --- a/Documentation/RelNotes/2.31.1.txt +++ b/Documentation/RelNotes/2.31.1.adoc diff --git a/Documentation/RelNotes/2.31.2.txt b/Documentation/RelNotes/2.31.2.adoc index aa13a5b022..aa13a5b022 100644 --- a/Documentation/RelNotes/2.31.2.txt +++ b/Documentation/RelNotes/2.31.2.adoc diff --git a/Documentation/RelNotes/2.31.3.txt b/Documentation/RelNotes/2.31.3.adoc index ca143abad0..ca143abad0 100644 --- a/Documentation/RelNotes/2.31.3.txt +++ b/Documentation/RelNotes/2.31.3.adoc diff --git a/Documentation/RelNotes/2.31.4.txt b/Documentation/RelNotes/2.31.4.adoc index 97a91fd07a..97a91fd07a 100644 --- a/Documentation/RelNotes/2.31.4.txt +++ b/Documentation/RelNotes/2.31.4.adoc diff --git a/Documentation/RelNotes/2.31.5.txt b/Documentation/RelNotes/2.31.5.adoc index 0d87e6e03f..0d87e6e03f 100644 --- a/Documentation/RelNotes/2.31.5.txt +++ b/Documentation/RelNotes/2.31.5.adoc diff --git a/Documentation/RelNotes/2.31.6.txt b/Documentation/RelNotes/2.31.6.adoc index 425a51875a..425a51875a 100644 --- a/Documentation/RelNotes/2.31.6.txt +++ b/Documentation/RelNotes/2.31.6.adoc diff --git a/Documentation/RelNotes/2.31.7.txt b/Documentation/RelNotes/2.31.7.adoc index dd44d5bc62..dd44d5bc62 100644 --- a/Documentation/RelNotes/2.31.7.txt +++ b/Documentation/RelNotes/2.31.7.adoc diff --git a/Documentation/RelNotes/2.31.8.txt b/Documentation/RelNotes/2.31.8.adoc index 0aa3080780..0aa3080780 100644 --- a/Documentation/RelNotes/2.31.8.txt +++ b/Documentation/RelNotes/2.31.8.adoc diff --git a/Documentation/RelNotes/2.32.0.txt b/Documentation/RelNotes/2.32.0.adoc index 87d56fa1aa..87d56fa1aa 100644 --- a/Documentation/RelNotes/2.32.0.txt +++ b/Documentation/RelNotes/2.32.0.adoc diff --git a/Documentation/RelNotes/2.32.1.txt b/Documentation/RelNotes/2.32.1.adoc index 7dcca13b92..7dcca13b92 100644 --- a/Documentation/RelNotes/2.32.1.txt +++ b/Documentation/RelNotes/2.32.1.adoc diff --git a/Documentation/RelNotes/2.32.2.txt b/Documentation/RelNotes/2.32.2.adoc index cf49695f2f..cf49695f2f 100644 --- a/Documentation/RelNotes/2.32.2.txt +++ b/Documentation/RelNotes/2.32.2.adoc diff --git a/Documentation/RelNotes/2.32.3.txt b/Documentation/RelNotes/2.32.3.adoc index 583fabe684..583fabe684 100644 --- a/Documentation/RelNotes/2.32.3.txt +++ b/Documentation/RelNotes/2.32.3.adoc diff --git a/Documentation/RelNotes/2.32.4.txt b/Documentation/RelNotes/2.32.4.adoc index 76c67b209e..76c67b209e 100644 --- a/Documentation/RelNotes/2.32.4.txt +++ b/Documentation/RelNotes/2.32.4.adoc diff --git a/Documentation/RelNotes/2.32.5.txt b/Documentation/RelNotes/2.32.5.adoc index a8cad1a05b..a8cad1a05b 100644 --- a/Documentation/RelNotes/2.32.5.txt +++ b/Documentation/RelNotes/2.32.5.adoc diff --git a/Documentation/RelNotes/2.32.6.txt b/Documentation/RelNotes/2.32.6.adoc index fd659612e3..fd659612e3 100644 --- a/Documentation/RelNotes/2.32.6.txt +++ b/Documentation/RelNotes/2.32.6.adoc diff --git a/Documentation/RelNotes/2.32.7.txt b/Documentation/RelNotes/2.32.7.adoc index 7bb35388b5..7bb35388b5 100644 --- a/Documentation/RelNotes/2.32.7.txt +++ b/Documentation/RelNotes/2.32.7.adoc diff --git a/Documentation/RelNotes/2.33.0.txt b/Documentation/RelNotes/2.33.0.adoc index 893c18bfdd..893c18bfdd 100644 --- a/Documentation/RelNotes/2.33.0.txt +++ b/Documentation/RelNotes/2.33.0.adoc diff --git a/Documentation/RelNotes/2.33.1.txt b/Documentation/RelNotes/2.33.1.adoc index b71738e654..b71738e654 100644 --- a/Documentation/RelNotes/2.33.1.txt +++ b/Documentation/RelNotes/2.33.1.adoc diff --git a/Documentation/RelNotes/2.33.2.txt b/Documentation/RelNotes/2.33.2.adoc index e504489d61..e504489d61 100644 --- a/Documentation/RelNotes/2.33.2.txt +++ b/Documentation/RelNotes/2.33.2.adoc diff --git a/Documentation/RelNotes/2.33.3.txt b/Documentation/RelNotes/2.33.3.adoc index e2bada12a1..e2bada12a1 100644 --- a/Documentation/RelNotes/2.33.3.txt +++ b/Documentation/RelNotes/2.33.3.adoc diff --git a/Documentation/RelNotes/2.33.4.txt b/Documentation/RelNotes/2.33.4.adoc index a145cc25de..a145cc25de 100644 --- a/Documentation/RelNotes/2.33.4.txt +++ b/Documentation/RelNotes/2.33.4.adoc diff --git a/Documentation/RelNotes/2.33.5.txt b/Documentation/RelNotes/2.33.5.adoc index a63652602b..a63652602b 100644 --- a/Documentation/RelNotes/2.33.5.txt +++ b/Documentation/RelNotes/2.33.5.adoc diff --git a/Documentation/RelNotes/2.33.6.txt b/Documentation/RelNotes/2.33.6.adoc index b63e4e6256..b63e4e6256 100644 --- a/Documentation/RelNotes/2.33.6.txt +++ b/Documentation/RelNotes/2.33.6.adoc diff --git a/Documentation/RelNotes/2.33.7.txt b/Documentation/RelNotes/2.33.7.adoc index 078a837cb4..078a837cb4 100644 --- a/Documentation/RelNotes/2.33.7.txt +++ b/Documentation/RelNotes/2.33.7.adoc diff --git a/Documentation/RelNotes/2.33.8.txt b/Documentation/RelNotes/2.33.8.adoc index d8cf4c7f3a..d8cf4c7f3a 100644 --- a/Documentation/RelNotes/2.33.8.txt +++ b/Documentation/RelNotes/2.33.8.adoc diff --git a/Documentation/RelNotes/2.34.0.txt b/Documentation/RelNotes/2.34.0.adoc index 75d4fdfde7..75d4fdfde7 100644 --- a/Documentation/RelNotes/2.34.0.txt +++ b/Documentation/RelNotes/2.34.0.adoc diff --git a/Documentation/RelNotes/2.34.1.txt b/Documentation/RelNotes/2.34.1.adoc index ad404e9aa0..ad404e9aa0 100644 --- a/Documentation/RelNotes/2.34.1.txt +++ b/Documentation/RelNotes/2.34.1.adoc diff --git a/Documentation/RelNotes/2.34.2.txt b/Documentation/RelNotes/2.34.2.adoc index 0c32cd844b..0c32cd844b 100644 --- a/Documentation/RelNotes/2.34.2.txt +++ b/Documentation/RelNotes/2.34.2.adoc diff --git a/Documentation/RelNotes/2.34.3.txt b/Documentation/RelNotes/2.34.3.adoc index 10f6171ace..10f6171ace 100644 --- a/Documentation/RelNotes/2.34.3.txt +++ b/Documentation/RelNotes/2.34.3.adoc diff --git a/Documentation/RelNotes/2.34.4.txt b/Documentation/RelNotes/2.34.4.adoc index 2a6b223403..2a6b223403 100644 --- a/Documentation/RelNotes/2.34.4.txt +++ b/Documentation/RelNotes/2.34.4.adoc diff --git a/Documentation/RelNotes/2.34.5.txt b/Documentation/RelNotes/2.34.5.adoc index 0e8999204d..0e8999204d 100644 --- a/Documentation/RelNotes/2.34.5.txt +++ b/Documentation/RelNotes/2.34.5.adoc diff --git a/Documentation/RelNotes/2.34.6.txt b/Documentation/RelNotes/2.34.6.adoc index b32080dba8..b32080dba8 100644 --- a/Documentation/RelNotes/2.34.6.txt +++ b/Documentation/RelNotes/2.34.6.adoc diff --git a/Documentation/RelNotes/2.34.7.txt b/Documentation/RelNotes/2.34.7.adoc index 88898adacc..88898adacc 100644 --- a/Documentation/RelNotes/2.34.7.txt +++ b/Documentation/RelNotes/2.34.7.adoc diff --git a/Documentation/RelNotes/2.34.8.txt b/Documentation/RelNotes/2.34.8.adoc index 2b5bd7d9a3..2b5bd7d9a3 100644 --- a/Documentation/RelNotes/2.34.8.txt +++ b/Documentation/RelNotes/2.34.8.adoc diff --git a/Documentation/RelNotes/2.35.0.txt b/Documentation/RelNotes/2.35.0.adoc index d69b50d180..d69b50d180 100644 --- a/Documentation/RelNotes/2.35.0.txt +++ b/Documentation/RelNotes/2.35.0.adoc diff --git a/Documentation/RelNotes/2.35.1.txt b/Documentation/RelNotes/2.35.1.adoc index 726ba250ef..726ba250ef 100644 --- a/Documentation/RelNotes/2.35.1.txt +++ b/Documentation/RelNotes/2.35.1.adoc diff --git a/Documentation/RelNotes/2.35.2.txt b/Documentation/RelNotes/2.35.2.adoc index 290bfa9ea4..290bfa9ea4 100644 --- a/Documentation/RelNotes/2.35.2.txt +++ b/Documentation/RelNotes/2.35.2.adoc diff --git a/Documentation/RelNotes/2.35.3.txt b/Documentation/RelNotes/2.35.3.adoc index 5458ba3441..5458ba3441 100644 --- a/Documentation/RelNotes/2.35.3.txt +++ b/Documentation/RelNotes/2.35.3.adoc diff --git a/Documentation/RelNotes/2.35.4.txt b/Documentation/RelNotes/2.35.4.adoc index 47abd5ad45..47abd5ad45 100644 --- a/Documentation/RelNotes/2.35.4.txt +++ b/Documentation/RelNotes/2.35.4.adoc diff --git a/Documentation/RelNotes/2.35.5.txt b/Documentation/RelNotes/2.35.5.adoc index e19cc48b33..e19cc48b33 100644 --- a/Documentation/RelNotes/2.35.5.txt +++ b/Documentation/RelNotes/2.35.5.adoc diff --git a/Documentation/RelNotes/2.35.6.txt b/Documentation/RelNotes/2.35.6.adoc index e7ca57bb41..e7ca57bb41 100644 --- a/Documentation/RelNotes/2.35.6.txt +++ b/Documentation/RelNotes/2.35.6.adoc diff --git a/Documentation/RelNotes/2.35.7.txt b/Documentation/RelNotes/2.35.7.adoc index 42baabfc3b..42baabfc3b 100644 --- a/Documentation/RelNotes/2.35.7.txt +++ b/Documentation/RelNotes/2.35.7.adoc diff --git a/Documentation/RelNotes/2.35.8.txt b/Documentation/RelNotes/2.35.8.adoc index 3c9c094c2b..3c9c094c2b 100644 --- a/Documentation/RelNotes/2.35.8.txt +++ b/Documentation/RelNotes/2.35.8.adoc diff --git a/Documentation/RelNotes/2.36.0.txt b/Documentation/RelNotes/2.36.0.adoc index e477fba12d..e477fba12d 100644 --- a/Documentation/RelNotes/2.36.0.txt +++ b/Documentation/RelNotes/2.36.0.adoc diff --git a/Documentation/RelNotes/2.36.1.txt b/Documentation/RelNotes/2.36.1.adoc index a9617095db..a9617095db 100644 --- a/Documentation/RelNotes/2.36.1.txt +++ b/Documentation/RelNotes/2.36.1.adoc diff --git a/Documentation/RelNotes/2.36.2.txt b/Documentation/RelNotes/2.36.2.adoc index 958f5b4102..958f5b4102 100644 --- a/Documentation/RelNotes/2.36.2.txt +++ b/Documentation/RelNotes/2.36.2.adoc diff --git a/Documentation/RelNotes/2.36.3.txt b/Documentation/RelNotes/2.36.3.adoc index 56db77b5bd..56db77b5bd 100644 --- a/Documentation/RelNotes/2.36.3.txt +++ b/Documentation/RelNotes/2.36.3.adoc diff --git a/Documentation/RelNotes/2.36.4.txt b/Documentation/RelNotes/2.36.4.adoc index 58fb93a35f..58fb93a35f 100644 --- a/Documentation/RelNotes/2.36.4.txt +++ b/Documentation/RelNotes/2.36.4.adoc diff --git a/Documentation/RelNotes/2.36.5.txt b/Documentation/RelNotes/2.36.5.adoc index 8a098c7916..8a098c7916 100644 --- a/Documentation/RelNotes/2.36.5.txt +++ b/Documentation/RelNotes/2.36.5.adoc diff --git a/Documentation/RelNotes/2.36.6.txt b/Documentation/RelNotes/2.36.6.adoc index e1edebcc43..e1edebcc43 100644 --- a/Documentation/RelNotes/2.36.6.txt +++ b/Documentation/RelNotes/2.36.6.adoc diff --git a/Documentation/RelNotes/2.37.0.txt b/Documentation/RelNotes/2.37.0.adoc index 99dc7e32f8..99dc7e32f8 100644 --- a/Documentation/RelNotes/2.37.0.txt +++ b/Documentation/RelNotes/2.37.0.adoc diff --git a/Documentation/RelNotes/2.37.1.txt b/Documentation/RelNotes/2.37.1.adoc index 84609327d1..84609327d1 100644 --- a/Documentation/RelNotes/2.37.1.txt +++ b/Documentation/RelNotes/2.37.1.adoc diff --git a/Documentation/RelNotes/2.37.2.txt b/Documentation/RelNotes/2.37.2.adoc index d82b29e014..d82b29e014 100644 --- a/Documentation/RelNotes/2.37.2.txt +++ b/Documentation/RelNotes/2.37.2.adoc diff --git a/Documentation/RelNotes/2.37.3.txt b/Documentation/RelNotes/2.37.3.adoc index d66689e598..d66689e598 100644 --- a/Documentation/RelNotes/2.37.3.txt +++ b/Documentation/RelNotes/2.37.3.adoc diff --git a/Documentation/RelNotes/2.37.4.txt b/Documentation/RelNotes/2.37.4.adoc index e42a5c1620..e42a5c1620 100644 --- a/Documentation/RelNotes/2.37.4.txt +++ b/Documentation/RelNotes/2.37.4.adoc diff --git a/Documentation/RelNotes/2.37.5.txt b/Documentation/RelNotes/2.37.5.adoc index faa1447292..faa1447292 100644 --- a/Documentation/RelNotes/2.37.5.txt +++ b/Documentation/RelNotes/2.37.5.adoc diff --git a/Documentation/RelNotes/2.37.6.txt b/Documentation/RelNotes/2.37.6.adoc index 51dc149711..51dc149711 100644 --- a/Documentation/RelNotes/2.37.6.txt +++ b/Documentation/RelNotes/2.37.6.adoc diff --git a/Documentation/RelNotes/2.37.7.txt b/Documentation/RelNotes/2.37.7.adoc index 4b8165f4b5..4b8165f4b5 100644 --- a/Documentation/RelNotes/2.37.7.txt +++ b/Documentation/RelNotes/2.37.7.adoc diff --git a/Documentation/RelNotes/2.38.0.txt b/Documentation/RelNotes/2.38.0.adoc index 870581fc57..870581fc57 100644 --- a/Documentation/RelNotes/2.38.0.txt +++ b/Documentation/RelNotes/2.38.0.adoc diff --git a/Documentation/RelNotes/2.38.1.txt b/Documentation/RelNotes/2.38.1.adoc index b2b5854aac..b2b5854aac 100644 --- a/Documentation/RelNotes/2.38.1.txt +++ b/Documentation/RelNotes/2.38.1.adoc diff --git a/Documentation/RelNotes/2.38.2.txt b/Documentation/RelNotes/2.38.2.adoc index 92acb62bbb..92acb62bbb 100644 --- a/Documentation/RelNotes/2.38.2.txt +++ b/Documentation/RelNotes/2.38.2.adoc diff --git a/Documentation/RelNotes/2.38.3.txt b/Documentation/RelNotes/2.38.3.adoc index 4a46bb4300..4a46bb4300 100644 --- a/Documentation/RelNotes/2.38.3.txt +++ b/Documentation/RelNotes/2.38.3.adoc diff --git a/Documentation/RelNotes/2.38.4.txt b/Documentation/RelNotes/2.38.4.adoc index fdfde22022..fdfde22022 100644 --- a/Documentation/RelNotes/2.38.4.txt +++ b/Documentation/RelNotes/2.38.4.adoc diff --git a/Documentation/RelNotes/2.38.5.txt b/Documentation/RelNotes/2.38.5.adoc index 2d1f3b1249..2d1f3b1249 100644 --- a/Documentation/RelNotes/2.38.5.txt +++ b/Documentation/RelNotes/2.38.5.adoc diff --git a/Documentation/RelNotes/2.39.0.txt b/Documentation/RelNotes/2.39.0.adoc index 9bf00ece53..9bf00ece53 100644 --- a/Documentation/RelNotes/2.39.0.txt +++ b/Documentation/RelNotes/2.39.0.adoc diff --git a/Documentation/RelNotes/2.39.1.txt b/Documentation/RelNotes/2.39.1.adoc index 60c86f4122..60c86f4122 100644 --- a/Documentation/RelNotes/2.39.1.txt +++ b/Documentation/RelNotes/2.39.1.adoc diff --git a/Documentation/RelNotes/2.39.2.txt b/Documentation/RelNotes/2.39.2.adoc index ebb9900bc5..ebb9900bc5 100644 --- a/Documentation/RelNotes/2.39.2.txt +++ b/Documentation/RelNotes/2.39.2.adoc diff --git a/Documentation/RelNotes/2.39.3.txt b/Documentation/RelNotes/2.39.3.adoc index 66351b65c2..66351b65c2 100644 --- a/Documentation/RelNotes/2.39.3.txt +++ b/Documentation/RelNotes/2.39.3.adoc diff --git a/Documentation/RelNotes/2.39.4.txt b/Documentation/RelNotes/2.39.4.adoc index 7f54521fea..7f54521fea 100644 --- a/Documentation/RelNotes/2.39.4.txt +++ b/Documentation/RelNotes/2.39.4.adoc diff --git a/Documentation/RelNotes/2.39.5.txt b/Documentation/RelNotes/2.39.5.adoc index 97c0185de4..97c0185de4 100644 --- a/Documentation/RelNotes/2.39.5.txt +++ b/Documentation/RelNotes/2.39.5.adoc diff --git a/Documentation/RelNotes/2.4.0.txt b/Documentation/RelNotes/2.4.0.adoc index cde64be535..cde64be535 100644 --- a/Documentation/RelNotes/2.4.0.txt +++ b/Documentation/RelNotes/2.4.0.adoc diff --git a/Documentation/RelNotes/2.4.1.txt b/Documentation/RelNotes/2.4.1.adoc index a65a6c5829..a65a6c5829 100644 --- a/Documentation/RelNotes/2.4.1.txt +++ b/Documentation/RelNotes/2.4.1.adoc diff --git a/Documentation/RelNotes/2.4.10.txt b/Documentation/RelNotes/2.4.10.adoc index 702d8d4e22..702d8d4e22 100644 --- a/Documentation/RelNotes/2.4.10.txt +++ b/Documentation/RelNotes/2.4.10.adoc diff --git a/Documentation/RelNotes/2.4.11.txt b/Documentation/RelNotes/2.4.11.adoc index 723360295c..723360295c 100644 --- a/Documentation/RelNotes/2.4.11.txt +++ b/Documentation/RelNotes/2.4.11.adoc diff --git a/Documentation/RelNotes/2.4.12.txt b/Documentation/RelNotes/2.4.12.adoc index 7d15f94725..7d15f94725 100644 --- a/Documentation/RelNotes/2.4.12.txt +++ b/Documentation/RelNotes/2.4.12.adoc diff --git a/Documentation/RelNotes/2.4.2.txt b/Documentation/RelNotes/2.4.2.adoc index 250cdc423c..250cdc423c 100644 --- a/Documentation/RelNotes/2.4.2.txt +++ b/Documentation/RelNotes/2.4.2.adoc diff --git a/Documentation/RelNotes/2.4.3.txt b/Documentation/RelNotes/2.4.3.adoc index 422e930aa2..422e930aa2 100644 --- a/Documentation/RelNotes/2.4.3.txt +++ b/Documentation/RelNotes/2.4.3.adoc diff --git a/Documentation/RelNotes/2.4.4.txt b/Documentation/RelNotes/2.4.4.adoc index f1ccd001be..f1ccd001be 100644 --- a/Documentation/RelNotes/2.4.4.txt +++ b/Documentation/RelNotes/2.4.4.adoc diff --git a/Documentation/RelNotes/2.4.5.txt b/Documentation/RelNotes/2.4.5.adoc index 568297ccb7..568297ccb7 100644 --- a/Documentation/RelNotes/2.4.5.txt +++ b/Documentation/RelNotes/2.4.5.adoc diff --git a/Documentation/RelNotes/2.4.6.txt b/Documentation/RelNotes/2.4.6.adoc index b53f353939..b53f353939 100644 --- a/Documentation/RelNotes/2.4.6.txt +++ b/Documentation/RelNotes/2.4.6.adoc diff --git a/Documentation/RelNotes/2.4.7.txt b/Documentation/RelNotes/2.4.7.adoc index b3ac412b82..b3ac412b82 100644 --- a/Documentation/RelNotes/2.4.7.txt +++ b/Documentation/RelNotes/2.4.7.adoc diff --git a/Documentation/RelNotes/2.4.8.txt b/Documentation/RelNotes/2.4.8.adoc index ad946b2673..ad946b2673 100644 --- a/Documentation/RelNotes/2.4.8.txt +++ b/Documentation/RelNotes/2.4.8.adoc diff --git a/Documentation/RelNotes/2.4.9.txt b/Documentation/RelNotes/2.4.9.adoc index 09af9ddbc7..09af9ddbc7 100644 --- a/Documentation/RelNotes/2.4.9.txt +++ b/Documentation/RelNotes/2.4.9.adoc diff --git a/Documentation/RelNotes/2.40.0.txt b/Documentation/RelNotes/2.40.0.adoc index 3ea445bf20..3ea445bf20 100644 --- a/Documentation/RelNotes/2.40.0.txt +++ b/Documentation/RelNotes/2.40.0.adoc diff --git a/Documentation/RelNotes/2.40.1.txt b/Documentation/RelNotes/2.40.1.adoc index e72f6b1b25..e72f6b1b25 100644 --- a/Documentation/RelNotes/2.40.1.txt +++ b/Documentation/RelNotes/2.40.1.adoc diff --git a/Documentation/RelNotes/2.40.2.txt b/Documentation/RelNotes/2.40.2.adoc index 646a2cc3eb..646a2cc3eb 100644 --- a/Documentation/RelNotes/2.40.2.txt +++ b/Documentation/RelNotes/2.40.2.adoc diff --git a/Documentation/RelNotes/2.40.3.txt b/Documentation/RelNotes/2.40.3.adoc index 6ca088ec86..6ca088ec86 100644 --- a/Documentation/RelNotes/2.40.3.txt +++ b/Documentation/RelNotes/2.40.3.adoc diff --git a/Documentation/RelNotes/2.40.4.txt b/Documentation/RelNotes/2.40.4.adoc index 0ff29f3cfc..0ff29f3cfc 100644 --- a/Documentation/RelNotes/2.40.4.txt +++ b/Documentation/RelNotes/2.40.4.adoc diff --git a/Documentation/RelNotes/2.41.0.txt b/Documentation/RelNotes/2.41.0.adoc index 8a9e17016e..8a9e17016e 100644 --- a/Documentation/RelNotes/2.41.0.txt +++ b/Documentation/RelNotes/2.41.0.adoc diff --git a/Documentation/RelNotes/2.41.1.txt b/Documentation/RelNotes/2.41.1.adoc index 9fb4c218b2..9fb4c218b2 100644 --- a/Documentation/RelNotes/2.41.1.txt +++ b/Documentation/RelNotes/2.41.1.adoc diff --git a/Documentation/RelNotes/2.41.2.txt b/Documentation/RelNotes/2.41.2.adoc index f94afde8c2..f94afde8c2 100644 --- a/Documentation/RelNotes/2.41.2.txt +++ b/Documentation/RelNotes/2.41.2.adoc diff --git a/Documentation/RelNotes/2.41.3.txt b/Documentation/RelNotes/2.41.3.adoc index b5aba88790..b5aba88790 100644 --- a/Documentation/RelNotes/2.41.3.txt +++ b/Documentation/RelNotes/2.41.3.adoc diff --git a/Documentation/RelNotes/2.42.0.txt b/Documentation/RelNotes/2.42.0.adoc index 0f1897ad5f..0f1897ad5f 100644 --- a/Documentation/RelNotes/2.42.0.txt +++ b/Documentation/RelNotes/2.42.0.adoc diff --git a/Documentation/RelNotes/2.42.1.txt b/Documentation/RelNotes/2.42.1.adoc index 3d391b7dcd..3d391b7dcd 100644 --- a/Documentation/RelNotes/2.42.1.txt +++ b/Documentation/RelNotes/2.42.1.adoc diff --git a/Documentation/RelNotes/2.42.2.txt b/Documentation/RelNotes/2.42.2.adoc index dbf761a01d..dbf761a01d 100644 --- a/Documentation/RelNotes/2.42.2.txt +++ b/Documentation/RelNotes/2.42.2.adoc diff --git a/Documentation/RelNotes/2.42.3.txt b/Documentation/RelNotes/2.42.3.adoc index bfe3ba5629..bfe3ba5629 100644 --- a/Documentation/RelNotes/2.42.3.txt +++ b/Documentation/RelNotes/2.42.3.adoc diff --git a/Documentation/RelNotes/2.42.4.txt b/Documentation/RelNotes/2.42.4.adoc index 3129d76e75..3129d76e75 100644 --- a/Documentation/RelNotes/2.42.4.txt +++ b/Documentation/RelNotes/2.42.4.adoc diff --git a/Documentation/RelNotes/2.43.0.txt b/Documentation/RelNotes/2.43.0.adoc index e0e5b535bb..e0e5b535bb 100644 --- a/Documentation/RelNotes/2.43.0.txt +++ b/Documentation/RelNotes/2.43.0.adoc diff --git a/Documentation/RelNotes/2.43.1.txt b/Documentation/RelNotes/2.43.1.adoc index 20e96f2dfa..20e96f2dfa 100644 --- a/Documentation/RelNotes/2.43.1.txt +++ b/Documentation/RelNotes/2.43.1.adoc diff --git a/Documentation/RelNotes/2.43.2.txt b/Documentation/RelNotes/2.43.2.adoc index 5895e23a54..5895e23a54 100644 --- a/Documentation/RelNotes/2.43.2.txt +++ b/Documentation/RelNotes/2.43.2.adoc diff --git a/Documentation/RelNotes/2.43.3.txt b/Documentation/RelNotes/2.43.3.adoc index 924f20594f..924f20594f 100644 --- a/Documentation/RelNotes/2.43.3.txt +++ b/Documentation/RelNotes/2.43.3.adoc diff --git a/Documentation/RelNotes/2.43.4.txt b/Documentation/RelNotes/2.43.4.adoc index 0a842515ff..0a842515ff 100644 --- a/Documentation/RelNotes/2.43.4.txt +++ b/Documentation/RelNotes/2.43.4.adoc diff --git a/Documentation/RelNotes/2.43.5.txt b/Documentation/RelNotes/2.43.5.adoc index 236b234b06..236b234b06 100644 --- a/Documentation/RelNotes/2.43.5.txt +++ b/Documentation/RelNotes/2.43.5.adoc diff --git a/Documentation/RelNotes/2.43.6.txt b/Documentation/RelNotes/2.43.6.adoc index 2114b9f78d..2114b9f78d 100644 --- a/Documentation/RelNotes/2.43.6.txt +++ b/Documentation/RelNotes/2.43.6.adoc diff --git a/Documentation/RelNotes/2.43.7.txt b/Documentation/RelNotes/2.43.7.adoc index 95702a036e..95702a036e 100644 --- a/Documentation/RelNotes/2.43.7.txt +++ b/Documentation/RelNotes/2.43.7.adoc diff --git a/Documentation/RelNotes/2.44.0.txt b/Documentation/RelNotes/2.44.0.adoc index 14f9ce8226..14f9ce8226 100644 --- a/Documentation/RelNotes/2.44.0.txt +++ b/Documentation/RelNotes/2.44.0.adoc diff --git a/Documentation/RelNotes/2.44.1.txt b/Documentation/RelNotes/2.44.1.adoc index b5135c3281..b5135c3281 100644 --- a/Documentation/RelNotes/2.44.1.txt +++ b/Documentation/RelNotes/2.44.1.adoc diff --git a/Documentation/RelNotes/2.44.2.txt b/Documentation/RelNotes/2.44.2.adoc index 76700f0b73..76700f0b73 100644 --- a/Documentation/RelNotes/2.44.2.txt +++ b/Documentation/RelNotes/2.44.2.adoc diff --git a/Documentation/RelNotes/2.44.3.txt b/Documentation/RelNotes/2.44.3.adoc index 5862845458..5862845458 100644 --- a/Documentation/RelNotes/2.44.3.txt +++ b/Documentation/RelNotes/2.44.3.adoc diff --git a/Documentation/RelNotes/2.44.4.txt b/Documentation/RelNotes/2.44.4.adoc index 8db4d5b537..8db4d5b537 100644 --- a/Documentation/RelNotes/2.44.4.txt +++ b/Documentation/RelNotes/2.44.4.adoc diff --git a/Documentation/RelNotes/2.45.0.txt b/Documentation/RelNotes/2.45.0.adoc index fec193679f..aa0315259b 100644 --- a/Documentation/RelNotes/2.45.0.txt +++ b/Documentation/RelNotes/2.45.0.adoc @@ -9,7 +9,7 @@ UI, Workflows & Features With "git init --ref-format=reftable", hopefully it would be a lot more efficient to manage a repository with many references. - * "git checkout -p" and friends learned that that "@" is a synonym + * "git checkout -p" and friends learned that "@" is a synonym for "HEAD". * Variants of vimdiff learned to honor mergetool.<variant>.layout diff --git a/Documentation/RelNotes/2.45.1.txt b/Documentation/RelNotes/2.45.1.adoc index 3b0d60cfa3..3b0d60cfa3 100644 --- a/Documentation/RelNotes/2.45.1.txt +++ b/Documentation/RelNotes/2.45.1.adoc diff --git a/Documentation/RelNotes/2.45.2.txt b/Documentation/RelNotes/2.45.2.adoc index 13429e6491..13429e6491 100644 --- a/Documentation/RelNotes/2.45.2.txt +++ b/Documentation/RelNotes/2.45.2.adoc diff --git a/Documentation/RelNotes/2.45.3.txt b/Documentation/RelNotes/2.45.3.adoc index ddb3cb694b..ddb3cb694b 100644 --- a/Documentation/RelNotes/2.45.3.txt +++ b/Documentation/RelNotes/2.45.3.adoc diff --git a/Documentation/RelNotes/2.45.4.txt b/Documentation/RelNotes/2.45.4.adoc index 5b50d8daf0..5b50d8daf0 100644 --- a/Documentation/RelNotes/2.45.4.txt +++ b/Documentation/RelNotes/2.45.4.adoc diff --git a/Documentation/RelNotes/2.46.0.txt b/Documentation/RelNotes/2.46.0.adoc index b25475918a..c06a04a91b 100644 --- a/Documentation/RelNotes/2.46.0.txt +++ b/Documentation/RelNotes/2.46.0.adoc @@ -78,7 +78,7 @@ UI, Workflows & Features turn on cover letters automatically (unless told never to enable cover letter with "--no-cover-letter" and such). - * The "--heads" option of "ls-remote" and "show-ref" has been been + * The "--heads" option of "ls-remote" and "show-ref" has been deprecated; "--branches" replaces "--heads". * For over a year, setting add.interactive.useBuiltin configuration diff --git a/Documentation/RelNotes/2.46.1.txt b/Documentation/RelNotes/2.46.1.adoc index e55c2c4a46..e55c2c4a46 100644 --- a/Documentation/RelNotes/2.46.1.txt +++ b/Documentation/RelNotes/2.46.1.adoc diff --git a/Documentation/RelNotes/2.46.2.txt b/Documentation/RelNotes/2.46.2.adoc index 613386878d..613386878d 100644 --- a/Documentation/RelNotes/2.46.2.txt +++ b/Documentation/RelNotes/2.46.2.adoc diff --git a/Documentation/RelNotes/2.46.3.txt b/Documentation/RelNotes/2.46.3.adoc index 4af032b63c..4af032b63c 100644 --- a/Documentation/RelNotes/2.46.3.txt +++ b/Documentation/RelNotes/2.46.3.adoc diff --git a/Documentation/RelNotes/2.46.4.txt b/Documentation/RelNotes/2.46.4.adoc index 622f4c752f..622f4c752f 100644 --- a/Documentation/RelNotes/2.46.4.txt +++ b/Documentation/RelNotes/2.46.4.adoc diff --git a/Documentation/RelNotes/2.47.0.txt b/Documentation/RelNotes/2.47.0.adoc index b63c3364af..b63c3364af 100644 --- a/Documentation/RelNotes/2.47.0.txt +++ b/Documentation/RelNotes/2.47.0.adoc diff --git a/Documentation/RelNotes/2.47.1.txt b/Documentation/RelNotes/2.47.1.adoc index 39206c09fd..39206c09fd 100644 --- a/Documentation/RelNotes/2.47.1.txt +++ b/Documentation/RelNotes/2.47.1.adoc diff --git a/Documentation/RelNotes/2.47.2.txt b/Documentation/RelNotes/2.47.2.adoc index 7a52ad8cb4..7a52ad8cb4 100644 --- a/Documentation/RelNotes/2.47.2.txt +++ b/Documentation/RelNotes/2.47.2.adoc diff --git a/Documentation/RelNotes/2.47.3.txt b/Documentation/RelNotes/2.47.3.adoc index bc2a2b833b..bc2a2b833b 100644 --- a/Documentation/RelNotes/2.47.3.txt +++ b/Documentation/RelNotes/2.47.3.adoc diff --git a/Documentation/RelNotes/2.48.0.adoc b/Documentation/RelNotes/2.48.0.adoc new file mode 100644 index 0000000000..eff93be37a --- /dev/null +++ b/Documentation/RelNotes/2.48.0.adoc @@ -0,0 +1,330 @@ +Git v2.48 Release Notes +======================= + +UI, Workflows & Features +------------------------ + + * A new configuration variable remote.<name>.serverOption makes the + transport layer act as if the --serverOption=<value> option is + given from the command line. + + * "git rebase --rebase-merges" now uses branch names as labels when + able. + + * Describe the policy to introduce breaking changes. + + * Teach 'git notes add' and 'git notes append' a new '-e' flag, + instructing them to open the note in $GIT_EDITOR before saving. + + * Documentation for "git bundle" saw improvements to more prominently + call out the use of '--all' when creating bundles. + + * Drop support for older libcURL and Perl. + + * End-user experience of "git mergetool" when the command errors out + has been improved. + + * "git bundle --unbundle" and "git clone" running on a bundle file + both learned to trigger fsck over the new objects with configurable + fck check levels. + + * When "git fetch $remote" notices that refs/remotes/$remote/HEAD is + missing and discovers what branch the other side points with its + HEAD, refs/remotes/$remote/HEAD is updated to point to it. + + * "git fetch" honors "remote.<remote>.followRemoteHEAD" settings to + tweak the remote-tracking HEAD in "refs/remotes/<remote>/HEAD". + + * "git range-diff" learned to optionally show and compare merge + commits in the ranges being compared, with the --diff-merges + option. + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + + * Document "amlog" notes. + + * The way AsciiDoc is used for SYNOPSIS part of the manual pages has + been revamped. The sources, at least for the simple cases, got + vastly more pleasant to work with. + + * The reftable library is now prepared to expect that the memory + allocation function given to it may fail to allocate and to deal + with such an error. + + * An extra worktree attached to a repository points at each other to + allow finding the repository from the worktree (and vice versa) + possible. Use relative paths for this linkage. + + * Enable Windows-based CI in GitLab. + + * Commands that can also work outside Git have learned to take the + repository instance "repo" when we know we are in a repository, and + NULL when we are not, in a parameter. The uses of the_repository + variable in a few of them have been removed using the new calling + convention. + + * The reftable sub-system grew a new reftable-specific strbuf + replacement to reduce its dependency on Git-specific data + structures. + + * The ref-filter machinery learns to recognize and avoid cases where + sorting would be redundant. + + * Various platform compatibility fixes split out of the larger effort + to use Meson as the primary build tool. + + * Treat ECONNABORTED the same as ECONNRESET in 'git credential-cache' + to work around a possible Cygwin regression. This resolves a race + condition caused by changes in Cygwin's handling of socket + closures, allowing the client to exit cleanly when encountering + ECONNABORTED. + + * Demonstrate an assertion failure in 'git mv'. + + * Documentation update to clarify that 'uploadpack.allowAnySHA1InWant' + implies both 'allowTipSHA1InWant' and 'allowReachableSHA1InWant'. + + * Replace various calls to atoi() with strtol_i() and strtoul_ui(), + and add improved error handling. + + * Documentation updates to 'git-update-ref(1)'. + + * Update the project's CodingGuidelines to discourage naming functions + with a "_1()" suffix. + + * Update '.clang-format' to match project conventions. + + * Centralize documentation for repository extensions into a single place. + + * Buildfix and upgrade of Clar to a newer version. + + * Documentation mark-up updates. + + * Renaming a handful of variables and structure fields. + + * Fix for clar unit tests to support CMake build. + + * C23 compatibility updates. + + * GCC 15 compatibility updates. + + * We now ensure "index-pack" is used with the "--promisor" option + only during a "git fetch". + + * The migration procedure between two ref backends has been optimized. + + * "git fsck" learned to issue warnings on "curiously formatted" ref + contents that have always been treated as valid but that Git + wouldn't have written itself (e.g., missing terminating end-of-line + after the full object name). + + * Work around Coverity warning that would not trigger in practice. + + * Built-in Git subcommands are supplied the repository object to work + with; they learned to do the same when they invoke sub-subcommands. + + * Drop support for ancient environments in various CI jobs. + + * Isolate the reftable subsystem from the rest of Git's codebase by + using fewer pieces of Git's infrastructure. + + * Optimize reading random references out of the reftable backend by + allowing reuse of iterator objects. + + * Backport oss-fuzz tests to our codebase. + + * Introduce a new repository extension to prevent older Git versions + from mis-interpreting worktrees created with relative paths. + + * Yet another "pass the repository through the callchain" topic. + + * "git describe" learned to stop digging the history needlessly + deeper. + + * Build procedure update plus introduction of Meson based builds. + + * Recent reftable updates mistook a NULL return from a request for + 0-byte allocation as OOM and died unnecessarily, which has been + corrected. + + * Reftable backend adds check for upper limit of log's update_index. + + * Start working to make the codebase buildable with -Wsign-compare. + + * Regression fix for 'show-index' when run outside of a repository. + + * The meson-build procedure is integrated into CI to catch and + prevent bitrotting. + + * "git refs migrate" learned to also migrate the reflog data across + backends. + + * The developer documentation has been updated to give the latest + info on gitk and git-gui maintainer. + + + * CI jobs that run threaded programs under LSan has been giving false + positives from time to time, which has been worked around. + + +Fixes since v2.47 +----------------- + + * Doc update to clarify how periodical maintenance are scheduled, + spread across time to avoid thundering herds. + + * Use after free and double freeing at the end in "git log -L... -p" + had been identified and fixed. + + * On macOS, fsmonitor can fall into a race condition that results in + a client waiting forever to be notified about an event that has + already happened. This problem has been corrected. + + * "git maintenance start" crashed due to an uninitialized variable + reference, which has been corrected. + + * Fail gracefully instead of crashing when attempting to write the + contents of a corrupt in-core index as a tree object. + + * A "git fetch" from the superproject going down to a submodule used + a wrong remote when the default remote names are set differently + between them. + + * Fixes compile time warnings with 64-bit MSVC. + + * Teaches 'shortlog' to explicitly use SHA-1 when operating outside + of a repository. + + * Fix 'git grep' regression on macOS by disabling lookahead when + encountering invalid UTF-8 byte sequences. + + * The dumb-http code regressed when the result of re-indexing a pack + yielded an *.idx file that differs in content from the *.idx file + it downloaded from the remote. This has been corrected by no longer + relying on the *.idx file we got from the remote. + + * When called with '--left-right' and '--use-bitmap-index', 'rev-list' + will produce output without any left/right markers, which has been + corrected. + + * More leakfixes. + + * Test modernization. + + * The "--shallow-exclude=<ref>" option to various history transfer + commands takes a ref, not an arbitrary revision. + + * A regression where commit objects missing from a commit-graph can + cause an infinite loop when doing a fetch in a partial clone has + been fixed. + + * The MinGW compatibility layer has been taught to support POSIX + semantics for atomic renames when other process(es) have a file + opened at the destination path. + + * "git gc" discards any objects that are outside promisor packs that + are referred to by an object in a promisor pack, and we do not + refetch them from the promisor at runtime, resulting an unusable + repository. Work around it by including these objects in the + referring promisor pack at the receiving end of the fetch. + + * Avoid build/test breakage on a system without working malloc debug + support dynamic library. + (merge 72ad6dc368 jk/test-malloc-debug-check later to maint). + + * Double-free fix. + (merge fe17a25905 jk/fetch-prefetch-double-free-fix later to maint). + + * Use of some uninitialized variables in "git difftool" has been + corrected. + + * Object reuse code based on multi-pack-index sent an unwanted copy + of object. + (merge e199290592 tb/multi-pack-reuse-dupfix later to maint). + + * "git fast-import" can be tricked into a replace ref that maps an + object to itself, which is a useless thing to do. + (merge 5e904f1a4a en/fast-import-avoid-self-replace later to maint). + + * The ref-transaction hook triggered for reflog updates, which has + been corrected. + (merge b886db48c6 kn/ref-transaction-hook-with-reflog later to maint). + + * Give a bit of advice/hint message when "git maintenance" stops finding a + lock file left by another instance that still is potentially running. + (merge ba874d1dac ps/gc-stale-lock-warning later to maint). + + * Use the right helper program to measure file size in performance tests. + (merge 3f97f1bce6 tb/use-test-file-size-more later to maint). + + * A double-free that may not trigger in practice by luck has been + corrected in the reference resolution code. + (merge b6318cf23a sj/refs-symref-referent-fix later to maint). + + * The sequencer failed to honor core.commentString in some places. + + * Describe a case where an option value needs to be spelled as a + separate argument, i.e. "--opt val", not "--opt=val". + (merge 1bc1e94091 jc/doc-opt-tilde-expand later to maint). + + * Loosen overly strict ownership check introduced in the recent past, + to keep the promise "cloning a suspicious repository is a safe + first step to inspect it". + (merge 0ffb5a6bf1 bc/allow-upload-pack-from-other-people later to maint). + + * "git fast-import" learned to reject paths with ".." and "." as + their components to avoid creating invalid tree objects. + (merge 8cb4c6e62f en/fast-import-verify-path later to maint). + + * The --ancestry-path option is designed to be given a commit that is + on the path, which was not documented, which has been corrected. + (merge bc1a980759 kk/doc-ancestry-path later to maint). + + * "git tag" has been taught to refuse to create refs/tags/HEAD + since such a tag will be confusing in the context of the UI provided by + the Git Porcelain commands. + (merge bbd445d5ef jc/forbid-head-as-tagname later to maint). + + * The advice messages now tell the newer 'git config set' command to + set the advice.token configuration variable to squelch a message. + (merge 6c397d0104 bf/explicit-config-set-in-advice-messages later to maint). + + * The syntax ":/<text>" to name the latest commit with the matching + text was broken with a recent change, which has been corrected. + (merge 0ff919e87a ps/commit-with-message-syntax-fix later to maint). + + * Fix performance regression of a recent "fatten promisor pack with + local objects" protection against an unwanted gc. + + * "git log -p --remerge-diff --reverse" was completely broken. + (merge f94bfa1516 js/log-remerge-keep-ancestry later to maint). + + * "git bundle create" with an annotated tag on the positive end of + the revision range had a workaround code for older limitation in + the revision walker, which has become unnecessary. + (merge dd1072dfa8 tc/bundle-with-tag-remove-workaround later to maint). + + * GitLab CI updates. + (merge c6b43f663e ps/ci-gitlab-update later to maint). + + * Code to reuse objects based on bitmap contents have been tightened + to avoid race condition even when multiple packs are involved. + (merge 62b3ec8a3f tb/bitmap-fix-pack-reuse later to maint). + + * An earlier "csum-file checksum does not have to be computed with + sha1dc" topic had a few code paths that had initialized an + implementation of a hash function to be used by an unmatching hash + by mistake, which have been corrected. + (merge 599a63409b ps/weak-sha1-for-tail-sum-fix later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge 77af53f56f aa/t7300-modernize later to maint). + (merge dcd590a39d bf/t-readme-mention-reftable later to maint). + (merge 68e3c69efa kh/trailer-in-glossary later to maint). + (merge 91f88f76e6 tb/boundary-traversal-fix later to maint). + (merge 168ebb7159 jc/doc-error-message-guidelines later to maint). + (merge 18693d7d65 kh/doc-bundle-typofix later to maint). + (merge e2f5d3b491 kh/doc-update-ref-grammofix later to maint). + (merge 8525e92886 mh/doc-windows-home-env later to maint). diff --git a/Documentation/RelNotes/2.48.1.adoc b/Documentation/RelNotes/2.48.1.adoc new file mode 100644 index 0000000000..26c59b6e3b --- /dev/null +++ b/Documentation/RelNotes/2.48.1.adoc @@ -0,0 +1,7 @@ +Git v2.48.1 Release Notes +========================= + +This release merges up the fix that appears in v2.40.4, v2.41.3, +v2.42.4, v2.43.6, v2.44.3, v2.45.3, v2.46.3, and v2.47.2 to address +the security issues CVE-2024-50349 and CVE-2024-52006; see the release +notes for these versions for details. diff --git a/Documentation/RelNotes/2.48.2.adoc b/Documentation/RelNotes/2.48.2.adoc new file mode 100644 index 0000000000..f3f2f90c2b --- /dev/null +++ b/Documentation/RelNotes/2.48.2.adoc @@ -0,0 +1,8 @@ +Git v2.48.2 Release Notes +========================= + +This release merges up the fixes that appears in v2.43.7, v2.44.4, +v2.45.4, v2.46.4, and v2.47.3 to address the following CVEs: +CVE-2025-27613, CVE-2025-27614, CVE-2025-46334, CVE-2025-46835, +CVE-2025-48384, CVE-2025-48385, and CVE-2025-48386. See the release +notes for v2.43.7 for details. diff --git a/Documentation/RelNotes/2.49.0.adoc b/Documentation/RelNotes/2.49.0.adoc new file mode 100644 index 0000000000..494c83096f --- /dev/null +++ b/Documentation/RelNotes/2.49.0.adoc @@ -0,0 +1,288 @@ +Git v2.49 Release Notes +======================= + +UI, Workflows & Features +------------------------ + + * Completion script updates for zsh + + * "git pack-objects" and its wrapper "git repack" learned an option + to use an alternative path-hash function to improve delta-base + selection to produce a packfile with deeper history than window + size. + + * "git gc" learned the "--expire-to" option and passes it down to + underlying "git repack". + + * "[help] autocorrect = 1" used to be a way to say "please wait for + 0.1 second after suggesting a typofix of the command name before + running that command"; now it means "yes, if there is a plausible + typofix for the command name, please run it immediately". + + * "git clone" learned to make a shallow clone for a single commit + that is not necessarily be at the tip of any branch. + + * Lazy-loading missing files in a blobless clone on demand is costly + as it tends to be one-blob-at-a-time. "git backfill" is introduced + to help bulk-download necessary files beforehand. + + * "git push --atomic --porcelain" used to ignore failures from the + other side, losing the error status from the child process, which + has been corrected. + + * "git rev-list --missing=" learned to accept "print-info" that gives + known details expected of the missing objects, like path and type. + + * Comes with an updated "gitk". + + * The documentation of "git commit" and "git rebase" now refer to + commit titles as such, not "subject". + + * The value of "uname -s" is by default sent over the wire as a part + of the "version" capability. + + * "git refs migrate" can optionally be told not to migrate the reflog. + + * The netrc support (via the cURL library) for the HTTP transport has + been re-enabled. + + * Removal of ".git/branches" and ".git/remotes" support in the + BreakingChanges document has been further clarified. + + * What happens to submodules during merge has been documented in a + bit more detail. + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + + * More -Wsign-compare fixes. + + * meson-based build now supports the unsafe-sha1 build knob. + + * The meson-based build procedure covers contrib/ and other places as + well. + + * The code to check LSan results has been simplified and made more + robust. + (merge 164a2516eb jk/lsan-race-ignore-false-positive later to maint). + + * More code paths have a repository passed through the callchain, + instead of assuming the primary the_repository object. + + * Move a few more unit tests to the clar test framework. + + * Introduce a new API to visit objects in batches based on a common + path, or by type. + + * Following the procedure we established to introduce breaking + changes for Git 3.0, allow an early opt-in for removing support of + $GIT_DIR/branches/ and $GIT_DIR/remotes/ directories to configure + remotes. + + * The code paths to interact with zlib has been cleaned up in + preparation for building with zlib-ng. + + * Foreign language interface for Rust into our code base has been added. + + * All the documentation .txt files have been renamed to .adoc to help + content aware editors. + + * "git difftool" code clean-up. + + * Rename processing in the recursive merge backend has seen a micro + optimization. + + * The path.[ch] API takes an explicit repository parameter passed + throughout the callchain, instead of relying on the_repository + singleton instance. + + * Large-object promisor protocol extension has been introduced. + + * The editorconfig file is updated to tell us that bash scripts are + similar to general Bourne shell scripts. + + * Meson-based build procedure forgot to build some docs, which has + been corrected. + + +Fixes since v2.48 +----------------- + + * "git submodule" learned various ways to spell the same option, + e.g. "--branch=B" can be spelled "--branch B" or "-bB". + (merge b86f0f9071 re/submodule-parse-opt later to maint). + + * Tweak the help text used for the option value placeholders by + parse-options API so that translations can customize the "<>" + placeholder signal (e.g. "--option=<value>"). + (merge 5b34dd08d0 as/long-option-help-i18n later to maint). + + * CI jobs gave sporadic failures, which turns out that that the + object finalization code was giving an error when it did not have + to. + (merge d7fcbe2c56 ps/object-collision-check later to maint). + + * The code to compute "unique" name used git_rand() which can fail or + get stuck; the callsite does not require cryptographic security. + Introduce the "insecure" mode and use it appropriately. + (merge 0b4f8afef6 ps/reftable-get-random-fix later to maint). + + * A misconfigured "fsck.skiplist" configuration variable was not + diagnosed as an error, which has been corrected. + (merge ca7158076f jt/fsck-skiplist-parse-fix later to maint). + + * Extended SHA-1 expression parser did not work well when a branch + with an unusual name (e.g. "foo{bar") is involved. + (merge 191f0c8db2 en/object-name-with-funny-refname-fix later to maint). + + * The meson build procedure looked for the 'version-def.h' file in a + wrong directory, which has been corrected. + (merge 4771501c0a tc/meson-use-our-version-def-h later to maint). + + * The meson build procedure for Documentation/technical/ hierarchy was + missing necessary dependencies, which has been corrected. + (merge 1dca492edd sj/meson-doc-technical-dependency-fix later to maint). + + * The "instaweb" bound only to local IP address without "--local" and + to all addresses with "--local", which was the other way around, when + using Python's http.server class, which has been corrected. + (merge 76baf97fa1 ak/instaweb-python-port-binding-fix later to maint). + + * Document that it is insecure to use Personal Access Tokens, which + some hosting providers take as username/password, embedded in URLs. + (merge a90ff409f0 mh/doc-credential-helpers-with-pat later to maint). + + * The help text from "git $cmd -h" appear on the standard output for + some $cmd and the standard error for others. The built-in commands + have been fixed to show them on the standard output consistently. + (merge f66d1423f5 jc/show-usage-help later to maint). + + * The meson-driven build is now aware of "git-subtree" housed in + contrib/subtree hierarchy. + (merge 8454b42f94 ps/build-meson-subtree later to maint). + + * It was possible for "git unpack-objects" and "git index-pack" to + make an unaligned access, which has been corrected. + (merge 98046591b9 jk/pack-header-parse-alignment-fix later to maint). + + * The "cache" credential back-end did not handle authtype correctly, + which has been corrected. + (merge 0b43274850 mh/credential-cache-authtype-request-fix later to maint). + + * "git branch --sort=..." and "git for-each-ref --format=... --sort=..." + did not work as expected with some atoms, which has been corrected. + (merge c5490ce9d1 rs/ref-fitler-used-atoms-value-fix later to maint). + + * reflog entries for symbolic ref updates were broken, which has been + corrected. + (merge 3519492430 kn/reflog-symref-fix later to maint). + + * The trace2 code was not prepared to show a configuration variable + that is set to true using the valueless true syntax, which has been + corrected. + (merge 2fd367cf63 am/trace2-with-valueless-true later to maint). + + * The "git refs migrate" command did not migrate the reflog for + refs/stash, which is the contents of the stashes, which has been + corrected. + (merge a0bea0978f ps/reflog-migration-with-logall-fix later to maint). + + * Doc and short-help text for "show-index" has been clarified to + stress that the command reads its data from the standard input. + (merge 49edce4ff9 jc/show-index-h-update later to maint). + + * The API around choosing to use unsafe variant of SHA-1 + implementation has been updated in an attempt to make it harder to + abuse. + (merge 04292c3796 tb/unsafe-hash-cleanup later to maint). + + * Fix bugs in an earlier attempt to fix "git refs migration". + (merge f11f0a5a2d kn/reflog-migration-fix-fix later to maint). + + * The code path used when "git fetch" fetches from a bundle file + closed the same file descriptor twice, which sometimes broke things + unexpectedly when the file descriptor was reused, which has been + corrected. + (merge 9a84794ad8 js/bundle-unbundle-fd-reuse-fix later to maint). + + * "git init" to reinitialize a repository that already exists cannot + change the hash function and ref backends; such a request is + silently ignored now. + (merge 7e88640cd1 ps/setup-reinit-fixes later to maint). + + * "git apply" internally uses unsigned long for line numbers and uses + strtoul() to parse numbers on the hunk headers. It however forgot + to check parse errors. + (merge a206058fda pw/apply-ulong-overflow-check later to maint). + + * Two CI tasks, whitespace check and style check, work on the + difference from the base version and the version being checked, but + the base was computed incorrectly in GitLab CI in some cases, which + has been corrected. + (merge acc4fb302b jt/gitlab-ci-base-fix later to maint). + + * "git repack --keep-unreachable" to send unreachable objects to the + main pack "git repack -ad" produces did not work when there is no + existing packs, which has been corrected. + (merge 414c82300a ps/repack-keep-unreachable-in-unpacked-repo later to maint). + + * Going into a secondary worktree and asking "is the main worktree + bare?" did not work correctly when per-worktree configuration + option was in use, which has been corrected. + + * Fetching into a bare repository incorrectly assumed it always used + a mirror layout when deciding to update remote-tracking HEAD, which + has been corrected. + (merge 93dc16483a bf/fetch-set-head-fix later to maint). + + * A thunderbird helper script lost its bashism. + (merge 59d26bd961 bc/contrib-thunderbird-patch-inline-fix later to maint). + + * The -G/-S options to the "diff" family of commands caused us to hit + a BUG() when they get no values; they have been corrected. + (merge a620046b29 bc/diff-reject-empty-arg-to-pickaxe later to maint). + + * "git merge-tree --stdin" has been improved (including a workaround + for a deadlock). + (merge 6a9ae81015 pw/merge-tree-stdin-deadlock-fix later to maint). + + * Correct the default target in Documentation/Makefile, and + future-proof all Makefiles from similar breakages by declaring the + default target (which happens to be "all") upfront. + (merge 5309c1e9fb ad/set-default-target-in-makefiles later to maint). + + * "git check-mailmap" used to segfault when queried without human + readable name. + (merge bb60c52131 jk/check-mailmap-wo-name-fix later to maint). + + * Support for renaming of symbolic links on Windows has been improved. + + * "git rebase -i" failed to allow rewording an empty commit that has + been fast-forwarded. + (merge af8fc7be10 pw/rebase-i-ff-empty-commit later to maint). + + * The use of "paste" command for aggregating the test results have + been corrected. + (merge ce98863204 dk/test-aggregate-results-paste-fix later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge ddb5287894 jk/t7407-use-test-grep later to maint). + (merge 21e1b44865 aj/difftool-config-doc-fix later to maint). + (merge 6a63995335 mh/gitattr-doc-markup-fix later to maint). + (merge 43850dcf9c sk/unit-test-hash later to maint). + (merge 4ad47d2de3 jc/cli-doc-option-and-config later to maint). + (merge 2d0ff147e5 jp/t8002-printf-fix later to maint). + (merge 69666e6746 ja/doc-restore-markup-update later to maint). + (merge d11d003ba5 sk/strlen-returns-size_t later to maint). + (merge 77b2d29e91 ja/doc-notes-markup-updates later to maint). + (merge 6979bf6f8f jk/combine-diff-cleanup later to maint). + (merge 8705c9bd13 kn/pack-write-with-reduced-globals later to maint). + (merge 087740d65a ps/leakfixes-0129 later to maint). + (merge 6bba6f604b jp/doc-trailer-config later to maint). + (merge f1cc562b77 lo/t7603-path-is-file-update later to maint). + (merge 45761988ac en/doc-renormalize later to maint). + (merge 832f56f06a jc/doc-boolean-synonyms later to maint). + (merge 3eeed876a9 ac/doc-http-ssl-type-config later to maint). + (merge c268e3285d jc/breaking-changes-early-adopter-option later to maint). + (merge 0d03fda6a5 pb/doc-follow-remote-head later to maint). diff --git a/Documentation/RelNotes/2.49.1.adoc b/Documentation/RelNotes/2.49.1.adoc new file mode 100644 index 0000000000..c619e8b495 --- /dev/null +++ b/Documentation/RelNotes/2.49.1.adoc @@ -0,0 +1,12 @@ +Git v2.49.1 Release Notes +========================= + +This release merges up the fixes that appear in v2.43.7, v2.44.4, +v2.45.4, v2.46.4, v2.47.3, and v2.48.2 to address the following CVEs: +CVE-2025-27613, CVE-2025-27614, CVE-2025-46334, CVE-2025-46835, +CVE-2025-48384, CVE-2025-48385, and CVE-2025-48386. See the release +notes for v2.43.7 for details. + +It also contains some updates to various CI bits to work around +and/or to adjust to the deprecation of use of Ubuntu 20.04 GitHub +Actions CI, updates to to Fedora base image. diff --git a/Documentation/RelNotes/2.5.0.txt b/Documentation/RelNotes/2.5.0.adoc index 84723f912a..84723f912a 100644 --- a/Documentation/RelNotes/2.5.0.txt +++ b/Documentation/RelNotes/2.5.0.adoc diff --git a/Documentation/RelNotes/2.5.1.txt b/Documentation/RelNotes/2.5.1.adoc index b70553308a..b70553308a 100644 --- a/Documentation/RelNotes/2.5.1.txt +++ b/Documentation/RelNotes/2.5.1.adoc diff --git a/Documentation/RelNotes/2.5.2.txt b/Documentation/RelNotes/2.5.2.adoc index 3f749398bb..3f749398bb 100644 --- a/Documentation/RelNotes/2.5.2.txt +++ b/Documentation/RelNotes/2.5.2.adoc diff --git a/Documentation/RelNotes/2.5.3.txt b/Documentation/RelNotes/2.5.3.adoc index d1436857cb..d1436857cb 100644 --- a/Documentation/RelNotes/2.5.3.txt +++ b/Documentation/RelNotes/2.5.3.adoc diff --git a/Documentation/RelNotes/2.5.4.txt b/Documentation/RelNotes/2.5.4.adoc index b8a2f93ee7..b8a2f93ee7 100644 --- a/Documentation/RelNotes/2.5.4.txt +++ b/Documentation/RelNotes/2.5.4.adoc diff --git a/Documentation/RelNotes/2.5.5.txt b/Documentation/RelNotes/2.5.5.adoc index 37eae9a2d9..37eae9a2d9 100644 --- a/Documentation/RelNotes/2.5.5.txt +++ b/Documentation/RelNotes/2.5.5.adoc diff --git a/Documentation/RelNotes/2.5.6.txt b/Documentation/RelNotes/2.5.6.adoc index 9cd025bb1c..9cd025bb1c 100644 --- a/Documentation/RelNotes/2.5.6.txt +++ b/Documentation/RelNotes/2.5.6.adoc diff --git a/Documentation/RelNotes/2.50.0.adoc b/Documentation/RelNotes/2.50.0.adoc new file mode 100644 index 0000000000..e85747335b --- /dev/null +++ b/Documentation/RelNotes/2.50.0.adoc @@ -0,0 +1,441 @@ +Git v2.50 Release Notes +======================= + +UI, Workflows & Features +------------------------ + + * A post-processing filter for "diff --raw" output has been + introduced. + + * "git repack" learned "--combine-cruft-below-size" option that + controls how cruft-packs are combined. + + * TCP keepalive behaviour on http transports can now be configured by + calling cURL library. + + * Incrementally updating multi-pack index files. + + * "git reflog" learns "drop" subcommand, that discards the entire + reflog data for a ref. + + * A new userdiff driver for ".ini" format configuration files has + been added. + + * The job to coalesce loose objects into packfiles in "git + maintenance" now has configurable batch size. + + * "git clone" still gave the message about the default branch name; + this message has been turned into an advice message that can be + turned off. + + * "git rev-list" learns machine-parsable output format that delimits + each field with NUL. + + * "git maintenance" learns a new task to expire reflog entries. + + * Auth-related (and unrelated) error handling in send-email has been + made more robust. + + * Updating multiple references have only been possible in an all-or-nothing + fashion with transactions, but it can be more efficient to batch + multiple updates even when some of them are allowed to fail in a + best-effort manner. A new "best effort batches of updates" mode + has been introduced. + + * "git help --build-options" reports SHA-1 and SHA-256 backends used + in the build. + + * "git cat-file --batch" and friends learned to allow "--filter=" to + omit certain objects, just like the transport layer does. + + * "git blame --porcelain" mode now talks about unblamable lines and + lines that are blamed to an ignored commit. + + * The build procedure installs bash (but not zsh) completion script. + + * send-email has been updated to work better with Outlook's SMTP server. + + * "git diff --minimal" used to give non-minimal output when its + optimization kicked in, which has been disabled. + + * "git index-pack --fix-thin" used to abort to prevent a cycle in + delta chains from forming in a corner case even when there is no + such cycle. + + * Make repository clean-up tasks that "gc" can do available to "git + maintenance" front-end. + + * Bundle-URI feature did not use refs recorded in the bundle other + than normal branches as anchoring points to optimize the follow-up + fetch during "git clone"; now it is told to utilize all. + + * The `send-email` documentation has been updated with OAuth2.0 + related examples. + + * Two of the "scalar" subcommands that add a repository that hasn't + been under "scalar"'s control are taught an option not to enable the + scheduled maintenance on it. + + * The userdiff pattern for shell scripts has been updated to cope + with more bash-isms. + + * "git merge-tree" learned an option to see if it resolves cleanly + without actually creating a result. + + * The commit title in the "rebase -i" todo file are now prefixed with + '#', just like a merge commit being replayed. + + * "git receive-pack" optionally learns not to care about connectivity + check, which can be useful when the repository arranges to ensure + connectivity by some other means. + + * "git notes --help" documentation updates. + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + + * A handful of built-in command implementations have been rewritten + to use the repository instance supplied by git.c:run_builtin(), its + caller. + + * "git fsck" becomes more careful when checking the refs. + + * "git fast-export | git fast-import" learns to deal with commit and + tag objects with embedded signatures a bit better. This is highly + experimental and the format of the data stream may change in the + future without compatibility guarantees. + + * The code paths to check whether a refname X is available (by seeing + if another ref X/Y exists, etc.) have been optimized. + + * First step of deprecating and removing merge-recursive. + + * In protocol v2 where the refs advertisement is constrained, we try + to tell the server side not to limit the advertisement when there + is no specific need to, which has been the source of confusion and + recent bugs. Revamp the logic to simplify. + + * Update meson based build procedure for breaking changes support. + + * Enable -Wunreachable-code for developer builds. + + * Ensure what we write in assert() does not have side effects, + and introduce ASSERT() macro to mark those that cannot be + mechanically checked for lack of side effects. + + * Give more meaningful error return values from block writer layer of + the reftable ref-API backend. + + * Make the code in reftable library less reliant on the service + routines it used to borrow from Git proper, to make it easier to + use by external users of the library. + + * CI update. + + * The object layer has been updated to take an explicit repository + instance as a parameter in more code paths. + + * Some warnings from "-Wsign-compare" for builtin/rm.c have been + squelched. + + * A few traditional unit tests have been rewritten to use the clar + framework. + + * Some warnings from "-Wsign-compare" for pathspec.c have been + squelched. + + * "make test" used to have a hard dependency on (basic) Perl; tests + have been rewritten help environment with NO_PERL test the build as + much as possible. + + * Remove remnants of the recursive merge strategy backend, which was + superseded by the ort merge strategy. + + * Optimize the code to dedup references recorded in a bundle file. + + * Update parse-options API to catch mistakes to pass address of an + integral variable of a wrong type/size. + + * Since a call to repo_config() can be called with repo set to NULL + these days, a command that is marked as RUN_SETUP in the builtin + command table does not have to check repo with NULL before making + the call. + + * Overhaul of the reftable API. + + * Reduce requirement for Perl in our documentation build and a few + scripts. + + * The build procedure based on Meson learned to drive the + benchmarking tests. + + * Code clean-up for meson-based build infrastructure. + + * Add an equivalent to "make hdr-check" target to meson based builds. + + * Further code clean-up in the object-store layer. + + * Build performance fix. + + * Teach "git send-email" to also consult `hostname -f` for mail + domain to compute the identity given to SMTP servers. + + * The dependency on the_repository variable has been reduced from the + code paths in "git replay". + + * Support to create a loose object file with unknown object type has + been dropped. + + * The code path to access the "packed-refs" file while "fsck" is + taught to mmap the file, instead of reading the whole file into + memory. + + * Assorted fixes for issues found with CodeQL. + + * Remove the leftover hints to the test framework to mark tests that + do not pass the leak checker tests, as they should no longer be + needed. + + * When a stale .midx file refers to .pack files that no longer exist, + we ended up checking for these non-existent files repeatedly, which + has been optimized by memoizing the non-existence. + + * Build settings have been improved for BSD based systems. + + * Newer version of libcURL detected curl_easy_setopt() calls we made + with platform-natural "int" when we should have used "long", which + all have been corrected. + + * Tests that compare $HOME and $(pwd), which should be the same + directory unless the tests chdir's around, would fail when the user + enters the test directory via symbolic links, which has been + corrected. + + +Fixes since v2.49 +----------------- + + * The refname exclusion logic in the packed-ref backend has been + broken for some time, which confused upload-pack to advertise + different set of refs. This has been corrected. + (merge 10e8a9352b tb/refs-exclude-fixes later to maint). + + * The merge-recursive and merge-ort machinery crashed in corner cases + when certain renames are involved. + (merge 3adba40858 en/merge-process-renames-crash-fix later to maint). + + * Certain "cruft" objects would have never been refreshed when there + are multiple cruft packs in the repository, which has been + corrected. + (merge 08f612ba70 tb/multi-cruft-pack-refresh-fix later to maint). + + * The xdiff code on 32-bit platform misbehaved when an insanely large + context size is given, which has been corrected. + (merge d39e28e68c rs/xdiff-context-length-fix later to maint). + + * GitHub Actions CI switched on a CI/CD variable that does not exist + when choosing what packages to install etc., which has been + corrected. + (merge ee89f7c79d kn/ci-meson-check-build-docs-fix later to maint). + + * Using "git name-rev --stdin" as an example, improve the framework to + prepare tests to pretend to be in the future where the breaking + changes have already happened. + (merge de3dec1187 jc/name-rev-stdin later to maint). + + * An earlier code refactoring of the hash machinery missed a few + required calls to init_fn. + (merge d39f04b638 jh/hash-init-fixes later to maint). + + * A documentation page was left out from formatting and installation, + which has been corrected. + (merge ae85116f18 pw/build-breaking-changes-doc later to maint). + + * The bash command line completion script (in contrib/) has been + updated to cope with remote repository nicknames with slashes in + them. + (merge 778d2f1760 dm/completion-remote-names-fix later to maint). + + * "Dubious ownership" checks on Windows has been tightened up. + (merge 5bb88e89ef js/mingw-admins-are-special later to maint). + + * Layout configuration in vimdiff backend didn't work as advertised, + which has been corrected. + (merge 93bab2d04b fr/vimdiff-layout-fixes later to maint). + + * Fix our use of zlib corner cases. + (merge 1cb2f293f5 jk/zlib-inflate-fixes later to maint). + + * Fix lockfile contention in reftable code on Windows. + (merge 0a3dceabf1 ps/mingw-creat-excl-fix later to maint). + + * "git-merge-file" documentation source, which has lines that look + like conflict markers, lacked custom conflict marker size defined, + which has been corrected.. + (merge d3b5832381 pw/custom-conflict-marker-size-for-merge-related-docs later to maint). + + * Squelch false-positive from sparse. + (merge da87b58014 dd/sparse-glibc-workaround later to maint). + + * Adjust to the deprecation of use of Ubuntu 20.04 GitHub Actions CI. + (merge 832d9f6d0b js/ci-github-update-ubuntu later to maint). + + * Work around CI breakage due to fedora base image getting updated. + (merge 8a471a663b js/ci-fedora-gawk later to maint). + + * A ref transaction corner case fix. + (merge b9fadeead7 jt/ref-transaction-abort-fix later to maint). + + * Random build fixes. + (merge 85e1d6819f ps/misc-build-fixes later to maint). + + * "git fetch [<remote>]" with only the configured fetch refspec + should be the only thing to update refs/remotes/<remote>/HEAD, + but the code was overly eager to do so in other cases. + + * Incorrect sorting of refs with bytes with high-bit set on platforms + with signed char led to a BUG, which has been corrected. + + * "make perf" fixes. + (merge 1665f12fa0 pb/perf-test-fixes later to maint). + + * Doc mark-up updates. + (merge 5a5565ec44 ja/doc-reset-mv-rm-markup-updates later to maint). + + * Work around false positive from CodeQL checker. + (merge 0f558141ed js/range-check-codeql-workaround later to maint). + + * "git log --{left,right}-only A...B", when A and B does not share + any common ancestor, now behaves as expected. + (merge e7ef4be7c2 mh/left-right-limited later to maint). + + * Document the convention to disable hooks altogether by setting the + hooksPath configuration variable to /dev/null. + (merge 1b2eee94f1 ds/doc-disable-hooks later to maint). + + * Make sure outage of third-party sites that supply P4, Git-LFS, and + JGit we use for testing would not prevent our CI jobs from running + at all. + + * Various build tweaks, including CSPRNG selection on some platforms. + (merge cdda67de03 rj/build-tweaks later to maint). + + * Developer support fix.. + (merge 32b74b9809 js/git-perf-env-override later to maint). + + * Fix for scheduled maintenance tasks on platforms using launchctl. + (merge eb2d7beb0e jh/gc-launchctl-schedule-fix later to maint). + + * Update to arm64 Windows port (part of which had been reverted as it + broke builds for existing platforms, which may need to be redone in + future releases). + + * hashmap API clean-up to ensure hashmap_clear() leaves a cleared map + in a reusable state. + (merge 9481877de3 en/hashmap-clear-fix later to maint). + + * "git mv a a/b dst" would ask to move the directory 'a' itself, as + well as its contents, in a single destination directory, which is + a contradicting request that is impossible to satisfy. This case is + now detected and the command errors out. + (merge 974f0d4664 ps/mv-contradiction-fix later to maint). + + * Further refinement on CI messages when an optional external + software is unavailable (e.g. due to third-party service outage). + (merge 956acbefbd jc/ci-skip-unavailable-external-software later to maint). + + * Test result aggregation did not work in Meson based CI jobs. + (merge bd38ed5be1 ps/ci-test-aggreg-fix-for-meson later to maint). + + * Code clean-up around stale CI elements and building with Visual Studio. + (merge a7b060f67f js/ci-buildsystems-cleanup later to maint). + + * "git add 'f?o'" did not add 'foo' if 'f?o', an unusual pathname, + also existed on the working tree, which has been corrected. + (merge ec727e189c kj/glob-path-with-special-char later to maint). + + * The fallback implementation of open_nofollow() depended on + open("symlink", O_NOFOLLOW) to set errno to ELOOP, but a few BSD + derived systems use different errno, which has been worked around. + (merge f47bcc3413 cf/wrapper-bsd-eloop later to maint). + + * Use-after-free fix in the sequencer. + (merge 5dbaec628d pw/sequencer-reflog-use-after-free later to maint). + + * win+Meson CI pipeline, unlike other pipelines for Windows, + used to build artifacts in developer mode, which has been changed to + build them in release mode for consistency. + (merge 184abdcf05 js/ci-build-win-in-release-mode later to maint). + + * CI settings at GitLab has been updated to run MSVC based Meson job + automatically (as opposed to be done only upon manual request). + (merge 6389579b2f ps/ci-gitlab-enable-msvc-meson-job later to maint). + + * "git apply" and "git add -i/-p" code paths no longer unnecessarily + expand sparse-index while working. + (merge ecf9ba20e3 ds/sparse-apply-add-p later to maint). + + * Avoid adding directory path to a sparse-index tree entries to the + name-hash, since they would bloat the hashtable without anybody + querying for them. This was done already for a single threaded + part of the code, but now the multi-threaded code also does the + same. + (merge 2e60aabc75 am/sparse-index-name-hash-fix later to maint). + + * Recent versions of Perl started warning against "! A =~ /pattern/" + which does not negate the result of the matching. As it turns out + that the problematic function is not even called, it was removed. + (merge 67cae845d2 op/cvsserver-perl-warning later to maint). + + * "git apply --index/--cached" when applying a deletion patch in + reverse failed to give the mode bits of the path "removed" by the + patch to the file it creates, which has been corrected. + + * "git verify-refs" errored out in a repository in which + linked worktrees were prepared with Git 2.43 or lower. + (merge d5b3c38b8a sj/ref-contents-check-fix later to maint). + + * Update total_ram() function on BSD variants. + + * Update online_cpus() function on BSD variants. + + * Revert a botched bswap.h change that broke ntohll() functions on + big-endian systems with __builtin_bswap32/64(). + + * Fixes for GitHub Actions Coverity job. + (merge 3cc4fc1ebd js/github-ci-win-coverity-fix later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge 227c4f33a0 ja/doc-block-delimiter-markup-fix later to maint). + (merge 2bfd3b3685 ab/decorate-code-cleanup later to maint). + (merge 5337daddc7 am/dir-dedup-decl-of-repository later to maint). + (merge 554051d691 en/diff-rename-follow-fix later to maint). + (merge a18c18b470 en/random-cleanups later to maint). + (merge 5af21c9acb hj/doc-rev-list-ancestry-fix later to maint). + (merge 26d76ca284 aj/doc-restore-p-update later to maint). + (merge 2c0dcb9754 cc/lop-remote later to maint). + (merge 7b399322a2 ja/doc-branch-markup later to maint). + (merge ee434e1807 pw/doc-pack-refs-markup-fix later to maint). + (merge c000918eb7 tb/bitamp-typofix later to maint). + (merge fa8cd29676 js/imap-send-peer-cert-verify later to maint). + (merge 98b423bc1c rs/clear-commit-marks-simplify later to maint). + (merge 133d065dd6 ta/bulk-checkin-signed-compare-false-warning-fix later to maint). + (merge d2827dc31e es/meson-build-skip-coccinelle later to maint). + (merge ee8edb7156 dk/vimdiff-doc-fix later to maint). + (merge 107d889303 md/t1403-path-is-file later to maint). + (merge abd4192b07 js/comma-semicolon-confusion later to maint). + (merge 27b7264206 ab/environment-clean-header later to maint). + (merge ff4a749354 as/typofix-in-env-h-header later to maint). + (merge 86eef3541e az/tighten-string-array-constness later to maint). + (merge 25292c301d lo/remove-log-reencode-from-rev-info later to maint). + (merge 1aa50636fd jk/p5332-testfix later to maint). + (merge 42cf4ac552 ps/ci-resurrect-p4-on-github later to maint). + (merge 104add8368 js/diff-codeql-false-positive-workaround later to maint). + (merge f62977b93c en/get-tree-entry-doc later to maint). + (merge e5dd0a05ed ly/am-split-stgit-leakfix later to maint). + (merge bac220e154 rc/t1001-test-path-is-file later to maint). + (merge 91db6c735d ly/reftable-writer-leakfix later to maint). + (merge 20e4e9ad0b jc/doc-synopsis-option-markup later to maint). + (merge cddcee7f64 es/meson-configure-build-options-fix later to maint). + (merge cea9f55f00 wk/sparse-checkout-doc-fix later to maint). diff --git a/Documentation/RelNotes/2.50.1.adoc b/Documentation/RelNotes/2.50.1.adoc new file mode 100644 index 0000000000..aa4a71adbc --- /dev/null +++ b/Documentation/RelNotes/2.50.1.adoc @@ -0,0 +1,8 @@ +Git v2.50.1 Release Notes +========================= + +This release merges up the fixes that appear in v2.43.7, v2.44.4, +v2.45.4, v2.46.4, v2.47.3, v2.48.2, and v2.49.1 to address the +following CVEs: CVE-2025-27613, CVE-2025-27614, CVE-2025-46334, +CVE-2025-46835, CVE-2025-48384, CVE-2025-48385, and +CVE-2025-48386. See the release notes for v2.43.7 for details. diff --git a/Documentation/RelNotes/2.51.0.adoc b/Documentation/RelNotes/2.51.0.adoc new file mode 100644 index 0000000000..ca0e39e1e8 --- /dev/null +++ b/Documentation/RelNotes/2.51.0.adoc @@ -0,0 +1,190 @@ +Git v2.51 Release Notes +======================= + +UI, Workflows & Features +------------------------ + + * Userdiff patterns for the R language have been added. + + * Documentation for "git send-email" has been updated with a bit more + credential helper and OAuth information. + + * "git cat-file --batch" learns to understand %(objectmode) atom to + allow the caller to tell missing objects (due to repository + corruption) and submodules (whose commit objects are OK to be + missing) apart. + + * "git diff --no-index dirA dirB" can limit the comparison with + pathspec at the end of the command line, just like normal "git + diff". + + * "git subtree" (in contrib/) learned to grok GPG signing its commits. + + * "git whatchanged" that is longer to type than "git log --raw" + which is its modern rough equivalent has outlived its usefulness + more than 10 years ago. Plan to deprecate and remove it. + + * An interchange format for stash entries is defined, and subcommand + of "git stash" to import/export has been added. + + * "git merge/pull" has been taught the "--compact-summary" option to + use the compact-summary format, intead of diffstat, when showing + the summary of the incoming changes. + + * "git imap-send" has been broken for a long time, which has been + resurrected and then taught to talk OAuth2.0 etc. + + * Some error messages from "git imap-send" has been updated. + + * When "git daemon" sees a signal while attempting to accept() a new + client, instead of retrying, it skipped it by mistake, which has + been corrected. + + * The reftable ref backend has matured enough; Git 3.0 will make it + the default format in a newly created repositories by default. + + * "netrc" credential helper has been improved to understand textual + service names (like smtp) in addition to the numeric port numbers + (like 25). + + +Performance, Internal Implementation, Development Support etc. +-------------------------------------------------------------- + + * "git pack-objects" learned to find delta bases from blobs at the + same path, using the --path-walk API. + + * CodingGuidelines update. + + * Add settings for Solaris 10 & 11. + + * Meson-based build/test framework now understands TAP output + generated by our tests. + + * "Do not explicitly initialize to zero" rule has been clarified in + the CodingGuidelines document. + + * A test helper "test_seq" function learned the "-f <fmt>" option, + which allowed us to simplify a lot of test scripts. + + * A lot of stale stuff has been removed from the contrib/ hierarchy. + + * "git push" and "git fetch" are taught to update refs in batches to + gain performance. + + * Some code paths in the "git prune" used to ignore passed in + repository object and used the_repository singleton instance + instead, which has been corrected. + + * Update ".clang-format" and ".editorconfig" to match our style guide + a bit better. + + * "make coccicheck" succeeds even when spatch made suggestions, which + has been updated to fail in such a case. + + * Code clean-up around object access API. + + +Fixes since v2.50 +----------------- + +Unless otherwise noted, all the changes in 2.50.X maintenance track, +including security updates, are included in this release. + + * A memory-leak in an error code path has been plugged. + (merge 7082da85cb ly/commit-graph-graph-write-leakfix later to maint). + + * A memory-leak in an error code path has been plugged. + (merge aedebdb6b9 ly/fetch-pack-leakfix later to maint). + + * Some leftover references to documentation source files that no + longer exist, due to recent ".txt" -> ".adoc" renaming, have been + corrected. + (merge 3717a5775a jw/doc-txt-to-adoc-refs later to maint). + + * "git stash -p <pathspec>" improvements. + (merge 468817bab2 pw/stash-p-pathspec-fixes later to maint). + + * "git send-email" incremented its internal message counter when a + message was edited, which made logic that treats the first message + specially misbehave, which has been corrected. + (merge 2cc27b3501 ag/send-email-edit-threading-fix later to maint). + + * "git stash" recorded a wrong branch name when submodules are + present in the current checkout, which has been corrected. + (merge ffb36c64f2 kj/stash-onbranch-submodule-fix later to maint). + + * When asking to apply mailmap to both author and committer field + while showing a commit object, the field that appears later was not + correctly parsed and replaced, which has been corrected. + (merge abf94a283f sa/multi-mailmap-fix later to maint). + + * "git maintenance" lacked the care "git gc" had to avoid holding + onto the repository lock for too long during packing refs, which + has been remedied. + (merge 1b5074e614 ps/maintenance-ref-lock later to maint). + + * Avoid regexp_constraint and instead use comparison_constraint when + listing functions to exclude from application of coccinelle rules, + as spatch can be built with different regexp engine X-<. + (merge f2ad545813 jc/cocci-avoid-regexp-constraint later to maint). + + * Updating submodules from the upstream did not work well when + submodule's HEAD is detached, which has been improved. + (merge ca62f524c1 jk/submodule-remote-lookup-cleanup later to maint). + + * Remove unnecessary check from "git daemon" code. + (merge 0c856224d2 cb/daemon-fd-check-fix later to maint). + + * Use of sysctl() system call to learn the total RAM size used on + BSDs has been corrected. + (merge 781c1cf571 cb/total-ram-bsd-fix later to maint). + + * Drop FreeBSD 4 support and declare that we support only FreeBSD 12 + or later, which has memmem() supported. + (merge 0392f976a7 bs/config-mak-freebsd later to maint). + + * A diff-filter with negative-only specification like "git log + --diff-filter=d" did not trigger correctly, which has been fixed. + (merge 375ac087c5 jk/all-negative-diff-filter-fix later to maint). + + * A failure to open the index file for writing due to conflicting + access did not state what went wrong, which has been corrected. + (merge 9455397a5c hy/read-cache-lock-error-fix later to maint). + + * Tempfile removal fix in the codepath to sign commits with SSH keys. + (merge 4498127b04 re/ssh-sign-buffer-fix later to maint). + + * Code and test clean-up around string-list API. + (merge 6e5b26c3ff sj/string-list later to maint). + + * "git apply -N" should start from the current index and register + only new files, but it instead started from an empty index, which + has been corrected. + (merge 2b49d97fcb rp/apply-intent-to-add-fix later to maint). + + * Leakfix with a new and a bit invasive test on pack-bitmap files. + (merge bfd5522e98 ly/load-bitmap-leakfix later to maint). + + * Other code cleanup, docfix, build fix, etc. + (merge b257adb571 lo/my-first-ow-doc-update later to maint). + (merge 8b34b6a220 ly/sequencer-update-squash-is-fixup-only later to maint). + (merge 5dceb8bd05 ly/do-not-localize-bug-messages later to maint). + (merge 61372dd613 ly/commit-buffer-reencode-leakfix later to maint). + (merge 81cd1eef7d ly/pack-bitmap-root-leakfix later to maint). + (merge bfc9f9cc64 ly/submodule-update-failure-leakfix later to maint). + (merge 65dff89c6b ma/doc-diff-cc-headers later to maint). + (merge efb61591ee jm/bundle-uri-debug-output-to-fp later to maint). + (merge a3d278bb64 ly/prepare-show-merge-leakfix later to maint). + (merge 1fde1c5daf ac/preload-index-wo-the-repository later to maint). + (merge 855cfc65ae rm/t2400-modernize later to maint). + (merge 2939494284 ly/run-builtin-use-passed-in-repo later to maint). + (merge ff73f375bb jg/mailinfo-leakfix later to maint). + (merge 996f14c02b jj/doc-branch-markup-fix later to maint). + (merge 1e77de1864 cb/ci-freebsd-update-to-14.3 later to maint). + (merge b0e9d25865 jk/fix-leak-send-pack later to maint). + (merge f3a9558c8c bs/remote-helpers-doc-markup-fix later to maint). + (merge c4e9775c60 kh/doc-config-subcommands later to maint). + (merge de404249ab ps/perlless-test-fixes later to maint). + (merge 953049eed8 ts/merge-orig-head-doc-fix later to maint). + (merge 0c83bbc704 rj/freebsd-sysinfo-build-fix later to maint). diff --git a/Documentation/RelNotes/2.6.0.txt b/Documentation/RelNotes/2.6.0.adoc index 7288aaf716..7288aaf716 100644 --- a/Documentation/RelNotes/2.6.0.txt +++ b/Documentation/RelNotes/2.6.0.adoc diff --git a/Documentation/RelNotes/2.6.1.txt b/Documentation/RelNotes/2.6.1.adoc index f37ea89cda..f37ea89cda 100644 --- a/Documentation/RelNotes/2.6.1.txt +++ b/Documentation/RelNotes/2.6.1.adoc diff --git a/Documentation/RelNotes/2.6.2.txt b/Documentation/RelNotes/2.6.2.adoc index 5b65e35245..5b65e35245 100644 --- a/Documentation/RelNotes/2.6.2.txt +++ b/Documentation/RelNotes/2.6.2.adoc diff --git a/Documentation/RelNotes/2.6.3.txt b/Documentation/RelNotes/2.6.3.adoc index fc6fe1711f..fc6fe1711f 100644 --- a/Documentation/RelNotes/2.6.3.txt +++ b/Documentation/RelNotes/2.6.3.adoc diff --git a/Documentation/RelNotes/2.6.4.txt b/Documentation/RelNotes/2.6.4.adoc index b0256a2dc9..b0256a2dc9 100644 --- a/Documentation/RelNotes/2.6.4.txt +++ b/Documentation/RelNotes/2.6.4.adoc diff --git a/Documentation/RelNotes/2.6.5.txt b/Documentation/RelNotes/2.6.5.adoc index f0924b62e0..f0924b62e0 100644 --- a/Documentation/RelNotes/2.6.5.txt +++ b/Documentation/RelNotes/2.6.5.adoc diff --git a/Documentation/RelNotes/2.6.6.txt b/Documentation/RelNotes/2.6.6.adoc index 023ad85ec6..023ad85ec6 100644 --- a/Documentation/RelNotes/2.6.6.txt +++ b/Documentation/RelNotes/2.6.6.adoc diff --git a/Documentation/RelNotes/2.6.7.txt b/Documentation/RelNotes/2.6.7.adoc index 1335de49a6..1335de49a6 100644 --- a/Documentation/RelNotes/2.6.7.txt +++ b/Documentation/RelNotes/2.6.7.adoc diff --git a/Documentation/RelNotes/2.7.0.txt b/Documentation/RelNotes/2.7.0.adoc index e3cbf3a73c..e3cbf3a73c 100644 --- a/Documentation/RelNotes/2.7.0.txt +++ b/Documentation/RelNotes/2.7.0.adoc diff --git a/Documentation/RelNotes/2.7.1.txt b/Documentation/RelNotes/2.7.1.adoc index 6323feaf64..6323feaf64 100644 --- a/Documentation/RelNotes/2.7.1.txt +++ b/Documentation/RelNotes/2.7.1.adoc diff --git a/Documentation/RelNotes/2.7.2.txt b/Documentation/RelNotes/2.7.2.adoc index 4feef76704..4feef76704 100644 --- a/Documentation/RelNotes/2.7.2.txt +++ b/Documentation/RelNotes/2.7.2.adoc diff --git a/Documentation/RelNotes/2.7.3.txt b/Documentation/RelNotes/2.7.3.adoc index f618d71efd..f618d71efd 100644 --- a/Documentation/RelNotes/2.7.3.txt +++ b/Documentation/RelNotes/2.7.3.adoc diff --git a/Documentation/RelNotes/2.7.4.txt b/Documentation/RelNotes/2.7.4.adoc index 883ae896fe..883ae896fe 100644 --- a/Documentation/RelNotes/2.7.4.txt +++ b/Documentation/RelNotes/2.7.4.adoc diff --git a/Documentation/RelNotes/2.7.5.txt b/Documentation/RelNotes/2.7.5.adoc index 83559ce3b2..83559ce3b2 100644 --- a/Documentation/RelNotes/2.7.5.txt +++ b/Documentation/RelNotes/2.7.5.adoc diff --git a/Documentation/RelNotes/2.7.6.txt b/Documentation/RelNotes/2.7.6.adoc index 4c6d1dcd4a..4c6d1dcd4a 100644 --- a/Documentation/RelNotes/2.7.6.txt +++ b/Documentation/RelNotes/2.7.6.adoc diff --git a/Documentation/RelNotes/2.8.0.txt b/Documentation/RelNotes/2.8.0.adoc index 38453281b8..38453281b8 100644 --- a/Documentation/RelNotes/2.8.0.txt +++ b/Documentation/RelNotes/2.8.0.adoc diff --git a/Documentation/RelNotes/2.8.1.txt b/Documentation/RelNotes/2.8.1.adoc index ef6d80b008..ef6d80b008 100644 --- a/Documentation/RelNotes/2.8.1.txt +++ b/Documentation/RelNotes/2.8.1.adoc diff --git a/Documentation/RelNotes/2.8.2.txt b/Documentation/RelNotes/2.8.2.adoc index 447b1933a8..447b1933a8 100644 --- a/Documentation/RelNotes/2.8.2.txt +++ b/Documentation/RelNotes/2.8.2.adoc diff --git a/Documentation/RelNotes/2.8.3.txt b/Documentation/RelNotes/2.8.3.adoc index a63825ed87..a63825ed87 100644 --- a/Documentation/RelNotes/2.8.3.txt +++ b/Documentation/RelNotes/2.8.3.adoc diff --git a/Documentation/RelNotes/2.8.4.txt b/Documentation/RelNotes/2.8.4.adoc index f4e2552836..f4e2552836 100644 --- a/Documentation/RelNotes/2.8.4.txt +++ b/Documentation/RelNotes/2.8.4.adoc diff --git a/Documentation/RelNotes/2.8.5.txt b/Documentation/RelNotes/2.8.5.adoc index 7bd179fa12..7bd179fa12 100644 --- a/Documentation/RelNotes/2.8.5.txt +++ b/Documentation/RelNotes/2.8.5.adoc diff --git a/Documentation/RelNotes/2.8.6.txt b/Documentation/RelNotes/2.8.6.adoc index d8db55d920..d8db55d920 100644 --- a/Documentation/RelNotes/2.8.6.txt +++ b/Documentation/RelNotes/2.8.6.adoc diff --git a/Documentation/RelNotes/2.9.0.txt b/Documentation/RelNotes/2.9.0.adoc index 991640119a..991640119a 100644 --- a/Documentation/RelNotes/2.9.0.txt +++ b/Documentation/RelNotes/2.9.0.adoc diff --git a/Documentation/RelNotes/2.9.1.txt b/Documentation/RelNotes/2.9.1.adoc index 338394097e..338394097e 100644 --- a/Documentation/RelNotes/2.9.1.txt +++ b/Documentation/RelNotes/2.9.1.adoc diff --git a/Documentation/RelNotes/2.9.2.txt b/Documentation/RelNotes/2.9.2.adoc index 2620003dcf..2620003dcf 100644 --- a/Documentation/RelNotes/2.9.2.txt +++ b/Documentation/RelNotes/2.9.2.adoc diff --git a/Documentation/RelNotes/2.9.3.txt b/Documentation/RelNotes/2.9.3.adoc index 305e08062b..305e08062b 100644 --- a/Documentation/RelNotes/2.9.3.txt +++ b/Documentation/RelNotes/2.9.3.adoc diff --git a/Documentation/RelNotes/2.9.4.txt b/Documentation/RelNotes/2.9.4.adoc index 9768293831..9768293831 100644 --- a/Documentation/RelNotes/2.9.4.txt +++ b/Documentation/RelNotes/2.9.4.adoc diff --git a/Documentation/RelNotes/2.9.5.txt b/Documentation/RelNotes/2.9.5.adoc index 668313ae55..668313ae55 100644 --- a/Documentation/RelNotes/2.9.5.txt +++ b/Documentation/RelNotes/2.9.5.adoc diff --git a/Documentation/ReviewingGuidelines.txt b/Documentation/ReviewingGuidelines.adoc index 6534643cff..6534643cff 100644 --- a/Documentation/ReviewingGuidelines.txt +++ b/Documentation/ReviewingGuidelines.adoc diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index d8a8caa791..958e3cc3d5 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -412,13 +412,13 @@ Also notice that a real name is used in the `Signed-off-by` trailer. Please don't hide your real name. [[commit-trailers]] -If you like, you can put extra tags at the end: +If you like, you can put extra trailers at the end: . `Reported-by:` is used to credit someone who found the bug that the patch attempts to fix. . `Acked-by:` says that the person who is more familiar with the area the patch attempts to modify liked the patch. -. `Reviewed-by:`, unlike the other tags, can only be offered by the +. `Reviewed-by:`, unlike the other trailers, can only be offered by the reviewers themselves when they are completely satisfied with the patch after a detailed analysis. . `Tested-by:` is used to indicate that the person applied the patch @@ -436,7 +436,7 @@ While you can also create your own trailer if the situation warrants it, we encourage you to instead use one of the common trailers in this project highlighted above. -Only capitalize the very first letter of tags, i.e. favor +Only capitalize the very first letter of the trailer, i.e. favor "Signed-off-by" over "Signed-Off-By" and "Acked-by:" over "Acked-By". [[git-tools]] @@ -692,16 +692,17 @@ rebase when I receive your patches). Some parts of the system have dedicated maintainers with their own repositories. -- `git-gui/` comes from git-gui project, maintained by Johannes Sixt: +- `git-gui/` comes from the git-gui project, maintained by Johannes Sixt: https://github.com/j6t/git-gui -- `gitk-git/` comes from Paul Mackerras's gitk project: + Contibutions should go via the git mailing list. - git://git.ozlabs.org/~paulus/gitk +- `gitk-git/` comes from the gitk project, maintained by Johannes Sixt: - Those who are interested in improving gitk can volunteer to help Paul - maintain it, cf. <YntxL/fTplFm8lr6@cleo>. + https://github.com/j6t/gitk + + Contibutions should go via the git mailing list. - `po/` comes from the localization coordinator, Jiang Xin: diff --git a/Documentation/ToolsForGit.txt b/Documentation/ToolsForGit.adoc index ae7690b45d..a842c13327 100644 --- a/Documentation/ToolsForGit.txt +++ b/Documentation/ToolsForGit.adoc @@ -34,6 +34,7 @@ This is adapted from Linux's suggestion in its CodingStyle document: - To follow the rules in CodingGuidelines, it's useful to put the following in GIT_CHECKOUT/.dir-locals.el, assuming you use cperl-mode: + ---- ;; note the first part is useful for C editing, too ((nil . ((indent-tabs-mode . t) diff --git a/Documentation/asciidoc.conf b/Documentation/asciidoc.conf deleted file mode 100644 index 60f76f43ed..0000000000 --- a/Documentation/asciidoc.conf +++ /dev/null @@ -1,59 +0,0 @@ -## linkgit: macro -# -# Usage: linkgit:command[manpage-section] -# -# Note, {0} is the manpage section, while {target} is the command. -# -# Show Git link as: <command>(<section>); if section is defined, else just show -# the command. - -[macros] -(?su)[\\]?(?P<name>linkgit):(?P<target>\S*?)\[(?P<attrlist>.*?)\]= - -[attributes] -asterisk=* -plus=+ -caret=^ -startsb=[ -endsb=] -backslash=\ -tilde=~ -apostrophe=' -backtick=` -litdd=-- - -ifdef::backend-docbook[] -[linkgit-inlinemacro] -{0%{target}} -{0#<citerefentry>} -{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>} -{0#</citerefentry>} -endif::backend-docbook[] - -ifdef::backend-docbook[] -ifdef::doctype-manpage[] -# The following two small workarounds insert a simple paragraph after screen -[listingblock] -<example><title>{title}</title> -<literallayout class="monospaced"> -| -</literallayout><simpara></simpara> -{title#}</example> - -[verseblock] -<formalpara{id? id="{id}"}><title>{title}</title><para> -{title%}<literallayout{id? id="{id}"}> -{title#}<literallayout> -| -</literallayout> -{title#}</para></formalpara> -{title%}<simpara></simpara> -endif::doctype-manpage[] -endif::backend-docbook[] - -ifdef::backend-xhtml11[] -[attributes] -git-relative-html-prefix= -[linkgit-inlinemacro] -<a href="{git-relative-html-prefix}{target}.html">{target}{0?({0})}</a> -endif::backend-xhtml11[] diff --git a/Documentation/asciidoc.conf.in b/Documentation/asciidoc.conf.in new file mode 100644 index 0000000000..9d9139306e --- /dev/null +++ b/Documentation/asciidoc.conf.in @@ -0,0 +1,92 @@ +## linkgit: macro +# +# Usage: linkgit:command[manpage-section] +# +# Note, {0} is the manpage section, while {target} is the command. +# +# Show Git link as: <command>(<section>); if section is defined, else just show +# the command. + +[macros] +(?su)[\\]?(?P<name>linkgit):(?P<target>\S*?)\[(?P<attrlist>.*?)\]= + +[attributes] +asterisk=* +plus=+ +caret=^ +startsb=[ +endsb=] +backslash=\ +tilde=~ +apostrophe=' +backtick=` +litdd=-- +manmanual=Git Manual +mansource=Git @GIT_VERSION@ +revdate=@GIT_DATE@ + +ifdef::doctype-book[] +[titles] + underlines="__","==","--","~~","^^" +endif::doctype-book[] + +ifdef::backend-docbook[] +[linkgit-inlinemacro] +ifndef::doctype-book[] +{0%{target}} +{0#<citerefentry>} +{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>} +{0#</citerefentry>} +endif::doctype-book[] +ifdef::doctype-book[] +<ulink url="{target}.html">{target}{0?({0})}</ulink> +endif::doctype-book[] + +[literal-inlinemacro] +{eval:re.sub(r'(<[-a-zA-Z0-9.]+>)', r'<emphasis>\1</emphasis>', re.sub(r'([\[\s|()>]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@\\\*\/_^\$]+\.?)+|,)',r'\1<literal>\2</literal>', re.sub(r'(\.\.\.?)([^\]$.])', r'<literal>\1</literal>\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))} + +endif::backend-docbook[] + +ifdef::backend-docbook[] +ifdef::doctype-manpage[] +# The following two small workarounds insert a simple paragraph after screen +[listingblock] +<example><title>{title}</title> +<literallayout class="monospaced"> +| +</literallayout><simpara></simpara> +{title#}</example> + +[verseblock] +<formalpara{id? id="{id}"}><title>{title}</title><para> +{title%}<literallayout{id? id="{id}"}> +{title#}<literallayout> +| +</literallayout> +{title#}</para></formalpara> +{title%}<simpara></simpara> +endif::doctype-manpage[] +endif::backend-docbook[] + +ifdef::backend-xhtml11[] +[attributes] +git-relative-html-prefix= +[linkgit-inlinemacro] +<a href="{git-relative-html-prefix}{target}.html">{target}{0?({0})}</a> + +[literal-inlinemacro] +{eval:re.sub(r'(<[-a-zA-Z0-9.]+>)', r'<em>\1</em>', re.sub(r'([\[\s|()>]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,\\\*\/_^\$]+\.?)+)',r'\1<code>\2</code>', re.sub(r'(\.\.\.?)([^\]$.])', r'<code>\1</code>\2', macros.passthroughs[int(attrs['passtext'][1:-1])] if attrs['passtext'][1:-1].isnumeric() else attrs['passtext'][1:-1])))} + +endif::backend-xhtml11[] + +ifdef::backend-docbook[] +ifdef::doctype-manpage[] +[paradef-default] +synopsis-style=template="verseparagraph",filter="sed 's!…\\(\\]\\|$\\)!<phrase>\\0</phrase>!g;s!\\([\\[ |()]\\|^\\|\\]\\|>\\)\\([-=a-zA-Z0-9:+@,\\/_^\\$.\\\\\\*]\\+\\|…\\)!\\1<literal>\\2</literal>!g;s!<[-a-zA-Z0-9.]\\+>!<emphasis>\\0</emphasis>!g'" +endif::doctype-manpage[] +endif::backend-docbook[] + +ifdef::backend-xhtml11[] +[paradef-default] +synopsis-style=template="verseparagraph",filter="sed 's!…\\(\\]\\|$\\)!<span>\\0</span>!g;s!\\([\\[ |()]\\|^\\|\\]\\|>\\)\\([-=a-zA-Z0-9:+@,\\/_^\\$.\\\\\\*]\\+\\|…\\)!\\1<code>\\2</code>!g;s!<[-a-zA-Z0-9.]\\+>!<em>\\0</em>!g'" +endif::backend-xhtml11[] diff --git a/Documentation/asciidoctor-extensions.rb b/Documentation/asciidoctor-extensions.rb deleted file mode 100644 index d906a00803..0000000000 --- a/Documentation/asciidoctor-extensions.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'asciidoctor' -require 'asciidoctor/extensions' - -module Git - module Documentation - class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor - use_dsl - - named :chrome - - def process(parent, target, attrs) - prefix = parent.document.attr('git-relative-html-prefix') - if parent.document.doctype == 'book' - "<ulink url=\"#{prefix}#{target}.html\">" \ - "#{target}(#{attrs[1]})</ulink>" - elsif parent.document.basebackend? 'html' - %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>) - elsif parent.document.basebackend? 'docbook' - "<citerefentry>\n" \ - "<refentrytitle>#{target}</refentrytitle>" \ - "<manvolnum>#{attrs[1]}</manvolnum>\n" \ - "</citerefentry>" - end - end - end - - class DocumentPostProcessor < Asciidoctor::Extensions::Postprocessor - def process document, output - if document.basebackend? 'docbook' - mansource = document.attributes['mansource'] - manversion = document.attributes['manversion'] - manmanual = document.attributes['manmanual'] - new_tags = "" \ - "<refmiscinfo class=\"source\">#{mansource}</refmiscinfo>\n" \ - "<refmiscinfo class=\"version\">#{manversion}</refmiscinfo>\n" \ - "<refmiscinfo class=\"manual\">#{manmanual}</refmiscinfo>\n" - output = output.sub(/<\/refmeta>/, new_tags + "</refmeta>") - end - output - end - end - end -end - -Asciidoctor::Extensions.register do - inline_macro Git::Documentation::LinkGitProcessor, :linkgit - postprocessor Git::Documentation::DocumentPostProcessor -end diff --git a/Documentation/asciidoctor-extensions.rb.in b/Documentation/asciidoctor-extensions.rb.in new file mode 100644 index 0000000000..8b7b161349 --- /dev/null +++ b/Documentation/asciidoctor-extensions.rb.in @@ -0,0 +1,136 @@ +require 'asciidoctor' +require 'asciidoctor/extensions' +require 'asciidoctor/converter/docbook5' +require 'asciidoctor/converter/html5' + +module Git + module Documentation + class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor + use_dsl + + named :chrome + + def process(parent, target, attrs) + prefix = parent.document.attr('git-relative-html-prefix') + if parent.document.doctype == 'book' + "<ulink url=\"#{prefix}#{target}.html\">" \ + "#{target}(#{attrs[1]})</ulink>" + elsif parent.document.basebackend? 'html' + %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>) + elsif parent.document.basebackend? 'docbook' + "<citerefentry>\n" \ + "<refentrytitle>#{target}</refentrytitle>" \ + "<manvolnum>#{attrs[1]}</manvolnum>\n" \ + "</citerefentry>" + end + end + end + + class DocumentPostProcessor < Asciidoctor::Extensions::Postprocessor + def process document, output + if document.basebackend? 'docbook' + output = output.sub(/<refmiscinfo class="source">.*?<\/refmiscinfo>/, "") + output = output.sub(/<refmiscinfo class="manual">.*?<\/refmiscinfo>/, "") + output = output.sub(/<date>.*?<\/date>/, "<date>@GIT_DATE@</date>") + new_tags = "" \ + "<refmiscinfo class=\"source\">Git @GIT_VERSION@</refmiscinfo>\n" \ + "<refmiscinfo class=\"manual\">Git Manual</refmiscinfo>\n" + output = output.sub(/<\/refmeta>/, new_tags + "</refmeta>") + end + output + end + end + + class SynopsisBlock < Asciidoctor::Extensions::BlockProcessor + + use_dsl + named :synopsis + parse_content_as :simple + + def process parent, reader, attrs + outlines = reader.lines.map do |l| + l.gsub(/(\.\.\.?)([^\]$\. ])/, '{empty}`\1`{empty}\2') + .gsub(%r{([\[\] |()>]|^)([-a-zA-Z0-9:+=~@,/_^\$\\\*]+)}, '\1{empty}`\2`{empty}') + .gsub(/(<[-a-zA-Z0-9.]+>)/, '__\\1__') + .gsub(']', ']{empty}') + end + create_block parent, :verse, outlines, attrs + end + end + + class GitDBConverter < Asciidoctor::Converter::DocBook5Converter + + extend Asciidoctor::Converter::Config + register_for 'docbook5' + + def convert_inline_quoted node + if (type = node.type) == :asciimath + # NOTE fop requires jeuclid to process mathml markup + asciimath_available? ? %(<inlineequation>#{(::AsciiMath.parse node.text).to_mathml 'mml:', 'xmlns:mml' => 'http://www.w3.org/1998/Math/MathML'}</inlineequation>) : %(<inlineequation><mathphrase><![CDATA[#{node.text}]]></mathphrase></inlineequation>) + elsif type == :latexmath + # unhandled math; pass source to alt and required mathphrase element; dblatex will process alt as LaTeX math + %(<inlineequation><alt><![CDATA[#{equation = node.text}]]></alt><mathphrase><![CDATA[#{equation}]]></mathphrase></inlineequation>) + elsif type == :monospaced + node.text.gsub(/(\.\.\.?)([^\]$\.])/, '<literal>\1</literal>\2') + .gsub(/^\.\.\.?$/, '<literal>\0</literal>') + .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@/_^\$\\\*]+\.{0,2})+|,)}, '\1<literal>\2</literal>') + .gsub(/(<[-a-zA-Z0-9.]+>)/, '<emphasis>\1</emphasis>') + else + open, close, supports_phrase = QUOTE_TAGS[type] + text = node.text + if node.role + if supports_phrase + quoted_text = %(#{open}<phrase role="#{node.role}">#{text}</phrase>#{close}) + else + quoted_text = %(#{open.chop} role="#{node.role}">#{text}#{close}) + end + else + quoted_text = %(#{open}#{text}#{close}) + end + node.id ? %(<anchor#{common_attributes node.id, nil, text}/>#{quoted_text}) : quoted_text + end + end + end + + # register a html5 converter that takes in charge to convert monospaced text into Git style synopsis + class GitHTMLConverter < Asciidoctor::Converter::Html5Converter + + extend Asciidoctor::Converter::Config + register_for 'html5' + + def convert_inline_quoted node + if node.type == :monospaced + node.text.gsub(/(\.\.\.?)([^\]$.])/, '<code>\1</code>\2') + .gsub(/^\.\.\.?$/, '<code>\0</code>') + .gsub(%r{([\[\s|()>.]|^|\]|>)(\.?([-a-zA-Z0-9:+=~@,/_^\$\\\*]+\.{0,2})+)}, '\1<code>\2</code>') + .gsub(/(<[-a-zA-Z0-9.]+>)/, '<em>\1</em>') + + else + open, close, tag = QUOTE_TAGS[node.type] + if node.id + class_attr = node.role ? %( class="#{node.role}") : '' + if tag + %(#{open.chop} id="#{node.id}"#{class_attr}>#{node.text}#{close}) + else + %(<span id="#{node.id}"#{class_attr}>#{open}#{node.text}#{close}</span>) + end + elsif node.role + if tag + %(#{open.chop} class="#{node.role}">#{node.text}#{close}) + else + %(<span class="#{node.role}">#{open}#{node.text}#{close}</span>) + end + else + %(#{open}#{node.text}#{close}) + end + end + end + end + end +end + +Asciidoctor::Extensions.register do + inline_macro Git::Documentation::LinkGitProcessor, :linkgit + block Git::Documentation::SynopsisBlock + postprocessor Git::Documentation::DocumentPostProcessor +end diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.adoc index 552dcc60f2..19ea187238 100644 --- a/Documentation/blame-options.txt +++ b/Documentation/blame-options.adoc @@ -18,7 +18,7 @@ '<start>' and '<end>' are optional. `-L <start>` or `-L <start>,` spans from '<start>' to end of file. `-L ,<end>` spans from start of file to '<end>'. + -include::line-range-format.txt[] +include::line-range-format.adoc[] -l:: Show long rev (Default: off). @@ -125,7 +125,8 @@ take effect. another commit will be marked with a `?` in the blame output. If the `blame.markUnblamableLines` config option is set, then those lines touched by an ignored commit that we could not attribute to another revision are - marked with a '*'. + marked with a '*'. In the porcelain modes, we print 'ignored' and + 'unblamable' on a newline respectively. --ignore-revs-file <file>:: Ignore revisions listed in `file`, which must be in the same format as an diff --git a/Documentation/build-docdep.perl b/Documentation/build-docdep.perl index 1b3ac8fdd9..781da12b2e 100755 --- a/Documentation/build-docdep.perl +++ b/Documentation/build-docdep.perl @@ -1,16 +1,18 @@ #!/usr/bin/perl +my ($build_dir) = @ARGV; my %include = (); my %included = (); -for my $text (<*.txt>) { - open I, '<', $text || die "cannot read: $text"; +for my $adoc (<*.adoc>) { + open I, '<', $adoc || die "cannot read: $adoc"; while (<I>) { if (/^include::/) { chomp; s/^include::\s*//; s/\[\]//; - $include{$text}{$_} = 1; + s/{build_dir}/${build_dir}/; + $include{$adoc}{$_} = 1; $included{$_} = 1; } } @@ -21,14 +23,14 @@ for my $text (<*.txt>) { my $changed = 1; while ($changed) { $changed = 0; - while (my ($text, $included) = each %include) { + while (my ($adoc, $included) = each %include) { for my $i (keys %$included) { - # $text has include::$i; if $i includes $j - # $text indirectly includes $j. + # $adoc has include::$i; if $i includes $j + # $adoc indirectly includes $j. if (exists $include{$i}) { for my $j (keys %{$include{$i}}) { - if (!exists $include{$text}{$j}) { - $include{$text}{$j} = 1; + if (!exists $include{$adoc}{$j}) { + $include{$adoc}{$j} = 1; $included{$j} = 1; $changed = 1; } @@ -38,10 +40,10 @@ while ($changed) { } } -foreach my $text (sort keys %include) { - my $included = $include{$text}; - if (! exists $included{$text} && - (my $base = $text) =~ s/\.txt$//) { +foreach my $adoc (sort keys %include) { + my $included = $include{$adoc}; + if (! exists $included{$adoc} && + (my $base = $adoc) =~ s/\.adoc$//) { print "$base.html $base.xml : ", join(" ", sort keys %$included), "\n"; } } diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl deleted file mode 100755 index 755a110bc4..0000000000 --- a/Documentation/cmd-list.perl +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/perl -w - -use File::Compare qw(compare); - -sub format_one { - my ($out, $nameattr) = @_; - my ($name, $attr) = @$nameattr; - my ($state, $description); - my $mansection; - $state = 0; - open I, '<', "$name.txt" or die "No such file $name.txt"; - while (<I>) { - if (/^(?:git|scalar)[a-z0-9-]*\(([0-9])\)$/) { - $mansection = $1; - next; - } - if (/^NAME$/) { - $state = 1; - next; - } - if ($state == 1 && /^----$/) { - $state = 2; - next; - } - next if ($state != 2); - chomp; - $description = $_; - last; - } - close I; - if (!defined $description) { - die "No description found in $name.txt"; - } - if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) { - print $out "linkgit:$name\[$mansection\]::\n\t"; - if ($attr =~ / deprecated /) { - print $out "(deprecated) "; - } - print $out "$text.\n\n"; - } - else { - die "Description does not match $name: $description"; - } -} - -my ($input, @categories) = @ARGV; - -open IN, "<$input"; -while (<IN>) { - last if /^### command list/; -} - -my %cmds = (); -for (sort <IN>) { - next if /^#/; - - chomp; - my ($name, $cat, $attr) = /^(\S+)\s+(.*?)(?:\s+(.*))?$/; - $attr = '' unless defined $attr; - push @{$cmds{$cat}}, [$name, " $attr "]; -} -close IN; - -for my $out (@categories) { - my ($cat) = $out =~ /^cmds-(.*)\.txt$/; - open O, '>', "$out+" or die "Cannot open output file $out+"; - for (@{$cmds{$cat}}) { - format_one(\*O, $_); - } - close O; - - if (-f "$out" && compare("$out", "$out+") == 0) { - unlink "$out+"; - } - else { - print STDERR "$out\n"; - rename "$out+", "$out"; - } -} diff --git a/Documentation/cmd-list.sh b/Documentation/cmd-list.sh new file mode 100755 index 0000000000..077def3b72 --- /dev/null +++ b/Documentation/cmd-list.sh @@ -0,0 +1,104 @@ +#!/bin/sh + +set -e + +format_one () { + source_dir="$1" + command="$2" + attributes="$3" + + path="$source_dir/Documentation/$command.adoc" + if ! test -f "$path" + then + echo >&2 "No such file $path" + exit 1 + fi + + state=0 + while read line + do + case "$state" in + 0) + case "$line" in + git*\(*\)|scalar*\(*\)) + mansection="${line##*\(}" + mansection="${mansection%\)}" + ;; + NAME) + state=1;; + esac + ;; + 1) + if test "$line" = "----" + then + state=2 + fi + ;; + 2) + description="$line" + break + ;; + esac + done <"$path" + + if test -z "$mansection" + then + echo "No man section found in $path" >&2 + exit 1 + fi + + if test -z "$description" + then + echo >&2 "No description found in $path" + exit 1 + fi + + case "$description" in + "$command - "*) + text="${description#$command - }" + + printf "linkgit:%s[%s]::\n\t" "$command" "$mansection" + case "$attributes" in + *" deprecated "*) + printf "(deprecated) " + ;; + esac + printf "$text.\n\n" + ;; + *) + echo >&2 "Description does not match $command: $description" + exit 1 + ;; + esac +} + +source_dir="$1" +build_dir="$2" +shift 2 + +for out +do + category="${out#cmds-}" + category="${category%.adoc}" + path="$build_dir/$out" + + while read command command_category attributes + do + case "$command" in + "#"*) + continue;; + esac + + case "$command_category" in + "$category") + format_one "$source_dir" "$command" " $attributes ";; + esac + done <"$source_dir/command-list.txt" >"$build_dir/$out+" + + if cmp "$build_dir/$out+" "$build_dir/$out" >/dev/null 2>&1 + then + rm "$build_dir/$out+" + else + mv "$build_dir/$out+" "$build_dir/$out" + fi +done diff --git a/Documentation/config.txt b/Documentation/config.adoc index 8c0b3ed807..cc769251be 100644 --- a/Documentation/config.txt +++ b/Documentation/config.adoc @@ -372,186 +372,188 @@ inventing new variables for use in your own tool, make sure their names do not conflict with those that are used by Git itself and other popular tools, and describe them in your documentation. -include::config/add.txt[] +include::config/add.adoc[] -include::config/advice.txt[] +include::config/advice.adoc[] -include::config/alias.txt[] +include::config/alias.adoc[] -include::config/am.txt[] +include::config/am.adoc[] -include::config/apply.txt[] +include::config/apply.adoc[] -include::config/attr.txt[] +include::config/attr.adoc[] -include::config/bitmap-pseudo-merge.txt[] +include::config/bitmap-pseudo-merge.adoc[] -include::config/blame.txt[] +include::config/blame.adoc[] -include::config/branch.txt[] +include::config/branch.adoc[] -include::config/browser.txt[] +include::config/browser.adoc[] -include::config/bundle.txt[] +include::config/bundle.adoc[] -include::config/checkout.txt[] +include::config/checkout.adoc[] -include::config/clean.txt[] +include::config/clean.adoc[] -include::config/clone.txt[] +include::config/clone.adoc[] -include::config/color.txt[] +include::config/color.adoc[] -include::config/column.txt[] +include::config/column.adoc[] -include::config/commit.txt[] +include::config/commit.adoc[] -include::config/commitgraph.txt[] +include::config/commitgraph.adoc[] -include::config/completion.txt[] +include::config/completion.adoc[] -include::config/core.txt[] +include::config/core.adoc[] -include::config/credential.txt[] +include::config/credential.adoc[] -include::config/diff.txt[] +include::config/diff.adoc[] -include::config/difftool.txt[] +include::config/difftool.adoc[] -include::config/extensions.txt[] +include::config/extensions.adoc[] -include::config/fastimport.txt[] +include::config/fastimport.adoc[] -include::config/feature.txt[] +include::config/feature.adoc[] -include::config/fetch.txt[] +include::config/fetch.adoc[] -include::config/filter.txt[] +include::config/filter.adoc[] -include::config/format.txt[] +include::config/format.adoc[] -include::config/fsck.txt[] +include::config/fsck.adoc[] -include::config/fsmonitor--daemon.txt[] +include::config/fsmonitor--daemon.adoc[] -include::config/gc.txt[] +include::config/gc.adoc[] -include::config/gitcvs.txt[] +include::config/gitcvs.adoc[] -include::config/gitweb.txt[] +include::config/gitweb.adoc[] -include::config/gpg.txt[] +include::config/gpg.adoc[] -include::config/grep.txt[] +include::config/grep.adoc[] -include::config/gui.txt[] +include::config/gui.adoc[] -include::config/guitool.txt[] +include::config/guitool.adoc[] -include::config/help.txt[] +include::config/help.adoc[] -include::config/http.txt[] +include::config/http.adoc[] -include::config/i18n.txt[] +include::config/i18n.adoc[] -include::config/imap.txt[] +include::config/imap.adoc[] -include::config/includeif.txt[] +include::config/includeif.adoc[] -include::config/index.txt[] +include::config/index.adoc[] -include::config/init.txt[] +include::config/init.adoc[] -include::config/instaweb.txt[] +include::config/instaweb.adoc[] -include::config/interactive.txt[] +include::config/interactive.adoc[] -include::config/log.txt[] +include::config/log.adoc[] -include::config/lsrefs.txt[] +include::config/lsrefs.adoc[] -include::config/mailinfo.txt[] +include::config/mailinfo.adoc[] -include::config/mailmap.txt[] +include::config/mailmap.adoc[] -include::config/maintenance.txt[] +include::config/maintenance.adoc[] -include::config/man.txt[] +include::config/man.adoc[] -include::config/merge.txt[] +include::config/merge.adoc[] -include::config/mergetool.txt[] +include::config/mergetool.adoc[] -include::config/notes.txt[] +include::config/notes.adoc[] -include::config/pack.txt[] +include::config/pack.adoc[] -include::config/pager.txt[] +include::config/pager.adoc[] -include::config/pretty.txt[] +include::config/pretty.adoc[] -include::config/promisor.txt[] +include::config/promisor.adoc[] -include::config/protocol.txt[] +include::config/protocol.adoc[] -include::config/pull.txt[] +include::config/pull.adoc[] -include::config/push.txt[] +include::config/push.adoc[] -include::config/rebase.txt[] +include::config/rebase.adoc[] -include::config/receive.txt[] +include::config/receive.adoc[] -include::config/reftable.txt[] +include::config/reftable.adoc[] -include::config/remote.txt[] +include::config/remote.adoc[] -include::config/remotes.txt[] +include::config/remotes.adoc[] -include::config/repack.txt[] +include::config/repack.adoc[] -include::config/rerere.txt[] +include::config/rerere.adoc[] -include::config/revert.txt[] +include::config/revert.adoc[] -include::config/safe.txt[] +include::config/safe.adoc[] -include::config/sendemail.txt[] +include::config/sendemail.adoc[] -include::config/sequencer.txt[] +include::config/sequencer.adoc[] -include::config/showbranch.txt[] +include::config/showbranch.adoc[] -include::config/sparse.txt[] +include::config/sparse.adoc[] -include::config/splitindex.txt[] +include::config/splitindex.adoc[] -include::config/ssh.txt[] +include::config/ssh.adoc[] -include::config/stash.txt[] +include::config/stash.adoc[] -include::config/status.txt[] +include::config/status.adoc[] -include::config/submodule.txt[] +include::config/submodule.adoc[] -include::config/tag.txt[] +include::config/tag.adoc[] -include::config/tar.txt[] +include::config/tar.adoc[] -include::config/trace2.txt[] +include::config/trace2.adoc[] -include::config/transfer.txt[] +include::config/trailer.adoc[] -include::config/uploadarchive.txt[] +include::config/transfer.adoc[] -include::config/uploadpack.txt[] +include::config/uploadarchive.adoc[] -include::config/url.txt[] +include::config/uploadpack.adoc[] -include::config/user.txt[] +include::config/url.adoc[] -include::config/versionsort.txt[] +include::config/user.adoc[] -include::config/web.txt[] +include::config/versionsort.adoc[] -include::config/worktree.txt[] +include::config/web.adoc[] + +include::config/worktree.adoc[] diff --git a/Documentation/config/add.adoc b/Documentation/config/add.adoc new file mode 100644 index 0000000000..7497533cbc --- /dev/null +++ b/Documentation/config/add.adoc @@ -0,0 +1,12 @@ +`add.ignoreErrors`:: +`add.ignore-errors` (deprecated):: + Tells `git add` to continue adding files when some files cannot be + added due to indexing errors. +ifdef::git-add[] + Equivalent to the `--ignore-errors` option. +endif::git-add[] +ifndef::git-add[] + Equivalent to the `--ignore-errors` option of linkgit:git-add[1]. +endif::git-add[] + `add.ignore-errors` is deprecated, as it does not follow the usual + naming convention for configuration variables. diff --git a/Documentation/config/add.txt b/Documentation/config/add.txt deleted file mode 100644 index 4d753f006e..0000000000 --- a/Documentation/config/add.txt +++ /dev/null @@ -1,7 +0,0 @@ -add.ignoreErrors:: -add.ignore-errors (deprecated):: - Tells 'git add' to continue adding files when some files cannot be - added due to indexing errors. Equivalent to the `--ignore-errors` - option of linkgit:git-add[1]. `add.ignore-errors` is deprecated, - as it does not follow the usual naming convention for configuration - variables. diff --git a/Documentation/config/advice.txt b/Documentation/config/advice.adoc index 257db58918..257db58918 100644 --- a/Documentation/config/advice.txt +++ b/Documentation/config/advice.adoc diff --git a/Documentation/config/alias.txt b/Documentation/config/alias.adoc index 2c5db0ad84..2c5db0ad84 100644 --- a/Documentation/config/alias.txt +++ b/Documentation/config/alias.adoc diff --git a/Documentation/config/am.txt b/Documentation/config/am.adoc index 5bcad2efb1..5bcad2efb1 100644 --- a/Documentation/config/am.txt +++ b/Documentation/config/am.adoc diff --git a/Documentation/config/apply.txt b/Documentation/config/apply.adoc index f9908e210a..f9908e210a 100644 --- a/Documentation/config/apply.txt +++ b/Documentation/config/apply.adoc diff --git a/Documentation/config/attr.txt b/Documentation/config/attr.adoc index c4a5857993..c4a5857993 100644 --- a/Documentation/config/attr.txt +++ b/Documentation/config/attr.adoc diff --git a/Documentation/config/bitmap-pseudo-merge.txt b/Documentation/config/bitmap-pseudo-merge.adoc index 1f264eca99..1f264eca99 100644 --- a/Documentation/config/bitmap-pseudo-merge.txt +++ b/Documentation/config/bitmap-pseudo-merge.adoc diff --git a/Documentation/config/blame.txt b/Documentation/config/blame.adoc index 4d047c1790..4d047c1790 100644 --- a/Documentation/config/blame.txt +++ b/Documentation/config/blame.adoc diff --git a/Documentation/config/branch.adoc b/Documentation/config/branch.adoc new file mode 100644 index 0000000000..a4db9fa5c8 --- /dev/null +++ b/Documentation/config/branch.adoc @@ -0,0 +1,104 @@ +`branch.autoSetupMerge`:: + Tells `git branch`, `git switch` and `git checkout` to set up new branches + so that linkgit:git-pull[1] will appropriately merge from the + starting point branch. Note that even if this option is not set, + this behavior can be chosen per-branch using the `--track` + and `--no-track` options. This option defaults to `true`. The valid settings + are: +`false`;; no automatic setup is done +`true`;; automatic setup is done when the starting point is a remote-tracking branch +`always`;; automatic setup is done when the starting point is either a + local branch or remote-tracking branch +`inherit`;; if the starting point has a tracking configuration, it is copied to the new + branch +`simple`;; automatic setup is done only when the starting point + is a remote-tracking branch and the new branch has the same name as the + remote branch. + +`branch.autoSetupRebase`:: + When a new branch is created with `git branch`, `git switch` or `git checkout` + that tracks another branch, this variable tells Git to set + up pull to rebase instead of merge (see `branch.<name>.rebase`). + The valid settings are: +`never`;; rebase is never automatically set to true. +`local`;; rebase is set to true for tracked branches of other local branches. +`remote`;; rebase is set to true for tracked branches of remote-tracking branches. +`always`;; rebase will be set to true for all tracking branches. + ++ +See `branch.autoSetupMerge` for details on how to set up a branch to track another branch. +This option defaults to `never`. + +`branch.sort`:: + This variable controls the sort ordering of branches when displayed by + linkgit:git-branch[1]. Without the `--sort=<value>` option provided, the + value of this variable will be used as the default. + See linkgit:git-for-each-ref[1] field names for valid values. + +`branch.<name>.remote`:: + When on branch _<name>_, it tells `git fetch` and `git push` + which remote to fetch from or push to. The remote to push to + may be overridden with `remote.pushDefault` (for all branches). + The remote to push to, for the current branch, may be further + overridden by `branch.<name>.pushRemote`. If no remote is + configured, or if you are not on any branch and there is more than + one remote defined in the repository, it defaults to `origin` for + fetching and `remote.pushDefault` for pushing. + Additionally, `.` (a period) is the current local repository + (a dot-repository), see `branch.<name>.merge`'s final note below. + +`branch.<name>.pushRemote`:: + When on branch _<name>_, it overrides `branch.<name>.remote` for + pushing. It also overrides `remote.pushDefault` for pushing + from branch _<name>_. When you pull from one place (e.g. your + upstream) and push to another place (e.g. your own publishing + repository), you would want to set `remote.pushDefault` to + specify the remote to push to for all branches, and use this + option to override it for a specific branch. + +`branch.<name>.merge`:: + Defines, together with `branch.<name>.remote`, the upstream branch + for the given branch. It tells `git fetch`/`git pull`/`git rebase` which + branch to merge and can also affect `git push` (see `push.default`). + When in branch _<name>_, it tells `git fetch` the default + refspec to be marked for merging in `FETCH_HEAD`. The value is + handled like the remote part of a refspec, and must match a + ref which is fetched from the remote given by + `branch.<name>.remote`. + The merge information is used by `git pull` (which first calls + `git fetch`) to lookup the default branch for merging. Without + this option, `git pull` defaults to merge the first refspec fetched. + Specify multiple values to get an octopus merge. + If you wish to setup `git pull` so that it merges into _<name>_ from + another branch in the local repository, you can point + `branch.<name>.merge` to the desired branch, and use the relative path + setting `.` (a period) for `branch.<name>.remote`. + +`branch.<name>.mergeOptions`:: + Sets default options for merging into branch _<name>_. The syntax and + supported options are the same as those of linkgit:git-merge[1], but + option values containing whitespace characters are currently not + supported. + +`branch.<name>.rebase`:: + When true, rebase the branch _<name>_ on top of the fetched branch, + instead of merging the default branch from the default remote when + `git pull` is run. See `pull.rebase` for doing this in a non + branch-specific manner. ++ +When `merges` (or just `m`), pass the `--rebase-merges` option to `git rebase` +so that the local merge commits are included in the rebase (see +linkgit:git-rebase[1] for details). ++ +When the value is `interactive` (or just `i`), the rebase is run in interactive +mode. ++ +*NOTE*: this is a possibly dangerous operation; do *not* use +it unless you understand the implications (see linkgit:git-rebase[1] +for details). + +`branch.<name>.description`:: + Branch description, can be edited with + `git branch --edit-description`. Branch description is + automatically added to the `format-patch` cover letter or + `request-pull` summary. diff --git a/Documentation/config/branch.txt b/Documentation/config/branch.txt deleted file mode 100644 index 432b9cd2c0..0000000000 --- a/Documentation/config/branch.txt +++ /dev/null @@ -1,103 +0,0 @@ -branch.autoSetupMerge:: - Tells 'git branch', 'git switch' and 'git checkout' to set up new branches - so that linkgit:git-pull[1] will appropriately merge from the - starting point branch. Note that even if this option is not set, - this behavior can be chosen per-branch using the `--track` - and `--no-track` options. The valid settings are: `false` -- no - automatic setup is done; `true` -- automatic setup is done when the - starting point is a remote-tracking branch; `always` -- - automatic setup is done when the starting point is either a - local branch or remote-tracking branch; `inherit` -- if the starting point - has a tracking configuration, it is copied to the new - branch; `simple` -- automatic setup is done only when the starting point - is a remote-tracking branch and the new branch has the same name as the - remote branch. This option defaults to true. - -branch.autoSetupRebase:: - When a new branch is created with 'git branch', 'git switch' or 'git checkout' - that tracks another branch, this variable tells Git to set - up pull to rebase instead of merge (see "branch.<name>.rebase"). - When `never`, rebase is never automatically set to true. - When `local`, rebase is set to true for tracked branches of - other local branches. - When `remote`, rebase is set to true for tracked branches of - remote-tracking branches. - When `always`, rebase will be set to true for all tracking - branches. - See "branch.autoSetupMerge" for details on how to set up a - branch to track another branch. - This option defaults to never. - -branch.sort:: - This variable controls the sort ordering of branches when displayed by - linkgit:git-branch[1]. Without the "--sort=<value>" option provided, the - value of this variable will be used as the default. - See linkgit:git-for-each-ref[1] field names for valid values. - -branch.<name>.remote:: - When on branch <name>, it tells 'git fetch' and 'git push' - which remote to fetch from or push to. The remote to push to - may be overridden with `remote.pushDefault` (for all branches). - The remote to push to, for the current branch, may be further - overridden by `branch.<name>.pushRemote`. If no remote is - configured, or if you are not on any branch and there is more than - one remote defined in the repository, it defaults to `origin` for - fetching and `remote.pushDefault` for pushing. - Additionally, `.` (a period) is the current local repository - (a dot-repository), see `branch.<name>.merge`'s final note below. - -branch.<name>.pushRemote:: - When on branch <name>, it overrides `branch.<name>.remote` for - pushing. It also overrides `remote.pushDefault` for pushing - from branch <name>. When you pull from one place (e.g. your - upstream) and push to another place (e.g. your own publishing - repository), you would want to set `remote.pushDefault` to - specify the remote to push to for all branches, and use this - option to override it for a specific branch. - -branch.<name>.merge:: - Defines, together with branch.<name>.remote, the upstream branch - for the given branch. It tells 'git fetch'/'git pull'/'git rebase' which - branch to merge and can also affect 'git push' (see push.default). - When in branch <name>, it tells 'git fetch' the default - refspec to be marked for merging in FETCH_HEAD. The value is - handled like the remote part of a refspec, and must match a - ref which is fetched from the remote given by - "branch.<name>.remote". - The merge information is used by 'git pull' (which first calls - 'git fetch') to lookup the default branch for merging. Without - this option, 'git pull' defaults to merge the first refspec fetched. - Specify multiple values to get an octopus merge. - If you wish to setup 'git pull' so that it merges into <name> from - another branch in the local repository, you can point - branch.<name>.merge to the desired branch, and use the relative path - setting `.` (a period) for branch.<name>.remote. - -branch.<name>.mergeOptions:: - Sets default options for merging into branch <name>. The syntax and - supported options are the same as those of linkgit:git-merge[1], but - option values containing whitespace characters are currently not - supported. - -branch.<name>.rebase:: - When true, rebase the branch <name> on top of the fetched branch, - instead of merging the default branch from the default remote when - "git pull" is run. See "pull.rebase" for doing this in a non - branch-specific manner. -+ -When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase' -so that the local merge commits are included in the rebase (see -linkgit:git-rebase[1] for details). -+ -When the value is `interactive` (or just 'i'), the rebase is run in interactive -mode. -+ -*NOTE*: this is a possibly dangerous operation; do *not* use -it unless you understand the implications (see linkgit:git-rebase[1] -for details). - -branch.<name>.description:: - Branch description, can be edited with - `git branch --edit-description`. Branch description is - automatically added to the format-patch cover letter or - request-pull summary. diff --git a/Documentation/config/browser.txt b/Documentation/config/browser.adoc index 195df207a6..195df207a6 100644 --- a/Documentation/config/browser.txt +++ b/Documentation/config/browser.adoc diff --git a/Documentation/config/bundle.txt b/Documentation/config/bundle.adoc index 3faae38685..3faae38685 100644 --- a/Documentation/config/bundle.txt +++ b/Documentation/config/bundle.adoc diff --git a/Documentation/config/checkout.txt b/Documentation/config/checkout.adoc index a323022993..e35d212969 100644 --- a/Documentation/config/checkout.txt +++ b/Documentation/config/checkout.adoc @@ -1,9 +1,9 @@ -checkout.defaultRemote:: +`checkout.defaultRemote`:: When you run `git checkout <something>` or `git switch <something>` and only have one remote, it may implicitly fall back on checking out and tracking e.g. `origin/<something>`. This stops working as soon - as you have more than one remote with a `<something>` + as you have more than one remote with a _<something>_ reference. This setting allows for setting the name of a preferred remote that should always win when it comes to disambiguation. The typical use-case is to set this to @@ -12,17 +12,17 @@ checkout.defaultRemote:: Currently this is used by linkgit:git-switch[1] and linkgit:git-checkout[1] when `git checkout <something>` or `git switch <something>` -will checkout the `<something>` branch on another remote, +will checkout the _<something>_ branch on another remote, and by linkgit:git-worktree[1] when `git worktree add` refers to a remote branch. This setting might be used for other checkout-like commands or functionality in the future. -checkout.guess:: +`checkout.guess`:: Provides the default value for the `--guess` or `--no-guess` option in `git checkout` and `git switch`. See linkgit:git-switch[1] and linkgit:git-checkout[1]. -checkout.workers:: +`checkout.workers`:: The number of parallel workers to use when updating the working tree. The default is one, i.e. sequential execution. If set to a value less than one, Git will use as many workers as the number of logical cores @@ -30,13 +30,13 @@ checkout.workers:: all commands that perform checkout. E.g. checkout, clone, reset, sparse-checkout, etc. + -Note: Parallel checkout usually delivers better performance for repositories +NOTE: Parallel checkout usually delivers better performance for repositories located on SSDs or over NFS. For repositories on spinning disks and/or machines with a small number of cores, the default sequential checkout often performs better. The size and compression level of a repository might also influence how well the parallel version performs. -checkout.thresholdForParallelism:: +`checkout.thresholdForParallelism`:: When running parallel checkout with a small number of files, the cost of subprocess spawning and inter-process communication might outweigh the parallelization gains. This setting allows you to define the minimum diff --git a/Documentation/config/clean.txt b/Documentation/config/clean.adoc index c0188ead4e..c0188ead4e 100644 --- a/Documentation/config/clean.txt +++ b/Documentation/config/clean.adoc diff --git a/Documentation/config/clone.txt b/Documentation/config/clone.adoc index 0a10efd174..0a10efd174 100644 --- a/Documentation/config/clone.txt +++ b/Documentation/config/clone.adoc diff --git a/Documentation/config/color.txt b/Documentation/config/color.adoc index 2f2275ac69..2f2275ac69 100644 --- a/Documentation/config/color.txt +++ b/Documentation/config/color.adoc diff --git a/Documentation/config/column.txt b/Documentation/config/column.adoc index 01e4198429..01e4198429 100644 --- a/Documentation/config/column.txt +++ b/Documentation/config/column.adoc diff --git a/Documentation/config/commit.txt b/Documentation/config/commit.adoc index 62f0d92fda..208ae76c81 100644 --- a/Documentation/config/commit.txt +++ b/Documentation/config/commit.adoc @@ -1,29 +1,35 @@ -commit.cleanup:: +ifdef::git-commit[] +:see-git-commit: +endif::git-commit[] +ifndef::git-commit[] +:see-git-commit: See linkgit:git-commit[1] for details. +endif::git-commit[] +`commit.cleanup`:: This setting overrides the default of the `--cleanup` option in - `git commit`. See linkgit:git-commit[1] for details. Changing the - default can be useful when you always want to keep lines that begin - with the comment character `#` in your log message, in which case you + `git commit`. {see-git-commit} Changing the default can be useful + when you always want to keep lines that begin + with the comment character (`core.commentChar`, default `#`) + in your log message, in which case you would do `git config commit.cleanup whitespace` (note that you will - have to remove the help lines that begin with `#` in the commit log - template yourself, if you do this). - -commit.gpgSign:: + have to remove the help lines that begin with the comment character + in the commit log template yourself, if you do this). +`commit.gpgSign`:: A boolean to specify whether all commits should be GPG signed. Use of this option when doing operations such as rebase can result in a large number of commits being signed. It may be convenient to use an agent to avoid typing your GPG passphrase several times. -commit.status:: +`commit.status`:: A boolean to enable/disable inclusion of status information in the commit message template when using an editor to prepare the commit - message. Defaults to true. + message. Defaults to `true`. -commit.template:: +`commit.template`:: Specify the pathname of a file to use as the template for new commit messages. -commit.verbose:: +`commit.verbose`:: A boolean or int to specify the level of verbosity with `git commit`. - See linkgit:git-commit[1]. + {see-git-commit} diff --git a/Documentation/config/commitgraph.txt b/Documentation/config/commitgraph.adoc index 7f8c9d6638..7f8c9d6638 100644 --- a/Documentation/config/commitgraph.txt +++ b/Documentation/config/commitgraph.adoc diff --git a/Documentation/config/completion.txt b/Documentation/config/completion.adoc index 4d99bf33c9..4d99bf33c9 100644 --- a/Documentation/config/completion.txt +++ b/Documentation/config/completion.adoc diff --git a/Documentation/config/core.txt b/Documentation/config/core.adoc index 60ca9f2b68..9fde1ab63a 100644 --- a/Documentation/config/core.txt +++ b/Documentation/config/core.adoc @@ -366,7 +366,7 @@ default in a bare repository. core.repositoryFormatVersion:: Internal variable identifying the repository format and layout - version. + version. See linkgit:gitrepository-layout[5]. core.sharedRepository:: When 'group' (or 'true'), the repository is made shareable between @@ -512,6 +512,11 @@ centrally configure your Git hooks instead of configuring them on a per-repository basis, or as a more flexible and centralized alternative to having an `init.templateDir` where you've changed default hooks. ++ +You can also disable all hooks entirely by setting `core.hooksPath` +to `/dev/null`. This is usually only advisable for expert users and +on a per-command basis using configuration parameters of the form +`git -c core.hooksPath=/dev/null ...`. core.editor:: Commands such as `commit` and `tag` that let you edit diff --git a/Documentation/config/credential.txt b/Documentation/config/credential.adoc index 80a7c77772..80a7c77772 100644 --- a/Documentation/config/credential.txt +++ b/Documentation/config/credential.adoc diff --git a/Documentation/config/diff.txt b/Documentation/config/diff.adoc index 190bda17e5..1135a62a0a 100644 --- a/Documentation/config/diff.txt +++ b/Documentation/config/diff.adoc @@ -1,18 +1,25 @@ -diff.autoRefreshIndex:: - When using 'git diff' to compare with work tree +`diff.autoRefreshIndex`:: + When using `git diff` to compare with work tree files, do not consider stat-only changes as changed. Instead, silently run `git update-index --refresh` to update the cached stat information for paths whose contents in the work tree match the contents in the - index. This option defaults to true. Note that this - affects only 'git diff' Porcelain, and not lower level - 'diff' commands such as 'git diff-files'. + index. This option defaults to `true`. Note that this + affects only `git diff` Porcelain, and not lower level + `diff` commands such as `git diff-files`. -diff.dirstat:: +`diff.dirstat`:: +ifdef::git-diff[] + A comma separated list of `--dirstat` parameters specifying the + default behavior of the `--dirstat` option to `git diff` and friends. +endif::git-diff[] +ifndef::git-diff[] A comma separated list of `--dirstat` parameters specifying the default behavior of the `--dirstat` option to linkgit:git-diff[1] - and friends. The defaults can be overridden on the command line - (using `--dirstat=<param1,param2,...>`). The fallback defaults + and friends. +endif::git-diff[] + The defaults can be overridden on the command line + (using `--dirstat=<param>,...`). The fallback defaults (when not changed by `diff.dirstat`) are `changes,noncumulative,3`. The following parameters are available: + @@ -41,7 +48,7 @@ diff.dirstat:: Note that when using `cumulative`, the sum of the percentages reported may exceed 100%. The default (non-cumulative) behavior can be specified with the `noncumulative` parameter. -<limit>;; +_<limit>_;; An integer parameter specifies a cut-off percent (3% by default). Directories contributing less than this percentage of the changes are not shown in the output. @@ -52,58 +59,58 @@ directories with less than 10% of the total amount of changed files, and accumulating child directory counts in the parent directories: `files,10,cumulative`. -diff.statNameWidth:: - Limit the width of the filename part in --stat output. If set, applies - to all commands generating --stat output except format-patch. +`diff.statNameWidth`:: + Limit the width of the filename part in `--stat` output. If set, applies + to all commands generating `--stat` output except `format-patch`. -diff.statGraphWidth:: - Limit the width of the graph part in --stat output. If set, applies - to all commands generating --stat output except format-patch. +`diff.statGraphWidth`:: + Limit the width of the graph part in `--stat` output. If set, applies + to all commands generating `--stat` output except `format-patch`. -diff.context:: - Generate diffs with <n> lines of context instead of the default - of 3. This value is overridden by the -U option. +`diff.context`:: + Generate diffs with _<n>_ lines of context instead of the default + of 3. This value is overridden by the `-U` option. -diff.interHunkContext:: +`diff.interHunkContext`:: Show the context between diff hunks, up to the specified number of lines, thereby fusing the hunks that are close to each other. This value serves as the default for the `--inter-hunk-context` command line option. -diff.external:: +`diff.external`:: If this config variable is set, diff generation is not performed using the internal diff machinery, but using the - given command. Can be overridden with the `GIT_EXTERNAL_DIFF' + given command. Can be overridden with the `GIT_EXTERNAL_DIFF` environment variable. The command is called with parameters as described under "git Diffs" in linkgit:git[1]. Note: if you want to use an external diff program only on a subset of your files, you might want to use linkgit:gitattributes[5] instead. -diff.trustExitCode:: - If this boolean value is set to true then the +`diff.trustExitCode`:: + If this boolean value is set to `true` then the `diff.external` command is expected to return exit code 0 if it considers the input files to be equal or 1 if it - considers them to be different, like `diff(1)`. - If it is set to false, which is the default, then the command - is expected to return exit code 0 regardless of equality. + considers them to be different, like `diff`(1). + If it is set to `false`, which is the default, then the command + is expected to return exit code `0` regardless of equality. Any other exit code causes Git to report a fatal error. -diff.ignoreSubmodules:: - Sets the default value of --ignore-submodules. Note that this - affects only 'git diff' Porcelain, and not lower level 'diff' - commands such as 'git diff-files'. 'git checkout' - and 'git switch' also honor +`diff.ignoreSubmodules`:: + Sets the default value of `--ignore-submodules`. Note that this + affects only `git diff` Porcelain, and not lower level `diff` + commands such as `git diff-files`. `git checkout` + and `git switch` also honor this setting when reporting uncommitted changes. Setting it to - 'all' disables the submodule summary normally shown by 'git commit' - and 'git status' when `status.submoduleSummary` is set unless it is - overridden by using the --ignore-submodules command-line option. - The 'git submodule' commands are not affected by this setting. + `all` disables the submodule summary normally shown by `git commit` + and `git status` when `status.submoduleSummary` is set unless it is + overridden by using the `--ignore-submodules` command-line option. + The `git submodule` commands are not affected by this setting. By default this is set to untracked so that any untracked submodules are ignored. -diff.mnemonicPrefix:: - If set, 'git diff' uses a prefix pair that is different from the - standard "a/" and "b/" depending on what is being compared. When +`diff.mnemonicPrefix`:: + If set, `git diff` uses a prefix pair that is different from the + standard `a/` and `b/` depending on what is being compared. When this configuration is in effect, reverse diff output also swaps the order of the prefixes: `git diff`;; @@ -112,111 +119,115 @@ diff.mnemonicPrefix:: compares a (c)ommit and the (w)ork tree; `git diff --cached`;; compares a (c)ommit and the (i)ndex; -`git diff HEAD:file1 file2`;; +`git diff HEAD:<file1> <file2>`;; compares an (o)bject and a (w)ork tree entity; -`git diff --no-index a b`;; - compares two non-git things (1) and (2). +`git diff --no-index <a> <b>`;; + compares two non-git things _<a>_ and _<b>_. -diff.noPrefix:: - If set, 'git diff' does not show any source or destination prefix. +`diff.noPrefix`:: + If set, `git diff` does not show any source or destination prefix. -diff.srcPrefix:: - If set, 'git diff' uses this source prefix. Defaults to "a/". +`diff.srcPrefix`:: + If set, `git diff` uses this source prefix. Defaults to `a/`. -diff.dstPrefix:: - If set, 'git diff' uses this destination prefix. Defaults to "b/". +`diff.dstPrefix`:: + If set, `git diff` uses this destination prefix. Defaults to `b/`. -diff.relative:: - If set to 'true', 'git diff' does not show changes outside of the directory +`diff.relative`:: + If set to `true`, `git diff` does not show changes outside of the directory and show pathnames relative to the current directory. -diff.orderFile:: +`diff.orderFile`:: File indicating how to order files within a diff. - See the '-O' option to linkgit:git-diff[1] for details. +ifdef::git-diff[] + See the `-O` option for details. +endif::git-diff[] +ifndef::git-diff[] + See the `-O` option to linkgit:git-diff[1] for details. +endif::git-diff[] If `diff.orderFile` is a relative pathname, it is treated as relative to the top of the working tree. -diff.renameLimit:: +`diff.renameLimit`:: The number of files to consider in the exhaustive portion of - copy/rename detection; equivalent to the 'git diff' option + copy/rename detection; equivalent to the `git diff` option `-l`. If not set, the default value is currently 1000. This setting has no effect if rename detection is turned off. -diff.renames:: - Whether and how Git detects renames. If set to "false", - rename detection is disabled. If set to "true", basic rename - detection is enabled. If set to "copies" or "copy", Git will - detect copies, as well. Defaults to true. Note that this - affects only 'git diff' Porcelain like linkgit:git-diff[1] and +`diff.renames`:: + Whether and how Git detects renames. If set to `false`, + rename detection is disabled. If set to `true`, basic rename + detection is enabled. If set to `copies` or `copy`, Git will + detect copies, as well. Defaults to `true`. Note that this + affects only `git diff` Porcelain like linkgit:git-diff[1] and linkgit:git-log[1], and not lower level commands such as linkgit:git-diff-files[1]. -diff.suppressBlankEmpty:: +`diff.suppressBlankEmpty`:: A boolean to inhibit the standard behavior of printing a space - before each empty output line. Defaults to false. + before each empty output line. Defaults to `false`. -diff.submodule:: +`diff.submodule`:: Specify the format in which differences in submodules are - shown. The "short" format just shows the names of the commits - at the beginning and end of the range. The "log" format lists + shown. The `short` format just shows the names of the commits + at the beginning and end of the range. The `log` format lists the commits in the range like linkgit:git-submodule[1] `summary` - does. The "diff" format shows an inline diff of the changed - contents of the submodule. Defaults to "short". + does. The `diff` format shows an inline diff of the changed + contents of the submodule. Defaults to `short`. -diff.wordRegex:: +`diff.wordRegex`:: A POSIX Extended Regular Expression used to determine what is a "word" when performing word-by-word difference calculations. Character sequences that match the regular expression are "words", all other characters are *ignorable* whitespace. -diff.<driver>.command:: +`diff.<driver>.command`:: The custom diff driver command. See linkgit:gitattributes[5] for details. -diff.<driver>.trustExitCode:: - If this boolean value is set to true then the +`diff.<driver>.trustExitCode`:: + If this boolean value is set to `true` then the `diff.<driver>.command` command is expected to return exit code 0 if it considers the input files to be equal or 1 if it - considers them to be different, like `diff(1)`. - If it is set to false, which is the default, then the command + considers them to be different, like `diff`(1). + If it is set to `false`, which is the default, then the command is expected to return exit code 0 regardless of equality. Any other exit code causes Git to report a fatal error. -diff.<driver>.xfuncname:: +`diff.<driver>.xfuncname`:: The regular expression that the diff driver should use to recognize the hunk header. A built-in pattern may also be used. See linkgit:gitattributes[5] for details. -diff.<driver>.binary:: - Set this option to true to make the diff driver treat files as +`diff.<driver>.binary`:: + Set this option to `true` to make the diff driver treat files as binary. See linkgit:gitattributes[5] for details. -diff.<driver>.textconv:: +`diff.<driver>.textconv`:: The command that the diff driver should call to generate the text-converted version of a file. The result of the conversion is used to generate a human-readable diff. See linkgit:gitattributes[5] for details. -diff.<driver>.wordRegex:: +`diff.<driver>.wordRegex`:: The regular expression that the diff driver should use to split words in a line. See linkgit:gitattributes[5] for details. -diff.<driver>.cachetextconv:: - Set this option to true to make the diff driver cache the text +`diff.<driver>.cachetextconv`:: + Set this option to `true` to make the diff driver cache the text conversion outputs. See linkgit:gitattributes[5] for details. -include::../mergetools-diff.txt[] - -diff.indentHeuristic:: +`diff.indentHeuristic`:: Set this option to `false` to disable the default heuristics that shift diff hunk boundaries to make patches easier to read. -diff.algorithm:: +`diff.algorithm`:: Choose a diff algorithm. The variants are as follows: + -- -`default`, `myers`;; +`default`;; +`myers`;; The basic greedy diff algorithm. Currently, this is the default. `minimal`;; Spend extra time to make sure the smallest possible diff is @@ -229,7 +240,7 @@ diff.algorithm:: -- + -diff.wsErrorHighlight:: +`diff.wsErrorHighlight`:: Highlight whitespace errors in the `context`, `old` or `new` lines of the diff. Multiple values are separated by comma, `none` resets previous values, `default` reset the list to @@ -238,14 +249,19 @@ diff.wsErrorHighlight:: The command line option `--ws-error-highlight=<kind>` overrides this setting. -diff.colorMoved:: - If set to either a valid `<mode>` or a true value, moved lines - in a diff are colored differently, for details of valid modes - see '--color-moved' in linkgit:git-diff[1]. If simply set to - true the default color mode will be used. When set to false, - moved lines are not colored. - -diff.colorMovedWS:: +`diff.colorMoved`:: + If set to either a valid _<mode>_ or a `true` value, moved lines + in a diff are colored differently. +ifdef::git-diff[] + For details of valid modes see `--color-moved`. +endif::git-diff[] +ifndef::git-diff[] + For details of valid modes see `--color-moved` in linkgit:git-diff[1]. +endif::git-diff[] + If simply set to `true` the default color mode will be used. When + set to `false`, moved lines are not colored. + +`diff.colorMovedWS`:: When moved lines are colored using e.g. the `diff.colorMoved` setting, - this option controls the `<mode>` how spaces are treated. - For details of valid modes see '--color-moved-ws' in linkgit:git-diff[1]. + this option controls the mode how spaces are treated. + For details of valid modes see `--color-moved-ws` in linkgit:git-diff[1]. diff --git a/Documentation/config/difftool.txt b/Documentation/config/difftool.adoc index 447c40d85a..4f7d40ce24 100644 --- a/Documentation/config/difftool.txt +++ b/Documentation/config/difftool.adoc @@ -13,6 +13,8 @@ diff.guitool:: and requires that a corresponding difftool.<guitool>.cmd variable is defined. +include::{build_dir}/mergetools-diff.adoc[] + difftool.<tool>.cmd:: Specify the command to invoke the specified diff tool. The specified command is evaluated in shell with the following diff --git a/Documentation/config/extensions.txt b/Documentation/config/extensions.adoc index f0a784447d..9e2f321a6d 100644 --- a/Documentation/config/extensions.txt +++ b/Documentation/config/extensions.adoc @@ -1,17 +1,13 @@ -extensions.objectFormat:: - Specify the hash algorithm to use. The acceptable values are `sha1` and - `sha256`. If not specified, `sha1` is assumed. It is an error to specify - this key unless `core.repositoryFormatVersion` is 1. +extensions.*:: + Unless otherwise stated, is an error to specify an extension if + `core.repositoryFormatVersion` is not `1`. See + linkgit:gitrepository-layout[5]. + -Note that this setting should only be set by linkgit:git-init[1] or -linkgit:git-clone[1]. Trying to change it after initialization will not -work and will produce hard-to-diagnose issues. - -extensions.compatObjectFormat:: - +-- +compatObjectFormat:: Specify a compatibility hash algorithm to use. The acceptable values are `sha1` and `sha256`. The value specified must be different from the - value of extensions.objectFormat. This allows client level + value of `extensions.objectFormat`. This allows client level interoperability between git repositories whose objectFormat matches this compatObjectFormat. In particular when fully implemented the pushes and pulls from a repository in whose objectFormat matches @@ -19,18 +15,61 @@ extensions.compatObjectFormat:: compatObjectFormat in addition to oids encoded with objectFormat to locally specify objects. -extensions.refStorage:: - Specify the ref storage format to use. The acceptable values are: +noop:: + This extension does not change git's behavior at all. It is useful only + for testing format-1 compatibility. ++ +For historical reasons, this extension is respected regardless of the +`core.repositoryFormatVersion` setting. + +noop-v1:: + This extension does not change git's behavior at all. It is useful only + for testing format-1 compatibility. + +objectFormat:: + Specify the hash algorithm to use. The acceptable values are `sha1` and + `sha256`. If not specified, `sha1` is assumed. ++ +Note that this setting should only be set by linkgit:git-init[1] or +linkgit:git-clone[1]. Trying to change it after initialization will not +work and will produce hard-to-diagnose issues. + +partialClone:: + When enabled, indicates that the repo was created with a partial clone + (or later performed a partial fetch) and that the remote may have + omitted sending certain unwanted objects. Such a remote is called a + "promisor remote" and it promises that all such omitted objects can + be fetched from it in the future. ++ +The value of this key is the name of the promisor remote. ++ +For historical reasons, this extension is respected regardless of the +`core.repositoryFormatVersion` setting. + +preciousObjects:: + If enabled, indicates that objects in the repository MUST NOT be deleted + (e.g., by `git-prune` or `git repack -d`). + -include::../ref-storage-format.txt[] +For historical reasons, this extension is respected regardless of the +`core.repositoryFormatVersion` setting. + +refStorage:: + Specify the ref storage format to use. The acceptable values are: + -It is an error to specify this key unless `core.repositoryFormatVersion` is 1. +include::../ref-storage-format.adoc[] + + Note that this setting should only be set by linkgit:git-init[1] or linkgit:git-clone[1]. Trying to change it after initialization will not work and will produce hard-to-diagnose issues. -extensions.worktreeConfig:: +relativeWorktrees:: + If enabled, indicates at least one worktree has been linked with + relative paths. Automatically set if a worktree has been created or + repaired with either the `--relative-paths` option or with the + `worktree.useRelativePaths` config set to `true`. + +worktreeConfig:: If enabled, then worktrees will load config settings from the `$GIT_DIR/config.worktree` file in addition to the `$GIT_COMMON_DIR/config` file. Note that `$GIT_COMMON_DIR` and @@ -40,7 +79,7 @@ extensions.worktreeConfig:: `config.worktree` file will override settings from any other config files. + -When enabling `extensions.worktreeConfig`, you must be careful to move +When enabling this extension, you must be careful to move certain values from the common config file to the main working tree's `config.worktree` file, if present: + @@ -48,15 +87,17 @@ certain values from the common config file to the main working tree's `$GIT_COMMON_DIR/config.worktree`. * If `core.bare` is true, then it must be moved from `$GIT_COMMON_DIR/config` to `$GIT_COMMON_DIR/config.worktree`. + + It may also be beneficial to adjust the locations of `core.sparseCheckout` and `core.sparseCheckoutCone` depending on your desire for customizable sparse-checkout settings for each worktree. By default, the `git -sparse-checkout` builtin enables `extensions.worktreeConfig`, assigns +sparse-checkout` builtin enables this extension, assigns these config values on a per-worktree basis, and uses the `$GIT_DIR/info/sparse-checkout` file to specify the sparsity for each worktree independently. See linkgit:git-sparse-checkout[1] for more details. + -For historical reasons, `extensions.worktreeConfig` is respected -regardless of the `core.repositoryFormatVersion` setting. +For historical reasons, this extension is respected regardless of the +`core.repositoryFormatVersion` setting. +-- diff --git a/Documentation/config/fastimport.txt b/Documentation/config/fastimport.adoc index 903677d7ef..903677d7ef 100644 --- a/Documentation/config/fastimport.txt +++ b/Documentation/config/fastimport.adoc diff --git a/Documentation/config/feature.txt b/Documentation/config/feature.adoc index f061b64b74..924f5ff4e3 100644 --- a/Documentation/config/feature.txt +++ b/Documentation/config/feature.adoc @@ -20,6 +20,16 @@ walking fewer objects. + * `pack.allowPackReuse=multi` may improve the time it takes to create a pack by reusing objects from multiple packs instead of just one. ++ +* `pack.usePathWalk` may speed up packfile creation and make the packfiles be +significantly smaller in the presence of certain filename collisions with Git's +default name-hash. ++ +* `init.defaultRefFormat=reftable` causes newly initialized repositories to use +the reftable format for storing references. This new format solves issues with +case-insensitive filesystems, compresses better and performs significantly +better with many use cases. Refer to Documentation/technical/reftable.adoc for +more information on this new storage format. feature.manyFiles:: Enable config options that optimize for repos with many files in the diff --git a/Documentation/config/fetch.txt b/Documentation/config/fetch.adoc index d7dc461bd1..d7dc461bd1 100644 --- a/Documentation/config/fetch.txt +++ b/Documentation/config/fetch.adoc diff --git a/Documentation/config/filter.txt b/Documentation/config/filter.adoc index 90dfe0ba5a..90dfe0ba5a 100644 --- a/Documentation/config/filter.txt +++ b/Documentation/config/filter.adoc diff --git a/Documentation/config/fmt-merge-msg.txt b/Documentation/config/fmt-merge-msg.adoc index 3fbf40e24f..696ba0531a 100644 --- a/Documentation/config/fmt-merge-msg.txt +++ b/Documentation/config/fmt-merge-msg.adoc @@ -1,19 +1,19 @@ -merge.branchdesc:: +`merge.branchdesc`:: In addition to branch names, populate the log message with the branch description text associated with them. Defaults to false. -merge.log:: +`merge.log`:: In addition to branch names, populate the log message with at most the specified number of one-line descriptions from the actual commits that are being merged. Defaults to false, and true is a synonym for 20. -merge.suppressDest:: +`merge.suppressDest`:: By adding a glob that matches the names of integration branches to this multi-valued configuration variable, the default merge message computed for merges into these - integration branches will omit "into <branch name>" from + integration branches will omit "into _<branch-name>_" from its title. + An element with an empty value can be used to clear the list diff --git a/Documentation/config/format.txt b/Documentation/config/format.adoc index 7410e930e5..ab0710e86a 100644 --- a/Documentation/config/format.txt +++ b/Documentation/config/format.adoc @@ -68,9 +68,15 @@ format.encodeEmailHeaders:: Defaults to true. format.pretty:: +ifndef::with-breaking-changes[] The default pretty format for log/show/whatchanged command. See linkgit:git-log[1], linkgit:git-show[1], linkgit:git-whatchanged[1]. +endif::with-breaking-changes[] +ifdef::with-breaking-changes[] + The default pretty format for log/show command. + See linkgit:git-log[1], linkgit:git-show[1]. +endif::with-breaking-changes[] format.thread:: The default threading style for 'git format-patch'. Can be diff --git a/Documentation/config/fsck.txt b/Documentation/config/fsck.adoc index 8e9e508933..8e9e508933 100644 --- a/Documentation/config/fsck.txt +++ b/Documentation/config/fsck.adoc diff --git a/Documentation/config/fsmonitor--daemon.txt b/Documentation/config/fsmonitor--daemon.adoc index 671f9b9462..671f9b9462 100644 --- a/Documentation/config/fsmonitor--daemon.txt +++ b/Documentation/config/fsmonitor--daemon.adoc diff --git a/Documentation/config/gc.txt b/Documentation/config/gc.adoc index 21d56db279..21d56db279 100644 --- a/Documentation/config/gc.txt +++ b/Documentation/config/gc.adoc diff --git a/Documentation/config/gitcvs.txt b/Documentation/config/gitcvs.adoc index 02da427fd9..31d7be3992 100644 --- a/Documentation/config/gitcvs.txt +++ b/Documentation/config/gitcvs.adoc @@ -47,7 +47,8 @@ gitcvs.dbDriver:: May not contain double colons (`:`). Default: 'SQLite'. See linkgit:git-cvsserver[1]. -gitcvs.dbUser, gitcvs.dbPass:: +gitcvs.dbUser:: +gitcvs.dbPass:: Database user and password. Only useful if setting `gitcvs.dbDriver`, since SQLite has no concept of database users and/or passwords. 'gitcvs.dbUser' supports variable substitution (see diff --git a/Documentation/config/gitweb.txt b/Documentation/config/gitweb.adoc index 1b51475108..1b51475108 100644 --- a/Documentation/config/gitweb.txt +++ b/Documentation/config/gitweb.adoc diff --git a/Documentation/config/gpg.txt b/Documentation/config/gpg.adoc index 5cf32b179d..5cf32b179d 100644 --- a/Documentation/config/gpg.txt +++ b/Documentation/config/gpg.adoc diff --git a/Documentation/config/grep.txt b/Documentation/config/grep.adoc index 10041f27b0..10041f27b0 100644 --- a/Documentation/config/grep.txt +++ b/Documentation/config/grep.adoc diff --git a/Documentation/config/gui.txt b/Documentation/config/gui.adoc index 171be774d2..171be774d2 100644 --- a/Documentation/config/gui.txt +++ b/Documentation/config/gui.adoc diff --git a/Documentation/config/guitool.txt b/Documentation/config/guitool.adoc index 43fb9466ff..43fb9466ff 100644 --- a/Documentation/config/guitool.txt +++ b/Documentation/config/guitool.adoc diff --git a/Documentation/config/help.txt b/Documentation/config/help.adoc index 610701f9a3..b369589cec 100644 --- a/Documentation/config/help.txt +++ b/Documentation/config/help.adoc @@ -11,13 +11,14 @@ help.autoCorrect:: If git detects typos and can identify exactly one valid command similar to the error, git will try to suggest the correct command or even run the suggestion automatically. Possible config values are: - - 0 (default): show the suggested command. - - positive number: run the suggested command after specified + - 0, "false", "off", "no", "show": show the suggested command (default). + - 1, "true", "on", "yes", "immediate": run the suggested command +immediately. + - positive number > 1: run the suggested command after specified deciseconds (0.1 sec). - - "immediate": run the suggested command immediately. + - "never": don't run or show any suggested command. - "prompt": show the suggestion and prompt for confirmation to run the command. - - "never": don't run or show any suggested command. help.htmlPath:: Specify the path where the HTML documentation resides. File system paths diff --git a/Documentation/config/http.txt b/Documentation/config/http.adoc index a14371b5c9..9da5c298cc 100644 --- a/Documentation/config/http.txt +++ b/Documentation/config/http.adoc @@ -216,6 +216,21 @@ http.sslBackend:: This option is ignored if cURL lacks support for choosing the SSL backend at runtime. +http.sslCertType:: + Type of client certificate used when fetching or pushing over HTTPS. + "PEM", "DER" are supported when using openssl or gnutls backends. "P12" + is supported on "openssl", "schannel", "securetransport", and gnutls 8.11+. + See also libcurl `CURLOPT_SSLCERTTYPE`. Can be overridden by the + `GIT_SSL_CERT_TYPE` environment variable. + +http.sslKeyType:: + Type of client private key used when fetching or pushing over HTTPS. (e.g. + "PEM", "DER", or "ENG"). Only applicable when using "openssl" backend. "DER" + is not supported with openssl. Particularly useful when set to "ENG" for + authenticating with PKCS#11 tokens, with a PKCS#11 URL in sslCert option. + See also libcurl `CURLOPT_SSLKEYTYPE`. Can be overridden by the + `GIT_SSL_KEY_TYPE` environment variable. + http.schannelCheckRevoke:: Used to enforce or disable certificate revocation checks in cURL when http.sslBackend is set to "schannel". Defaults to `true` if @@ -274,13 +289,32 @@ for most push problems, but can increase memory consumption significantly since the entire buffer is allocated even for small pushes. -http.lowSpeedLimit, http.lowSpeedTime:: +http.lowSpeedLimit:: +http.lowSpeedTime:: If the HTTP transfer speed, in bytes per second, is less than 'http.lowSpeedLimit' for longer than 'http.lowSpeedTime' seconds, the transfer is aborted. Can be overridden by the `GIT_HTTP_LOW_SPEED_LIMIT` and `GIT_HTTP_LOW_SPEED_TIME` environment variables. +http.keepAliveIdle:: + Specifies how long in seconds to wait on an idle connection + before sending TCP keepalive probes (if supported by the OS). If + unset, curl's default value is used. Can be overridden by the + `GIT_HTTP_KEEPALIVE_IDLE` environment variable. + +http.keepAliveInterval:: + Specifies how long in seconds to wait between TCP keepalive + probes (if supported by the OS). If unset, curl's default value + is used. Can be overridden by the `GIT_HTTP_KEEPALIVE_INTERVAL` + environment variable. + +http.keepAliveCount:: + Specifies how many TCP keepalive probes to send before giving up + and terminating the connection (if supported by the OS). If + unset, curl's default value is used. Can be overridden by the + `GIT_HTTP_KEEPALIVE_COUNT` environment variable. + http.noEPSV:: A boolean which disables using of EPSV ftp command by curl. This can be helpful with some "poor" ftp servers which don't diff --git a/Documentation/config/i18n.txt b/Documentation/config/i18n.adoc index 6e72fdb45b..6e72fdb45b 100644 --- a/Documentation/config/i18n.txt +++ b/Documentation/config/i18n.adoc diff --git a/Documentation/config/imap.txt b/Documentation/config/imap.adoc index 3d28f72643..4682a6bd03 100644 --- a/Documentation/config/imap.txt +++ b/Documentation/config/imap.adoc @@ -1,7 +1,9 @@ imap.folder:: The folder to drop the mails into, which is typically the Drafts - folder. For example: "INBOX.Drafts", "INBOX/Drafts" or - "[Gmail]/Drafts". Required. + folder. For example: `INBOX.Drafts`, `INBOX/Drafts` or + `[Gmail]/Drafts`. The IMAP folder to interact with MUST be specified; + the value of this configuration variable is used as the fallback + default value when the `--folder` option is not given. imap.tunnel:: Command used to set up a tunnel to the IMAP server through which @@ -40,5 +42,6 @@ imap.authMethod:: Specify the authentication method for authenticating with the IMAP server. If Git was built with the NO_CURL option, or if your curl version is older than 7.34.0, or if you're running git-imap-send with the `--no-curl` - option, the only supported method is 'CRAM-MD5'. If this is not set - then 'git imap-send' uses the basic IMAP plaintext LOGIN command. + option, the only supported methods are `PLAIN`, `CRAM-MD5`, `OAUTHBEARER` + and `XOAUTH2`. If this is not set then `git imap-send` uses the basic IMAP + plaintext `LOGIN` command. diff --git a/Documentation/config/includeif.txt b/Documentation/config/includeif.adoc index 82fe431c34..82fe431c34 100644 --- a/Documentation/config/includeif.txt +++ b/Documentation/config/includeif.adoc diff --git a/Documentation/config/index.txt b/Documentation/config/index.adoc index 3eff420360..3eff420360 100644 --- a/Documentation/config/index.txt +++ b/Documentation/config/index.adoc diff --git a/Documentation/config/init.txt b/Documentation/config/init.adoc index e45b2a8121..e45b2a8121 100644 --- a/Documentation/config/init.txt +++ b/Documentation/config/init.adoc diff --git a/Documentation/config/instaweb.txt b/Documentation/config/instaweb.adoc index 50cb2f7d62..50cb2f7d62 100644 --- a/Documentation/config/instaweb.txt +++ b/Documentation/config/instaweb.adoc diff --git a/Documentation/config/interactive.txt b/Documentation/config/interactive.adoc index 8b876cb4eb..8b876cb4eb 100644 --- a/Documentation/config/interactive.txt +++ b/Documentation/config/interactive.adoc diff --git a/Documentation/config/log.txt b/Documentation/config/log.adoc index 9003a82191..a9b160e7de 100644 --- a/Documentation/config/log.txt +++ b/Documentation/config/log.adoc @@ -1,6 +1,13 @@ log.abbrevCommit:: - If true, makes linkgit:git-log[1], linkgit:git-show[1], and - linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may + If true, makes +ifndef::with-breaking-changes[] + linkgit:git-log[1], linkgit:git-show[1], and + linkgit:git-whatchanged[1] +endif::with-breaking-changes[] +ifdef::with-breaking-changes[] + linkgit:git-log[1] and linkgit:git-show[1] +endif::with-breaking-changes[] + assume `--abbrev-commit`. You may override this option with `--no-abbrev-commit`. log.date:: diff --git a/Documentation/config/lsrefs.txt b/Documentation/config/lsrefs.adoc index 3d88fb0bad..3d88fb0bad 100644 --- a/Documentation/config/lsrefs.txt +++ b/Documentation/config/lsrefs.adoc diff --git a/Documentation/config/mailinfo.txt b/Documentation/config/mailinfo.adoc index ec3a5d81f7..ec3a5d81f7 100644 --- a/Documentation/config/mailinfo.txt +++ b/Documentation/config/mailinfo.adoc diff --git a/Documentation/config/mailmap.txt b/Documentation/config/mailmap.adoc index 48cbc30722..48cbc30722 100644 --- a/Documentation/config/mailmap.txt +++ b/Documentation/config/mailmap.adoc diff --git a/Documentation/config/maintenance.txt b/Documentation/config/maintenance.adoc index 72a9d6cf81..2f71934218 100644 --- a/Documentation/config/maintenance.txt +++ b/Documentation/config/maintenance.adoc @@ -61,6 +61,11 @@ maintenance.loose-objects.auto:: loose objects is at least the value of `maintenance.loose-objects.auto`. The default value is 100. +maintenance.loose-objects.batchSize:: + This integer config option controls the maximum number of loose objects + written into a packfile during the `loose-objects` task. The default is + fifty thousand. Use value `0` to indicate no limit. + maintenance.incremental-repack.auto:: This integer config option controls how often the `incremental-repack` task should be run as part of `git maintenance run --auto`. If zero, @@ -69,3 +74,29 @@ maintenance.incremental-repack.auto:: Otherwise, a positive value implies the command should run when the number of pack-files not in the multi-pack-index is at least the value of `maintenance.incremental-repack.auto`. The default value is 10. + +maintenance.reflog-expire.auto:: + This integer config option controls how often the `reflog-expire` task + should be run as part of `git maintenance run --auto`. If zero, then + the `reflog-expire` task will not run with the `--auto` option. A + negative value will force the task to run every time. Otherwise, a + positive value implies the command should run when the number of + expired reflog entries in the "HEAD" reflog is at least the value of + `maintenance.loose-objects.auto`. The default value is 100. + +maintenance.rerere-gc.auto:: + This integer config option controls how often the `rerere-gc` task + should be run as part of `git maintenance run --auto`. If zero, then + the `rerere-gc` task will not run with the `--auto` option. A negative + value will force the task to run every time. Otherwise, any positive + value implies the command will run when the "rr-cache" directory exists + and has at least one entry, regardless of whether it is stale or not. + This heuristic may be refined in the future. The default value is 1. + +maintenance.worktree-prune.auto:: + This integer config option controls how often the `worktree-prune` task + should be run as part of `git maintenance run --auto`. If zero, then + the `worktree-prune` task will not run with the `--auto` option. A + negative value will force the task to run every time. Otherwise, a + positive value implies the command should run when the number of + prunable worktrees exceeds the value. The default value is 1. diff --git a/Documentation/config/man.txt b/Documentation/config/man.adoc index 5a0f82cc23..5a0f82cc23 100644 --- a/Documentation/config/man.txt +++ b/Documentation/config/man.adoc diff --git a/Documentation/config/merge.txt b/Documentation/config/merge.adoc index 8851b6cede..15a4c14c38 100644 --- a/Documentation/config/merge.txt +++ b/Documentation/config/merge.adoc @@ -1,9 +1,9 @@ -merge.conflictStyle:: +`merge.conflictStyle`:: Specify the style in which conflicted hunks are written out to working tree files upon merge. The default is "merge", which - shows a `<<<<<<<` conflict marker, changes made by one side, + shows a +<<<<<<<+ conflict marker, changes made by one side, a `=======` marker, changes made by the other side, and then - a `>>>>>>>` marker. An alternate style, "diff3", adds a `|||||||` + a +>>>>>>>+ marker. An alternate style, "diff3", adds a +|||||||+ marker and the original text before the `=======` marker. The "merge" style tends to produce smaller conflict regions than diff3, both because of the exclusion of the original text, and because @@ -13,17 +13,17 @@ merge.conflictStyle:: the conflict region when those matching lines appear near either the beginning or end of a conflict region. -merge.defaultToUpstream:: +`merge.defaultToUpstream`:: If merge is called without any commit argument, merge the upstream branches configured for the current branch by using their last observed values stored in their remote-tracking branches. The values of the `branch.<current branch>.merge` that name the - branches at the remote named by `branch.<current branch>.remote` + branches at the remote named by `branch.<current-branch>.remote` are consulted, and then they are mapped via `remote.<remote>.fetch` to their corresponding remote-tracking branches, and the tips of these tracking branches are merged. Defaults to true. -merge.ff:: +`merge.ff`:: By default, Git does not create an extra merge commit when merging a commit that is a descendant of the current commit. Instead, the tip of the current branch is fast-forwarded. When set to `false`, @@ -33,77 +33,92 @@ merge.ff:: allowed (equivalent to giving the `--ff-only` option from the command line). -merge.verifySignatures:: - If true, this is equivalent to the --verify-signatures command +`merge.verifySignatures`:: + If true, this is equivalent to the `--verify-signatures` command line option. See linkgit:git-merge[1] for details. -include::fmt-merge-msg.txt[] +include::fmt-merge-msg.adoc[] -merge.renameLimit:: +`merge.renameLimit`:: The number of files to consider in the exhaustive portion of rename detection during a merge. If not specified, defaults - to the value of diff.renameLimit. If neither - merge.renameLimit nor diff.renameLimit are specified, + to the value of `diff.renameLimit`. If neither + `merge.renameLimit` nor `diff.renameLimit` are specified, currently defaults to 7000. This setting has no effect if rename detection is turned off. -merge.renames:: - Whether Git detects renames. If set to "false", rename detection - is disabled. If set to "true", basic rename detection is enabled. +`merge.renames`:: + Whether Git detects renames. If set to `false`, rename detection + is disabled. If set to `true`, basic rename detection is enabled. Defaults to the value of diff.renames. -merge.directoryRenames:: +`merge.directoryRenames`:: Whether Git detects directory renames, affecting what happens at merge time to new files added to a directory on one side of history when that directory was renamed on the other side of - history. If merge.directoryRenames is set to "false", directory - rename detection is disabled, meaning that such new files will be - left behind in the old directory. If set to "true", directory - rename detection is enabled, meaning that such new files will be - moved into the new directory. If set to "conflict", a conflict - will be reported for such paths. If merge.renames is false, - merge.directoryRenames is ignored and treated as false. Defaults - to "conflict". - -merge.renormalize:: + history. Possible values are: ++ +-- +`false`;; Directory rename detection is disabled, meaning that such new files will be + left behind in the old directory. +`true`;; Directory rename detection is enabled, meaning that such new files will be + moved into the new directory. +`conflict`;; A conflict will be reported for such paths. +-- ++ +If `merge.renames` is `false`, `merge.directoryRenames` is ignored and treated +as `false`. Defaults to `conflict`. + +`merge.renormalize`:: Tell Git that canonical representation of files in the repository has changed over time (e.g. earlier commits record - text files with CRLF line endings, but recent ones use LF line - endings). In such a repository, Git can convert the data + text files with _CRLF_ line endings, but recent ones use _LF_ line + endings). In such a repository, for each file where a + three-way content merge is needed, Git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts. For more information, see section "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5]. -merge.stat:: - Whether to print the diffstat between ORIG_HEAD and the merge result - at the end of the merge. True by default. - -merge.autoStash:: - When set to true, automatically create a temporary stash entry +`merge.stat`:: + What, if anything, to print between `ORIG_HEAD` and the merge result + at the end of the merge. Possible values are: ++ +-- +`false`;; Show nothing. +`true`;; Show `git diff --diffstat --summary ORIG_HEAD`. +`compact`;; Show `git diff --compact-summary ORIG_HEAD`. +-- ++ +but any unrecognised value (e.g., a value added by a future version of +Git) is taken as `true` instead of triggering an error. Defaults to +`true`. + +`merge.autoStash`:: + When set to `true`, automatically create a temporary stash entry before the operation begins, and apply it after the operation ends. This means that you can run merge on a dirty worktree. However, use with care: the final stash application after a successful merge might result in non-trivial conflicts. This option can be overridden by the `--no-autostash` and `--autostash` options of linkgit:git-merge[1]. - Defaults to false. + Defaults to `false`. -merge.tool:: +`merge.tool`:: Controls which merge tool is used by linkgit:git-mergetool[1]. The list below shows the valid built-in values. Any other value is treated as a custom merge tool and requires - that a corresponding mergetool.<tool>.cmd variable is defined. + that a corresponding `mergetool.<tool>.cmd` variable is defined. -merge.guitool:: +`merge.guitool`:: Controls which merge tool is used by linkgit:git-mergetool[1] when the - -g/--gui flag is specified. The list below shows the valid built-in values. + `-g`/`--gui` flag is specified. The list below shows the valid built-in values. Any other value is treated as a custom merge tool and requires that a - corresponding mergetool.<guitool>.cmd variable is defined. + corresponding `mergetool.<guitool>.cmd` variable is defined. -include::../mergetools-merge.txt[] +include::{build_dir}/mergetools-merge.adoc[] -merge.verbosity:: +`merge.verbosity`:: Controls the amount of output shown by the recursive merge strategy. Level 0 outputs nothing except a final error message if conflicts were detected. Level 1 outputs only @@ -111,15 +126,15 @@ merge.verbosity:: above outputs debugging information. The default is level 2. Can be overridden by the `GIT_MERGE_VERBOSITY` environment variable. -merge.<driver>.name:: +`merge.<driver>.name`:: Defines a human-readable name for a custom low-level merge driver. See linkgit:gitattributes[5] for details. -merge.<driver>.driver:: +`merge.<driver>.driver`:: Defines the command that implements a custom low-level merge driver. See linkgit:gitattributes[5] for details. -merge.<driver>.recursive:: +`merge.<driver>.recursive`:: Names a low-level merge driver to be used when performing an internal merge between common ancestors. See linkgit:gitattributes[5] for details. diff --git a/Documentation/config/mergetool.txt b/Documentation/config/mergetool.adoc index 00bf665aa0..6be506145c 100644 --- a/Documentation/config/mergetool.txt +++ b/Documentation/config/mergetool.adoc @@ -1,24 +1,24 @@ -mergetool.<tool>.path:: +`mergetool.<tool>.path`:: Override the path for the given tool. This is useful in case - your tool is not in the PATH. + your tool is not in the `$PATH`. -mergetool.<tool>.cmd:: +`mergetool.<tool>.cmd`:: Specify the command to invoke the specified merge tool. The specified command is evaluated in shell with the following - variables available: 'BASE' is the name of a temporary file + variables available: `BASE` is the name of a temporary file containing the common base of the files to be merged, if available; - 'LOCAL' is the name of a temporary file containing the contents of - the file on the current branch; 'REMOTE' is the name of a temporary + `LOCAL` is the name of a temporary file containing the contents of + the file on the current branch; `REMOTE` is the name of a temporary file containing the contents of the file from the branch being - merged; 'MERGED' contains the name of the file to which the merge + merged; `MERGED` contains the name of the file to which the merge tool should write the results of a successful merge. -mergetool.<tool>.hideResolved:: +`mergetool.<tool>.hideResolved`:: Allows the user to override the global `mergetool.hideResolved` value for a specific tool. See `mergetool.hideResolved` for the full description. -mergetool.<tool>.trustExitCode:: +`mergetool.<tool>.trustExitCode`:: For a custom merge command, specify whether the exit code of the merge command can be used to determine whether the merge was successful. If this is not set to true then the merge target file @@ -26,7 +26,7 @@ mergetool.<tool>.trustExitCode:: if the file has been updated; otherwise, the user is prompted to indicate the success of the merge. -mergetool.meld.hasOutput:: +`mergetool.meld.hasOutput`:: Older versions of `meld` do not support the `--output` option. Git will attempt to detect whether `meld` supports `--output` by inspecting the output of `meld --help`. Configuring @@ -35,7 +35,7 @@ mergetool.meld.hasOutput:: to `true` tells Git to unconditionally use the `--output` option, and `false` avoids using `--output`. -mergetool.meld.useAutoMerge:: +`mergetool.meld.useAutoMerge`:: When the `--auto-merge` is given, meld will merge all non-conflicting parts automatically, highlight the conflicting parts, and wait for user decision. Setting `mergetool.meld.useAutoMerge` to `true` tells @@ -45,15 +45,15 @@ mergetool.meld.useAutoMerge:: value of `false` avoids using `--auto-merge` altogether, and is the default value. -mergetool.<vimdiff variant>.layout:: - Configure the split window layout for vimdiff's `<variant>`, which is any of `vimdiff`, +`mergetool.<variant>.layout`:: + Configure the split window layout for vimdiff's _<variant>_, which is any of `vimdiff`, `nvimdiff`, `gvimdiff`. Upon launching `git mergetool` with `--tool=<variant>` (or without `--tool` - if `merge.tool` is configured as `<variant>`), Git will consult + if `merge.tool` is configured as _<variant>_), Git will consult `mergetool.<variant>.layout` to determine the tool's layout. If the - variant-specific configuration is not available, `vimdiff`'s is used as + variant-specific configuration is not available, `vimdiff` ' s is used as fallback. If that too is not available, a default layout with 4 windows - will be used. To configure the layout, see the `BACKEND SPECIFIC HINTS` + will be used. To configure the layout, see the 'BACKEND SPECIFIC HINTS' ifdef::git-mergetool[] section. endif::[] @@ -61,39 +61,39 @@ ifndef::git-mergetool[] section in linkgit:git-mergetool[1]. endif::[] -mergetool.hideResolved:: +`mergetool.hideResolved`:: During a merge, Git will automatically resolve as many conflicts as - possible and write the 'MERGED' file containing conflict markers around - any conflicts that it cannot resolve; 'LOCAL' and 'REMOTE' normally - represent the versions of the file from before Git's conflict - resolution. This flag causes 'LOCAL' and 'REMOTE' to be overwritten so + possible and write the `$MERGED` file containing conflict markers around + any conflicts that it cannot resolve; `$LOCAL` and `$REMOTE` normally + are the versions of the file from before Git`s conflict + resolution. This flag causes `$LOCAL` and `$REMOTE` to be overwritten so that only the unresolved conflicts are presented to the merge tool. Can be configured per-tool via the `mergetool.<tool>.hideResolved` configuration variable. Defaults to `false`. -mergetool.keepBackup:: +`mergetool.keepBackup`:: After performing a merge, the original file with conflict markers can be saved as a file with a `.orig` extension. If this variable is set to `false` then this file is not preserved. Defaults to `true` (i.e. keep the backup files). -mergetool.keepTemporaries:: +`mergetool.keepTemporaries`:: When invoking a custom merge tool, Git uses a set of temporary files to pass to the tool. If the tool returns an error and this variable is set to `true`, then these temporary files will be preserved; otherwise, they will be removed after the tool has exited. Defaults to `false`. -mergetool.writeToTemp:: - Git writes temporary 'BASE', 'LOCAL', and 'REMOTE' versions of +`mergetool.writeToTemp`:: + Git writes temporary `BASE`, `LOCAL`, and `REMOTE` versions of conflicting files in the worktree by default. Git will attempt to use a temporary directory for these files when set `true`. Defaults to `false`. -mergetool.prompt:: +`mergetool.prompt`:: Prompt before each invocation of the merge resolution program. -mergetool.guiDefault:: +`mergetool.guiDefault`:: Set `true` to use the `merge.guitool` by default (equivalent to specifying the `--gui` argument), or `auto` to select `merge.guitool` or `merge.tool` depending on the presence of a `DISPLAY` environment diff --git a/Documentation/config/notes.txt b/Documentation/config/notes.adoc index 43db8e808d..b7e536496f 100644 --- a/Documentation/config/notes.txt +++ b/Documentation/config/notes.adoc @@ -1,4 +1,4 @@ -notes.mergeStrategy:: +`notes.mergeStrategy`:: Which merge strategy to choose by default when resolving notes conflicts. Must be one of `manual`, `ours`, `theirs`, `union`, or `cat_sort_uniq`. Defaults to `manual`. See the "NOTES MERGE STRATEGIES" @@ -7,17 +7,17 @@ notes.mergeStrategy:: This setting can be overridden by passing the `--strategy` option to linkgit:git-notes[1]. -notes.<name>.mergeStrategy:: +`notes.<name>.mergeStrategy`:: Which merge strategy to choose when doing a notes merge into - refs/notes/<name>. This overrides the more general - "notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section in + `refs/notes/<name>`. This overrides the more general + `notes.mergeStrategy`. See the "NOTES MERGE STRATEGIES" section in linkgit:git-notes[1] for more information on the available strategies. -notes.displayRef:: +`notes.displayRef`:: Which ref (or refs, if a glob or specified more than once), in addition to the default set by `core.notesRef` or `GIT_NOTES_REF`, to read notes from when showing commit - messages with the 'git log' family of commands. + messages with the `git log` family of commands. + This setting can be overridden with the `GIT_NOTES_DISPLAY_REF` environment variable, which must be a colon separated list of refs or @@ -26,27 +26,27 @@ globs. A warning will be issued for refs that do not exist, but a glob that does not match any refs is silently ignored. + -This setting can be disabled by the `--no-notes` option to the 'git -log' family of commands, or by the `--notes=<ref>` option accepted by +This setting can be disabled by the `--no-notes` option to the linkgit:git-log[1] +family of commands, or by the `--notes=<ref>` option accepted by those commands. + -The effective value of "core.notesRef" (possibly overridden by -GIT_NOTES_REF) is also implicitly added to the list of refs to be +The effective value of `core.notesRef` (possibly overridden by +`GIT_NOTES_REF`) is also implicitly added to the list of refs to be displayed. -notes.rewrite.<command>:: - When rewriting commits with <command> (currently `amend` or +`notes.rewrite.<command>`:: + When rewriting commits with _<command>_ (currently `amend` or `rebase`), if this variable is `false`, git will not copy notes from the original to the rewritten commit. Defaults to - `true`. See also "`notes.rewriteRef`" below. + `true`. See also `notes.rewriteRef` below. + This setting can be overridden with the `GIT_NOTES_REWRITE_REF` environment variable, which must be a colon separated list of refs or globs. -notes.rewriteMode:: +`notes.rewriteMode`:: When copying notes during a rewrite (see the - "notes.rewrite.<command>" option), determines what to do if + `notes.rewrite.<command>` option), determines what to do if the target commit already has a note. Must be one of `overwrite`, `concatenate`, `cat_sort_uniq`, or `ignore`. Defaults to `concatenate`. @@ -54,7 +54,7 @@ notes.rewriteMode:: This setting can be overridden with the `GIT_NOTES_REWRITE_MODE` environment variable. -notes.rewriteRef:: +`notes.rewriteRef`:: When copying notes during a rewrite, specifies the (fully qualified) ref whose notes should be copied. May be a glob, in which case notes in all matching refs will be copied. You diff --git a/Documentation/config/pack.txt b/Documentation/config/pack.adoc index da527377fa..75402d5579 100644 --- a/Documentation/config/pack.txt +++ b/Documentation/config/pack.adoc @@ -155,6 +155,10 @@ pack.useSparse:: commits contain certain types of direct renames. Default is `true`. +pack.usePathWalk:: + Enable the `--path-walk` option by default for `git pack-objects` + processes. See linkgit:git-pack-objects[1] for full details. + pack.preferBitmapTips:: When selecting which commits will receive bitmaps, prefer a commit at the tip of any reference that is a suffix of any value diff --git a/Documentation/config/pager.txt b/Documentation/config/pager.adoc index d3731cf66c..d3731cf66c 100644 --- a/Documentation/config/pager.txt +++ b/Documentation/config/pager.adoc diff --git a/Documentation/config/pretty.txt b/Documentation/config/pretty.adoc index 063c6b63d9..063c6b63d9 100644 --- a/Documentation/config/pretty.txt +++ b/Documentation/config/pretty.adoc diff --git a/Documentation/config/promisor.adoc b/Documentation/config/promisor.adoc new file mode 100644 index 0000000000..2638b01f83 --- /dev/null +++ b/Documentation/config/promisor.adoc @@ -0,0 +1,30 @@ +promisor.quiet:: + If set to "true" assume `--quiet` when fetching additional + objects for a partial clone. + +promisor.advertise:: + If set to "true", a server will use the "promisor-remote" + capability, see linkgit:gitprotocol-v2[5], to advertise the + promisor remotes it is using, if it uses some. Default is + "false", which means the "promisor-remote" capability is not + advertised. + +promisor.acceptFromServer:: + If set to "all", a client will accept all the promisor remotes + a server might advertise using the "promisor-remote" + capability. If set to "knownName" the client will accept + promisor remotes which are already configured on the client + and have the same name as those advertised by the client. This + is not very secure, but could be used in a corporate setup + where servers and clients are trusted to not switch name and + URLs. If set to "knownUrl", the client will accept promisor + remotes which have both the same name and the same URL + configured on the client as the name and URL advertised by the + server. This is more secure than "all" or "knownName", so it + should be used if possible instead of those options. Default + is "none", which means no promisor remote advertised by a + server will be accepted. By accepting a promisor remote, the + client agrees that the server might omit objects that are + lazily fetchable from this promisor remote from its responses + to "fetch" and "clone" requests from the client. Name and URL + comparisons are case sensitive. See linkgit:gitprotocol-v2[5]. diff --git a/Documentation/config/promisor.txt b/Documentation/config/promisor.txt deleted file mode 100644 index 98c5cb2ec2..0000000000 --- a/Documentation/config/promisor.txt +++ /dev/null @@ -1,3 +0,0 @@ -promisor.quiet:: - If set to "true" assume `--quiet` when fetching additional - objects for a partial clone. diff --git a/Documentation/config/protocol.txt b/Documentation/config/protocol.adoc index a9bf187a93..a9bf187a93 100644 --- a/Documentation/config/protocol.txt +++ b/Documentation/config/protocol.adoc diff --git a/Documentation/config/pull.txt b/Documentation/config/pull.adoc index 9349e09261..9349e09261 100644 --- a/Documentation/config/pull.txt +++ b/Documentation/config/pull.adoc diff --git a/Documentation/config/push.txt b/Documentation/config/push.adoc index 0acbbea18a..0acbbea18a 100644 --- a/Documentation/config/push.txt +++ b/Documentation/config/push.adoc diff --git a/Documentation/config/rebase.txt b/Documentation/config/rebase.adoc index c6187ab28b..c6187ab28b 100644 --- a/Documentation/config/rebase.txt +++ b/Documentation/config/rebase.adoc diff --git a/Documentation/config/receive.txt b/Documentation/config/receive.adoc index 36a1e6f2d2..36a1e6f2d2 100644 --- a/Documentation/config/receive.txt +++ b/Documentation/config/receive.adoc diff --git a/Documentation/config/reftable.txt b/Documentation/config/reftable.adoc index 57087803a5..57087803a5 100644 --- a/Documentation/config/reftable.txt +++ b/Documentation/config/reftable.adoc diff --git a/Documentation/config/remote.txt b/Documentation/config/remote.adoc index 71d1fee835..91e46f66f5 100644 --- a/Documentation/config/remote.txt +++ b/Documentation/config/remote.adoc @@ -96,3 +96,27 @@ remote.<name>.partialclonefilter:: Changing or clearing this value will only affect fetches for new commits. To fetch associated objects for commits already present in the local object database, use the `--refetch` option of linkgit:git-fetch[1]. + +remote.<name>.serverOption:: + The default set of server options used when fetching from this remote. + These server options can be overridden by the `--server-option=` command + line arguments. ++ +This is a multi-valued variable, and an empty value can be used in a higher +priority configuration file (e.g. `.git/config` in a repository) to clear +the values inherited from a lower priority configuration files (e.g. +`$HOME/.gitconfig`). + +remote.<name>.followRemoteHEAD:: + How linkgit:git-fetch[1] should handle updates to `remotes/<name>/HEAD` + when fetching using the configured refspecs of a remote. + The default value is "create", which will create `remotes/<name>/HEAD` + if it exists on the remote, but not locally; this will not touch an + already existing local reference. Setting it to "warn" will print + a message if the remote has a different value than the local one; + in case there is no local reference, it behaves like "create". + A variant on "warn" is "warn-if-not-$branch", which behaves like + "warn", but if `HEAD` on the remote is `$branch` it will be silent. + Setting it to "always" will silently update `remotes/<name>/HEAD` to + the value on the remote. Finally, setting it to "never" will never + change or create the local reference. diff --git a/Documentation/config/remotes.txt b/Documentation/config/remotes.adoc index 4cfe03221e..4cfe03221e 100644 --- a/Documentation/config/remotes.txt +++ b/Documentation/config/remotes.adoc diff --git a/Documentation/config/repack.txt b/Documentation/config/repack.adoc index c79af6d7b8..c79af6d7b8 100644 --- a/Documentation/config/repack.txt +++ b/Documentation/config/repack.adoc diff --git a/Documentation/config/rerere.txt b/Documentation/config/rerere.adoc index 3a78b5ebb1..3a78b5ebb1 100644 --- a/Documentation/config/rerere.txt +++ b/Documentation/config/rerere.adoc diff --git a/Documentation/config/revert.txt b/Documentation/config/revert.adoc index 802d6faca2..802d6faca2 100644 --- a/Documentation/config/revert.txt +++ b/Documentation/config/revert.adoc diff --git a/Documentation/config/safe.txt b/Documentation/config/safe.adoc index 2d45c98b12..2d45c98b12 100644 --- a/Documentation/config/safe.txt +++ b/Documentation/config/safe.adoc diff --git a/Documentation/config/sendemail.txt b/Documentation/config/sendemail.adoc index 5ffcfc9f2a..54f1248e64 100644 --- a/Documentation/config/sendemail.txt +++ b/Documentation/config/sendemail.adoc @@ -1,32 +1,32 @@ sendemail.identity:: A configuration identity. When given, causes values in the - 'sendemail.<identity>' subsection to take precedence over - values in the 'sendemail' section. The default identity is + `sendemail.<identity>` subsection to take precedence over + values in the `sendemail` section. The default identity is the value of `sendemail.identity`. sendemail.smtpEncryption:: See linkgit:git-send-email[1] for description. Note that this - setting is not subject to the 'identity' mechanism. + setting is not subject to the `identity` mechanism. sendemail.smtpSSLCertPath:: Path to ca-certificates (either a directory or a single file). Set it to an empty string to disable certificate verification. sendemail.<identity>.*:: - Identity-specific versions of the 'sendemail.*' parameters + Identity-specific versions of the `sendemail.*` parameters found below, taking precedence over those when this identity is selected, through either the command-line or `sendemail.identity`. sendemail.multiEdit:: - If true (default), a single editor instance will be spawned to edit + If `true` (default), a single editor instance will be spawned to edit files you have to edit (patches when `--annotate` is used, and the - summary when `--compose` is used). If false, files will be edited one + summary when `--compose` is used). If `false`, files will be edited one after the other, spawning a new editor each time. sendemail.confirm:: Sets the default for whether to confirm before sending. Must be - one of 'always', 'never', 'cc', 'compose', or 'auto'. See `--confirm` + one of `always`, `never`, `cc`, `compose`, or `auto`. See `--confirm` in the linkgit:git-send-email[1] documentation for the meaning of these values. @@ -51,7 +51,7 @@ sendemail.aliasesFile:: sendemail.aliasFileType:: Format of the file(s) specified in sendemail.aliasesFile. Must be - one of 'mutt', 'mailrc', 'pine', 'elm', 'gnus', or 'sendmail'. + one of `mutt`, `mailrc`, `pine`, `elm`, `gnus`, or `sendmail`. + What an alias file in each format looks like can be found in the documentation of the email program of the same name. The @@ -101,7 +101,7 @@ sendemail.signedOffCc (deprecated):: sendemail.smtpBatchSize:: Number of messages to be sent per connection, after that a relogin - will happen. If the value is 0 or undefined, send all messages in + will happen. If the value is `0` or undefined, send all messages in one connection. See also the `--batch-size` option of linkgit:git-send-email[1]. @@ -111,5 +111,5 @@ sendemail.smtpReloginDelay:: sendemail.forbidSendmailVariables:: To avoid common misconfiguration mistakes, linkgit:git-send-email[1] - will abort with a warning if any configuration options for "sendmail" + will abort with a warning if any configuration options for `sendmail` exist. Set this variable to bypass the check. diff --git a/Documentation/config/sequencer.txt b/Documentation/config/sequencer.adoc index e664eef01d..e664eef01d 100644 --- a/Documentation/config/sequencer.txt +++ b/Documentation/config/sequencer.adoc diff --git a/Documentation/config/showbranch.txt b/Documentation/config/showbranch.adoc index e79ecd9ee9..e79ecd9ee9 100644 --- a/Documentation/config/showbranch.txt +++ b/Documentation/config/showbranch.adoc diff --git a/Documentation/config/sparse.txt b/Documentation/config/sparse.adoc index aff49a8d3a..aff49a8d3a 100644 --- a/Documentation/config/sparse.txt +++ b/Documentation/config/sparse.adoc diff --git a/Documentation/config/splitindex.txt b/Documentation/config/splitindex.adoc index cfaa29610b..cfaa29610b 100644 --- a/Documentation/config/splitindex.txt +++ b/Documentation/config/splitindex.adoc diff --git a/Documentation/config/ssh.txt b/Documentation/config/ssh.adoc index 2ca4bf93e1..2ca4bf93e1 100644 --- a/Documentation/config/ssh.txt +++ b/Documentation/config/ssh.adoc diff --git a/Documentation/config/stash.txt b/Documentation/config/stash.adoc index ec1edaeba6..ec1edaeba6 100644 --- a/Documentation/config/stash.txt +++ b/Documentation/config/stash.adoc diff --git a/Documentation/config/status.txt b/Documentation/config/status.adoc index 8caf90f51c..8caf90f51c 100644 --- a/Documentation/config/status.txt +++ b/Documentation/config/status.adoc diff --git a/Documentation/config/submodule.txt b/Documentation/config/submodule.adoc index 0672d99117..0672d99117 100644 --- a/Documentation/config/submodule.txt +++ b/Documentation/config/submodule.adoc diff --git a/Documentation/config/tag.txt b/Documentation/config/tag.adoc index 5062a057ff..5062a057ff 100644 --- a/Documentation/config/tag.txt +++ b/Documentation/config/tag.adoc diff --git a/Documentation/config/tar.txt b/Documentation/config/tar.adoc index de8ff48ea9..de8ff48ea9 100644 --- a/Documentation/config/tar.txt +++ b/Documentation/config/tar.adoc diff --git a/Documentation/config/trace2.txt b/Documentation/config/trace2.adoc index 3b6bca2b7a..05639ce33f 100644 --- a/Documentation/config/trace2.txt +++ b/Documentation/config/trace2.adoc @@ -17,7 +17,7 @@ trace2.eventTarget:: It may be overridden by the `GIT_TRACE2_EVENT` environment variable. The following table shows possible values. + -include::../trace2-target-values.txt[] +include::../trace2-target-values.adoc[] trace2.normalBrief:: Boolean. When true `time`, `filename`, and `line` fields are diff --git a/Documentation/config/trailer.adoc b/Documentation/config/trailer.adoc new file mode 100644 index 0000000000..60bc221c88 --- /dev/null +++ b/Documentation/config/trailer.adoc @@ -0,0 +1,136 @@ +trailer.separators:: + This option tells which characters are recognized as trailer + separators. By default only ':' is recognized as a trailer + separator, except that '=' is always accepted on the command + line for compatibility with other git commands. ++ +The first character given by this option will be the default character +used when another separator is not specified in the config for this +trailer. ++ +For example, if the value for this option is "%=$", then only lines +using the format '<key><sep><value>' with <sep> containing '%', '=' +or '$' and then spaces will be considered trailers. And '%' will be +the default separator used, so by default trailers will appear like: +'<key>% <value>' (one percent sign and one space will appear between +the key and the value). + +trailer.where:: + This option tells where a new trailer will be added. ++ +This can be `end`, which is the default, `start`, `after` or `before`. ++ +If it is `end`, then each new trailer will appear at the end of the +existing trailers. ++ +If it is `start`, then each new trailer will appear at the start, +instead of the end, of the existing trailers. ++ +If it is `after`, then each new trailer will appear just after the +last trailer with the same <key>. ++ +If it is `before`, then each new trailer will appear just before the +first trailer with the same <key>. + +trailer.ifexists:: + This option makes it possible to choose what action will be + performed when there is already at least one trailer with the + same <key> in the input. ++ +The valid values for this option are: `addIfDifferentNeighbor` (this +is the default), `addIfDifferent`, `add`, `replace` or `doNothing`. ++ +With `addIfDifferentNeighbor`, a new trailer will be added only if no +trailer with the same (<key>, <value>) pair is above or below the line +where the new trailer will be added. ++ +With `addIfDifferent`, a new trailer will be added only if no trailer +with the same (<key>, <value>) pair is already in the input. ++ +With `add`, a new trailer will be added, even if some trailers with +the same (<key>, <value>) pair are already in the input. ++ +With `replace`, an existing trailer with the same <key> will be +deleted and the new trailer will be added. The deleted trailer will be +the closest one (with the same <key>) to the place where the new one +will be added. ++ +With `doNothing`, nothing will be done; that is no new trailer will be +added if there is already one with the same <key> in the input. + +trailer.ifmissing:: + This option makes it possible to choose what action will be + performed when there is not yet any trailer with the same + <key> in the input. ++ +The valid values for this option are: `add` (this is the default) and +`doNothing`. ++ +With `add`, a new trailer will be added. ++ +With `doNothing`, nothing will be done. + +trailer.<keyAlias>.key:: + Defines a <keyAlias> for the <key>. The <keyAlias> must be a + prefix (case does not matter) of the <key>. For example, in `git + config trailer.ack.key "Acked-by"` the "Acked-by" is the <key> and + the "ack" is the <keyAlias>. This configuration allows the shorter + `--trailer "ack:..."` invocation on the command line using the "ack" + <keyAlias> instead of the longer `--trailer "Acked-by:..."`. ++ +At the end of the <key>, a separator can appear and then some +space characters. By default the only valid separator is ':', +but this can be changed using the `trailer.separators` config +variable. ++ +If there is a separator in the key, then it overrides the default +separator when adding the trailer. + +trailer.<keyAlias>.where:: + This option takes the same values as the 'trailer.where' + configuration variable and it overrides what is specified by + that option for trailers with the specified <keyAlias>. + +trailer.<keyAlias>.ifexists:: + This option takes the same values as the 'trailer.ifexists' + configuration variable and it overrides what is specified by + that option for trailers with the specified <keyAlias>. + +trailer.<keyAlias>.ifmissing:: + This option takes the same values as the 'trailer.ifmissing' + configuration variable and it overrides what is specified by + that option for trailers with the specified <keyAlias>. + +trailer.<keyAlias>.command:: + Deprecated in favor of 'trailer.<keyAlias>.cmd'. + This option behaves in the same way as 'trailer.<keyAlias>.cmd', except + that it doesn't pass anything as argument to the specified command. + Instead the first occurrence of substring $ARG is replaced by the + <value> that would be passed as argument. ++ +Note that $ARG in the user's command is +only replaced once and that the original way of replacing $ARG is not safe. ++ +When both 'trailer.<keyAlias>.cmd' and 'trailer.<keyAlias>.command' are given +for the same <keyAlias>, 'trailer.<keyAlias>.cmd' is used and +'trailer.<keyAlias>.command' is ignored. + +trailer.<keyAlias>.cmd:: + This option can be used to specify a shell command that will be called + once to automatically add a trailer with the specified <keyAlias>, and then + called each time a '--trailer <keyAlias>=<value>' argument is specified to + modify the <value> of the trailer that this option would produce. ++ +When the specified command is first called to add a trailer +with the specified <keyAlias>, the behavior is as if a special +'--trailer <keyAlias>=<value>' argument was added at the beginning +of the "git interpret-trailers" command, where <value> +is taken to be the standard output of the command with any +leading and trailing whitespace trimmed off. ++ +If some '--trailer <keyAlias>=<value>' arguments are also passed +on the command line, the command is called again once for each +of these arguments with the same <keyAlias>. And the <value> part +of these arguments, if any, will be passed to the command as its +first argument. This way the command can produce a <value> computed +from the <value> passed in the '--trailer <keyAlias>=<value>' argument. diff --git a/Documentation/config/transfer.txt b/Documentation/config/transfer.adoc index f1ce50f4a6..f1ce50f4a6 100644 --- a/Documentation/config/transfer.txt +++ b/Documentation/config/transfer.adoc diff --git a/Documentation/config/uploadarchive.txt b/Documentation/config/uploadarchive.adoc index e0698e8c1d..e0698e8c1d 100644 --- a/Documentation/config/uploadarchive.txt +++ b/Documentation/config/uploadarchive.adoc diff --git a/Documentation/config/uploadpack.txt b/Documentation/config/uploadpack.adoc index 16264d82a7..0e1dda944a 100644 --- a/Documentation/config/uploadpack.txt +++ b/Documentation/config/uploadpack.adoc @@ -25,7 +25,11 @@ uploadpack.allowReachableSHA1InWant:: uploadpack.allowAnySHA1InWant:: Allow `upload-pack` to accept a fetch request that asks for any object at all. - Defaults to `false`. + It implies `uploadpack.allowTipSHA1InWant` and + `uploadpack.allowReachableSHA1InWant`. If set to `true` it will + enable both of them, it set to `false` it will disable both of + them. + By default not set. uploadpack.keepAlive:: When `upload-pack` has started `pack-objects`, there may be a diff --git a/Documentation/config/url.txt b/Documentation/config/url.adoc index e5566c371d..e5566c371d 100644 --- a/Documentation/config/url.txt +++ b/Documentation/config/url.adoc diff --git a/Documentation/config/user.txt b/Documentation/config/user.adoc index 2ffc38d164..2ffc38d164 100644 --- a/Documentation/config/user.txt +++ b/Documentation/config/user.adoc diff --git a/Documentation/config/versionsort.txt b/Documentation/config/versionsort.adoc index 0cff090819..0cff090819 100644 --- a/Documentation/config/versionsort.txt +++ b/Documentation/config/versionsort.adoc diff --git a/Documentation/config/web.txt b/Documentation/config/web.adoc index beec8d1303..beec8d1303 100644 --- a/Documentation/config/web.txt +++ b/Documentation/config/web.adoc diff --git a/Documentation/config/worktree.txt b/Documentation/config/worktree.adoc index 048e349482..5e35c7d018 100644 --- a/Documentation/config/worktree.txt +++ b/Documentation/config/worktree.adoc @@ -7,3 +7,13 @@ worktree.guessRemote:: such a branch exists, it is checked out and set as "upstream" for the new branch. If no such match can be found, it falls back to creating a new branch from the current HEAD. + +worktree.useRelativePaths:: + Link worktrees using relative paths (when "true") or absolute + paths (when "false"). This is particularly useful for setups + where the repository and worktrees may be moved between + different locations or environments. Defaults to "false". ++ +Note that setting `worktree.useRelativePaths` to "true" implies enabling the +`extension.relativeWorktrees` config (see linkgit:git-config[1]), +thus making it incompatible with older versions of Git. diff --git a/Documentation/date-formats.txt b/Documentation/date-formats.adoc index e24517c496..e24517c496 100644 --- a/Documentation/date-formats.txt +++ b/Documentation/date-formats.adoc diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.adoc index a3ae8747a2..80e36e153d 100644 --- a/Documentation/diff-format.txt +++ b/Documentation/diff-format.adoc @@ -1,25 +1,25 @@ Raw output format ----------------- -The raw output format from "git-diff-index", "git-diff-tree", -"git-diff-files" and "git diff --raw" are very similar. +The raw output format from `git-diff-index`, `git-diff-tree`, +`git-diff-files` and `git diff --raw` are very similar. These commands all compare two sets of things; what is compared differs: -git-diff-index <tree-ish>:: - compares the <tree-ish> and the files on the filesystem. +`git-diff-index <tree-ish>`:: + compares the _<tree-ish>_ and the files on the filesystem. -git-diff-index --cached <tree-ish>:: - compares the <tree-ish> and the index. +`git-diff-index --cached <tree-ish>`:: + compares the _<tree-ish>_ and the index. -git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]:: +`git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]`:: compares the trees named by the two arguments. -git-diff-files [<pattern>...]:: +`git-diff-files [<pattern>...]`:: compares the index and the files on the filesystem. -The "git-diff-tree" command begins its output by printing the hash of +The `git-diff-tree` command begins its output by printing the hash of what is being compared. After that, all the commands print one output line per changed file. @@ -54,19 +54,19 @@ That is, from the left to the right: Possible status letters are: -- A: addition of a file -- C: copy of a file into a new one -- D: deletion of a file -- M: modification of the contents or mode of a file -- R: renaming of a file -- T: change in the type of the file (regular file, symbolic link or submodule) -- U: file is unmerged (you must complete the merge before it can +- `A`: addition of a file +- `C`: copy of a file into a new one +- `D`: deletion of a file +- `M`: modification of the contents or mode of a file +- `R`: renaming of a file +- `T`: change in the type of the file (regular file, symbolic link or submodule) +- `U`: file is unmerged (you must complete the merge before it can be committed) -- X: "unknown" change type (most probably a bug, please report it) +- `X`: "unknown" change type (most probably a bug, please report it) -Status letters C and R are always followed by a score (denoting the +Status letters `C` and `R` are always followed by a score (denoting the percentage of similarity between the source and target of the move or -copy). Status letter M may be followed by a score (denoting the +copy). Status letter `M` may be followed by a score (denoting the percentage of dissimilarity) for file rewrites. The sha1 for "dst" is shown as all 0's if a file on the filesystem @@ -86,7 +86,7 @@ verbatim and the line is terminated by a NUL byte. diff format for merges ---------------------- -"git-diff-tree", "git-diff-files" and "git-diff --raw" +`git-diff-tree`, `git-diff-files` and `git-diff --raw` can take `-c` or `--cc` option to generate diff output also for merge commits. The output differs from the format described above in the following way: @@ -121,14 +121,14 @@ Note that 'combined diff' lists only files which were modified from all parents. -include::diff-generate-patch.txt[] +include::diff-generate-patch.adoc[] other diff formats ------------------ The `--summary` option describes newly added, deleted, renamed and -copied files. The `--stat` option adds diffstat(1) graph to the +copied files. The `--stat` option adds `diffstat`(1) graph to the output. These options can be combined with other options, such as `-p`, and are meant for human consumption. diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.adoc index 4b5aa5c2e0..7b6cdd1980 100644 --- a/Documentation/diff-generate-patch.txt +++ b/Documentation/diff-generate-patch.adoc @@ -14,7 +14,7 @@ You can customize the creation of patch text via the `GIT_EXTERNAL_DIFF` and the `GIT_DIFF_OPTS` environment variables (see linkgit:git[1]), and the `diff` attribute (see linkgit:gitattributes[5]). -What the -p option produces is slightly different from the traditional +What the `-p` option produces is slightly different from the traditional diff format: 1. It is preceded by a "git diff" header that looks like this: @@ -30,20 +30,21 @@ name of the source file of the rename/copy and the name of the file that the rename/copy produces, respectively. 2. It is followed by one or more extended header lines: - - old mode <mode> - new mode <mode> - deleted file mode <mode> - new file mode <mode> - copy from <path> - copy to <path> - rename from <path> - rename to <path> - similarity index <number> - dissimilarity index <number> - index <hash>..<hash> <mode> + -File modes are printed as 6-digit octal numbers including the file type +[synopsis] +old mode <mode> +new mode <mode> +deleted file mode <mode> +new file mode <mode> +copy from <path> +copy to <path> +rename from <path> +rename to <path> +similarity index <number> +dissimilarity index <number> +index <hash>..<hash> <mode> ++ +File modes _<mode>_ are printed as 6-digit octal numbers including the file type and file permission bits. + Path names in extended headers do not include the `a/` and `b/` prefixes. @@ -56,7 +57,7 @@ files, while 100% dissimilarity means that no line from the old file made it into the new one. + The index line includes the blob object names before and after the change. -The <mode> is included if the file mode does not change; otherwise, +The _<mode>_ is included if the file mode does not change; otherwise, separate lines indicate the old and the new mode. 3. Pathnames with "unusual" characters are quoted as explained for @@ -134,17 +135,18 @@ or like this (when the `--cc` option is used): 2. It is followed by one or more extended header lines (this example shows a merge with two parents): - - index <hash>,<hash>..<hash> - mode <mode>,<mode>..<mode> - new file mode <mode> - deleted file mode <mode>,<mode> ++ +[synopsis] +index <hash>,<hash>..<hash> +mode <mode>,<mode>..<mode> +new file mode <mode> +deleted file mode <mode>,<mode> + The `mode <mode>,<mode>..<mode>` line appears only if at least one of the <mode> is different from the rest. Extended headers with information about detected content movement (renames and copying detection) are designed to work with the diff of two -<tree-ish> and are not used by combined diff format. +_<tree-ish>_ and are not used by combined diff format. 3. It is followed by a two-line from-file/to-file header: diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.adoc index cd0b81adbb..640eb6e7db 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.adoc @@ -19,16 +19,16 @@ ifdef::git-format-patch[] endif::git-format-patch[] ifndef::git-format-patch[] --p:: --u:: ---patch:: +`-p`:: +`-u`:: +`--patch`:: Generate patch (see <<generate_patch_text_with_p>>). ifdef::git-diff[] This is the default. endif::git-diff[] --s:: ---no-patch:: +`-s`:: +`--no-patch`:: Suppress all output from the diff machinery. Useful for commands like `git show` that show the patch by default to squelch their output, or to cancel the effect of options like @@ -39,28 +39,28 @@ endif::git-format-patch[] ifdef::git-log[] -m:: Show diffs for merge commits in the default format. This is - similar to '--diff-merges=on', except `-m` will + similar to `--diff-merges=on`, except `-m` will produce no output unless `-p` is given as well. -c:: Produce combined diff output for merge commits. - Shortcut for '--diff-merges=combined -p'. + Shortcut for `--diff-merges=combined -p`. --cc:: Produce dense combined diff output for merge commits. - Shortcut for '--diff-merges=dense-combined -p'. + Shortcut for `--diff-merges=dense-combined -p`. --dd:: Produce diff with respect to first parent for both merge and regular commits. - Shortcut for '--diff-merges=first-parent -p'. + Shortcut for `--diff-merges=first-parent -p`. --remerge-diff:: Produce remerge-diff output for merge commits. - Shortcut for '--diff-merges=remerge -p'. + Shortcut for `--diff-merges=remerge -p`. --no-diff-merges:: - Synonym for '--diff-merges=off'. + Synonym for `--diff-merges=off`. --diff-merges=<format>:: Specify diff format to be used for merge commits. Default is @@ -73,33 +73,33 @@ The following formats are supported: off, none:: Disable output of diffs for merge commits. Useful to override implied value. -+ + on, m:: Make diff output for merge commits to be shown in the default format. The default format can be changed using `log.diffMerges` configuration variable, whose default value is `separate`. -+ + first-parent, 1:: Show full diff with respect to first parent. This is the same format as `--patch` produces for non-merge commits. -+ + separate:: Show full diff with respect to each of parents. Separate log entry and diff is generated for each parent. -+ + combined, c:: Show differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent and the result one at a time. Furthermore, it lists only files which were modified from all parents. -+ + dense-combined, cc:: Further compress output produced by `--diff-merges=combined` by omitting uninteresting hunks whose contents in the parents have only two variants and the merge result picks one of them without modification. -+ + remerge, r:: Remerge two-parent merge commits to create a temporary tree object--potentially containing files with conflict markers @@ -112,33 +112,33 @@ documented). -- --combined-all-paths:: - This flag causes combined diffs (used for merge commits) to + Cause combined diffs (used for merge commits) to list the name of the file from all parents. It thus only has effect when `--diff-merges=[dense-]combined` is in use, and is likely only useful if filename changes are detected (i.e. when either rename or copy detection have been requested). endif::git-log[] --U<n>:: ---unified=<n>:: - Generate diffs with <n> lines of context instead of +`-U<n>`:: +`--unified=<n>`:: + Generate diffs with _<n>_ lines of context instead of the usual three. ifndef::git-format-patch[] Implies `--patch`. endif::git-format-patch[] ---output=<file>:: +`--output=<file>`:: Output to a specific file instead of stdout. ---output-indicator-new=<char>:: ---output-indicator-old=<char>:: ---output-indicator-context=<char>:: +`--output-indicator-new=<char>`:: +`--output-indicator-old=<char>`:: +`--output-indicator-context=<char>`:: Specify the character used to indicate new, old or context - lines in the generated patch. Normally they are '+', '-' and + lines in the generated patch. Normally they are `+`, `-` and ' ' respectively. ifndef::git-format-patch[] ---raw:: +`--raw`:: ifndef::git-log[] Generate the diff in raw format. ifdef::git-diff-core[] @@ -155,54 +155,55 @@ endif::git-log[] endif::git-format-patch[] ifndef::git-format-patch[] ---patch-with-raw:: +`--patch-with-raw`:: Synonym for `-p --raw`. endif::git-format-patch[] ifdef::git-log[] --t:: +`-t`:: Show the tree objects in the diff output. endif::git-log[] ---indent-heuristic:: +`--indent-heuristic`:: Enable the heuristic that shifts diff hunk boundaries to make patches easier to read. This is the default. ---no-indent-heuristic:: +`--no-indent-heuristic`:: Disable the indent heuristic. ---minimal:: +`--minimal`:: Spend extra time to make sure the smallest possible diff is produced. ---patience:: +`--patience`:: Generate a diff using the "patience diff" algorithm. ---histogram:: +`--histogram`:: Generate a diff using the "histogram diff" algorithm. ---anchored=<text>:: +`--anchored=<text>`:: Generate a diff using the "anchored diff" algorithm. + This option may be specified more than once. + If a line exists in both the source and destination, exists only once, -and starts with this text, this algorithm attempts to prevent it from +and starts with _<text>_, this algorithm attempts to prevent it from appearing as a deletion or addition in the output. It uses the "patience diff" algorithm internally. ---diff-algorithm={patience|minimal|histogram|myers}:: +`--diff-algorithm=(patience|minimal|histogram|myers)`:: Choose a diff algorithm. The variants are as follows: + -- -`default`, `myers`;; + `default`;; + `myers`;; The basic greedy diff algorithm. Currently, this is the default. -`minimal`;; + `minimal`;; Spend extra time to make sure the smallest possible diff is produced. -`patience`;; + `patience`;; Use "patience diff" algorithm when generating patches. -`histogram`;; + `histogram`;; This algorithm extends the patience algorithm to "support low-occurrence common elements". -- @@ -211,47 +212,47 @@ For instance, if you configured the `diff.algorithm` variable to a non-default value and want to use the default one, then you have to use `--diff-algorithm=default` option. ---stat[=<width>[,<name-width>[,<count>]]]:: +`--stat[=<width>[,<name-width>[,<count>]]]`:: Generate a diffstat. By default, as much space as necessary will be used for the filename part, and the rest for the graph part. Maximum width defaults to terminal width, or 80 columns if not connected to a terminal, and can be overridden by - `<width>`. The width of the filename part can be limited by - giving another width `<name-width>` after a comma or by setting - `diff.statNameWidth=<width>`. The width of the graph part can be - limited by using `--stat-graph-width=<width>` or by setting - `diff.statGraphWidth=<width>`. Using `--stat` or + _<width>_. The width of the filename part can be limited by + giving another width _<name-width>_ after a comma or by setting + `diff.statNameWidth=<name-width>`. The width of the graph part can be + limited by using `--stat-graph-width=<graph-width>` or by setting + `diff.statGraphWidth=<graph-width>`. Using `--stat` or `--stat-graph-width` affects all commands generating a stat graph, while setting `diff.statNameWidth` or `diff.statGraphWidth` does not affect `git format-patch`. - By giving a third parameter `<count>`, you can limit the output to - the first `<count>` lines, followed by `...` if there are more. + By giving a third parameter _<count>_, you can limit the output to + the first _<count>_ lines, followed by `...` if there are more. + These parameters can also be set individually with `--stat-width=<width>`, `--stat-name-width=<name-width>` and `--stat-count=<count>`. ---compact-summary:: +`--compact-summary`:: Output a condensed summary of extended header information such - as file creations or deletions ("new" or "gone", optionally "+l" - if it's a symlink) and mode changes ("+x" or "-x" for adding + as file creations or deletions ("new" or "gone", optionally `+l` + if it's a symlink) and mode changes (`+x` or `-x` for adding or removing executable bit respectively) in diffstat. The information is put between the filename part and the graph part. Implies `--stat`. ---numstat:: +`--numstat`:: Similar to `--stat`, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly. For binary files, outputs two `-` instead of saying `0 0`. ---shortstat:: +`--shortstat`:: Output only the last line of the `--stat` format containing total number of modified files, as well as number of added and deleted lines. --X[<param1,param2,...>]:: ---dirstat[=<param1,param2,...>]:: +`-X [<param>,...]`:: +`--dirstat[=<param>,...]`:: Output the distribution of relative amount of changes for each sub-directory. The behavior of `--dirstat` can be customized by passing it a comma separated list of parameters. @@ -284,7 +285,7 @@ These parameters can also be set individually with `--stat-width=<width>`, Note that when using `cumulative`, the sum of the percentages reported may exceed 100%. The default (non-cumulative) behavior can be specified with the `noncumulative` parameter. -<limit>;; +_<limit>_;; An integer parameter specifies a cut-off percent (3% by default). Directories contributing less than this percentage of the changes are not shown in the output. @@ -295,29 +296,29 @@ directories with less than 10% of the total amount of changed files, and accumulating child directory counts in the parent directories: `--dirstat=files,10,cumulative`. ---cumulative:: - Synonym for --dirstat=cumulative +`--cumulative`:: + Synonym for `--dirstat=cumulative`. ---dirstat-by-file[=<param1,param2>...]:: - Synonym for --dirstat=files,<param1>,<param2>... +`--dirstat-by-file[=<param>,...]`:: + Synonym for `--dirstat=files,<param>,...`. ---summary:: +`--summary`:: Output a condensed summary of extended header information such as creations, renames and mode changes. ifndef::git-format-patch[] ---patch-with-stat:: +`--patch-with-stat`:: Synonym for `-p --stat`. endif::git-format-patch[] ifndef::git-format-patch[] --z:: +`-z`:: ifdef::git-log[] - Separate the commits with NULs instead of newlines. + Separate the commits with __NUL__s instead of newlines. + Also, when `--raw` or `--numstat` has been given, do not munge -pathnames and use NULs as output field terminators. +pathnames and use __NUL__s as output field terminators. endif::git-log[] ifndef::git-log[] When `--raw`, `--numstat`, `--name-only` or `--name-status` has been @@ -328,89 +329,89 @@ Without this option, pathnames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). ---name-only:: +`--name-only`:: Show only the name of each changed file in the post-image tree. The file names are often encoded in UTF-8. For more information see the discussion about encoding in the linkgit:git-log[1] manual page. ---name-status:: +`--name-status`:: Show only the name(s) and status of each changed file. See the description of the `--diff-filter` option on what the status letters mean. Just like `--name-only` the file names are often encoded in UTF-8. ---submodule[=<format>]:: +`--submodule[=<format>]`:: Specify how differences in submodules are shown. When specifying - `--submodule=short` the 'short' format is used. This format just + `--submodule=short` the `short` format is used. This format just shows the names of the commits at the beginning and end of the range. - When `--submodule` or `--submodule=log` is specified, the 'log' + When `--submodule` or `--submodule=log` is specified, the `log` format is used. This format lists the commits in the range like linkgit:git-submodule[1] `summary` does. When `--submodule=diff` - is specified, the 'diff' format is used. This format shows an + is specified, the `diff` format is used. This format shows an inline diff of the changes in the submodule contents between the - commit range. Defaults to `diff.submodule` or the 'short' format + commit range. Defaults to `diff.submodule` or the `short` format if the config option is unset. ---color[=<when>]:: +`--color[=<when>]`:: Show colored diff. - `--color` (i.e. without '=<when>') is the same as `--color=always`. - '<when>' can be one of `always`, `never`, or `auto`. + `--color` (i.e. without `=<when>`) is the same as `--color=always`. + _<when>_ can be one of `always`, `never`, or `auto`. ifdef::git-diff[] It can be changed by the `color.ui` and `color.diff` configuration settings. endif::git-diff[] ---no-color:: +`--no-color`:: Turn off colored diff. ifdef::git-diff[] This can be used to override configuration settings. endif::git-diff[] It is the same as `--color=never`. ---color-moved[=<mode>]:: +`--color-moved[=<mode>]`:: Moved lines of code are colored differently. ifdef::git-diff[] It can be changed by the `diff.colorMoved` configuration setting. endif::git-diff[] - The <mode> defaults to 'no' if the option is not given - and to 'zebra' if the option with no mode is given. + The _<mode>_ defaults to `no` if the option is not given + and to `zebra` if the option with no mode is given. The mode must be one of: + -- -no:: +`no`:: Moved lines are not highlighted. -default:: +`default`:: Is a synonym for `zebra`. This may change to a more sensible mode in the future. -plain:: +`plain`:: Any line that is added in one location and was removed - in another location will be colored with 'color.diff.newMoved'. - Similarly 'color.diff.oldMoved' will be used for removed lines + in another location will be colored with `color.diff.newMoved`. + Similarly `color.diff.oldMoved` will be used for removed lines that are added somewhere else in the diff. This mode picks up any moved line, but it is not very useful in a review to determine if a block of code was moved without permutation. -blocks:: +`blocks`:: Blocks of moved text of at least 20 alphanumeric characters are detected greedily. The detected blocks are - painted using either the 'color.diff.{old,new}Moved' color. + painted using either the `color.diff.(old|new)Moved` color. Adjacent blocks cannot be told apart. -zebra:: - Blocks of moved text are detected as in 'blocks' mode. The blocks - are painted using either the 'color.diff.{old,new}Moved' color or - 'color.diff.{old,new}MovedAlternative'. The change between +`zebra`:: + Blocks of moved text are detected as in `blocks` mode. The blocks + are painted using either the `color.diff.(old|new)Moved` color or + `color.diff.(old|new)MovedAlternative`. The change between the two colors indicates that a new block was detected. -dimmed-zebra:: - Similar to 'zebra', but additional dimming of uninteresting parts +`dimmed-zebra`:: + Similar to `zebra`, but additional dimming of uninteresting parts of moved code is performed. The bordering lines of two adjacent blocks are considered interesting, the rest is uninteresting. `dimmed_zebra` is a deprecated synonym. -- ---no-color-moved:: +`--no-color-moved`:: Turn off move detection. This can be used to override configuration settings. It is the same as `--color-moved=no`. ---color-moved-ws=<modes>:: +`--color-moved-ws=<mode>,...`:: This configures how whitespace is ignored when performing the move detection for `--color-moved`. ifdef::git-diff[] @@ -419,63 +420,62 @@ endif::git-diff[] These modes can be given as a comma separated list: + -- -no:: +`no`:: Do not ignore whitespace when performing move detection. -ignore-space-at-eol:: +`ignore-space-at-eol`:: Ignore changes in whitespace at EOL. -ignore-space-change:: +`ignore-space-change`:: Ignore changes in amount of whitespace. This ignores whitespace at line end, and considers all other sequences of one or more whitespace characters to be equivalent. -ignore-all-space:: +`ignore-all-space`:: Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none. -allow-indentation-change:: +`allow-indentation-change`:: Initially ignore any whitespace in the move detection, then group the moved code blocks only into a block if the change in whitespace is the same per line. This is incompatible with the other modes. -- ---no-color-moved-ws:: +`--no-color-moved-ws`:: Do not ignore whitespace when performing move detection. This can be used to override configuration settings. It is the same as `--color-moved-ws=no`. ---word-diff[=<mode>]:: - Show a word diff, using the <mode> to delimit changed words. +`--word-diff[=<mode>]`:: By default, words are delimited by whitespace; see - `--word-diff-regex` below. The <mode> defaults to 'plain', and + `--word-diff-regex` below. The _<mode>_ defaults to `plain`, and must be one of: + -- -color:: +`color`:: Highlight changed words using only colors. Implies `--color`. -plain:: - Show words as `[-removed-]` and `{+added+}`. Makes no +`plain`:: + Show words as ++[-removed-]++ and ++{+added+}++. Makes no attempts to escape the delimiters if they appear in the input, so the output may be ambiguous. -porcelain:: +`porcelain`:: Use a special line-based format intended for script consumption. Added/removed/unchanged runs are printed in the usual unified diff format, starting with a `+`/`-`/` ` character at the beginning of the line and extending to the end of the line. Newlines in the input are represented by a tilde `~` on a line of its own. -none:: +`none`:: Disable word diff again. -- + Note that despite the name of the first mode, color is used to highlight the changed parts in all modes if enabled. ---word-diff-regex=<regex>:: - Use <regex> to decide what a word is, instead of considering +`--word-diff-regex=<regex>`:: + Use _<regex>_ to decide what a word is, instead of considering runs of non-whitespace to be a word. Also implies `--word-diff` unless it was already enabled. + Every non-overlapping match of the -<regex> is considered a word. Anything between these matches is +_<regex>_ is considered a word. Anything between these matches is considered whitespace and ignored(!) for the purposes of finding differences. You may want to append `|[^[:space:]]` to your regular expression to make sure that it matches all non-whitespace characters. @@ -490,20 +490,20 @@ linkgit:gitattributes[5] or linkgit:git-config[1]. Giving it explicitly overrides any diff driver or configuration setting. Diff drivers override configuration settings. ---color-words[=<regex>]:: +`--color-words[=<regex>]`:: Equivalent to `--word-diff=color` plus (if a regex was specified) `--word-diff-regex=<regex>`. endif::git-format-patch[] ---no-renames:: +`--no-renames`:: Turn off rename detection, even when the configuration file gives the default to do so. ---[no-]rename-empty:: +`--[no-]rename-empty`:: Whether to use empty blobs as rename source. ifndef::git-format-patch[] ---check:: +`--check`:: Warn if changes introduce conflict markers or whitespace errors. What are considered whitespace errors is controlled by `core.whitespace` configuration. By default, trailing whitespaces (including @@ -511,9 +511,9 @@ ifndef::git-format-patch[] that is immediately followed by a tab character inside the initial indent of the line are considered whitespace errors. Exits with non-zero status if problems are found. Not compatible - with --exit-code. + with `--exit-code`. ---ws-error-highlight=<kind>:: +`--ws-error-highlight=<kind>`:: Highlight whitespace errors in the `context`, `old` or `new` lines of the diff. Multiple values are separated by comma, `none` resets previous values, `default` reset the list to @@ -525,30 +525,30 @@ ifndef::git-format-patch[] endif::git-format-patch[] ---full-index:: +`--full-index`:: Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output. ---binary:: +`--binary`:: In addition to `--full-index`, output a binary diff that can be applied with `git-apply`. ifndef::git-format-patch[] Implies `--patch`. endif::git-format-patch[] ---abbrev[=<n>]:: +`--abbrev[=<n>]`:: Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header - lines, show the shortest prefix that is at least '<n>' + lines, show the shortest prefix that is at least _<n>_ hexdigits long that uniquely refers the object. In diff-patch output format, `--full-index` takes higher precedence, i.e. if `--full-index` is specified, full blob names will be shown regardless of `--abbrev`. Non default number of digits can be specified with `--abbrev=<n>`. --B[<n>][/<m>]:: ---break-rewrites[=[<n>][/<m>]]:: +`-B[<n>][/<m>]`:: +`--break-rewrites[=[<n>][/<m>]]`:: Break complete rewrite changes into pairs of delete and create. This serves two purposes: + @@ -556,22 +556,22 @@ It affects the way a change that amounts to a total rewrite of a file not as a series of deletion and insertion mixed together with a very few lines that happen to match textually as the context, but as a single deletion of everything old followed by a single insertion of -everything new, and the number `m` controls this aspect of the -B +everything new, and the number _<m>_ controls this aspect of the `-B` option (defaults to 60%). `-B/70%` specifies that less than 30% of the original should remain in the result for Git to consider it a total rewrite (i.e. otherwise the resulting patch will be a series of deletion and insertion mixed together with context lines). + -When used with -M, a totally-rewritten file is also considered as the -source of a rename (usually -M only considers a file that disappeared -as the source of a rename), and the number `n` controls this aspect of -the -B option (defaults to 50%). `-B20%` specifies that a change with +When used with `-M`, a totally-rewritten file is also considered as the +source of a rename (usually `-M` only considers a file that disappeared +as the source of a rename), and the number _<n>_ controls this aspect of +the `-B` option (defaults to 50%). `-B20%` specifies that a change with addition and deletion compared to 20% or more of the file's size are eligible for being picked up as a possible source of a rename to another file. --M[<n>]:: ---find-renames[=<n>]:: +`-M[<n>]`:: +`--find-renames[=<n>]`:: ifndef::git-log[] Detect renames. endif::git-log[] @@ -580,7 +580,7 @@ ifdef::git-log[] For following files across renames while traversing history, see `--follow`. endif::git-log[] - If `n` is specified, it is a threshold on the similarity + If _<n>_ is specified, it is a threshold on the similarity index (i.e. amount of addition/deletions compared to the file's size). For example, `-M90%` means Git should consider a delete/add pair to be a rename if more than 90% of the file @@ -590,12 +590,12 @@ endif::git-log[] the same as `-M5%`. To limit detection to exact renames, use `-M100%`. The default similarity index is 50%. --C[<n>]:: ---find-copies[=<n>]:: +`-C[<n>]`:: +`--find-copies[=<n>]`:: Detect copies as well as renames. See also `--find-copies-harder`. - If `n` is specified, it has the same meaning as for `-M<n>`. + If _<n>_ is specified, it has the same meaning as for `-M<n>`. ---find-copies-harder:: +`--find-copies-harder`:: For performance reasons, by default, `-C` option finds copies only if the original file of the copy was modified in the same changeset. This flag makes the command @@ -604,8 +604,8 @@ endif::git-log[] projects, so use it with caution. Giving more than one `-C` option has the same effect. --D:: ---irreversible-delete:: +`-D`:: +`--irreversible-delete`:: Omit the preimage for deletes, i.e. print only the header but not the diff between the preimage and `/dev/null`. The resulting patch is not meant to be applied with `patch` or `git apply`; this is @@ -617,7 +617,7 @@ endif::git-log[] When used together with `-B`, omit also the preimage in the deletion part of a delete/create pair. --l<num>:: +`-l<num>`:: The `-M` and `-C` options involve some preliminary steps that can detect subsets of renames/copies cheaply, followed by an exhaustive fallback portion that compares all remaining @@ -627,11 +627,11 @@ of a delete/create pair. destinations, this exhaustive check is O(N^2). This option prevents the exhaustive portion of rename/copy detection from running if the number of source/destination files involved - exceeds the specified number. Defaults to diff.renameLimit. + exceeds the specified number. Defaults to `diff.renameLimit`. Note that a value of 0 is treated as unlimited. ifndef::git-format-patch[] ---diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]:: +`--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]`:: Select only files that are Added (`A`), Copied (`C`), Deleted (`D`), Modified (`M`), Renamed (`R`), have their type (i.e. regular file, symlink, submodule, ...) changed (`T`), @@ -649,9 +649,9 @@ Also, these upper-case letters can be downcased to exclude. E.g. Note that not all diffs can feature all types. For instance, copied and renamed entries cannot appear if detection for those types is disabled. --S<string>:: +`-S<string>`:: Look for differences that change the number of occurrences of - the specified string (i.e. addition/deletion) in a file. + the specified _<string>_ (i.e. addition/deletion) in a file. Intended for the scripter's use. + It is useful when you're looking for an exact block of code (like a @@ -662,11 +662,11 @@ very first version of the block. + Binary files are searched as well. --G<regex>:: +`-G<regex>`:: Look for differences whose patch text contains added/removed - lines that match <regex>. + lines that match _<regex>_. + -To illustrate the difference between `-S<regex> --pickaxe-regex` and +To illustrate the difference between `-S<regex>` `--pickaxe-regex` and `-G<regex>`, consider a commit with the following diff in the same file: + @@ -686,7 +686,7 @@ filter will be ignored. See the 'pickaxe' entry in linkgit:gitdiffcore[7] for more information. ---find-object=<object-id>:: +`--find-object=<object-id>`:: Look for differences that change the number of occurrences of the specified object. Similar to `-S`, just the argument is different in that it doesn't search for a specific string but for a specific @@ -695,25 +695,25 @@ information. The object can be a blob or a submodule commit. It implies the `-t` option in `git-log` to also find trees. ---pickaxe-all:: +`--pickaxe-all`:: When `-S` or `-G` finds a change, show all the changes in that changeset, not just the files that contain the change - in <string>. + in _<string>_. ---pickaxe-regex:: - Treat the <string> given to `-S` as an extended POSIX regular +`--pickaxe-regex`:: + Treat the _<string>_ given to `-S` as an extended POSIX regular expression to match. endif::git-format-patch[] --O<orderfile>:: +`-O<orderfile>`:: Control the order in which files appear in the output. This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use `-O/dev/null`. + The output order is determined by the order of glob patterns in -<orderfile>. +_<orderfile>_. All files with pathnames that match the first pattern are output first, all files with pathnames that match the second pattern (but not the first) are output next, and so on. @@ -724,7 +724,7 @@ If multiple pathnames have the same rank (they match the same pattern but no earlier patterns), their output order relative to each other is the normal order. + -<orderfile> is parsed as follows: +_<orderfile>_ is parsed as follows: + -- - Blank lines are ignored, so they can be used as separators for @@ -738,106 +738,107 @@ the normal order. -- + Patterns have the same syntax and semantics as patterns used for -fnmatch(3) without the FNM_PATHNAME flag, except a pathname also +`fnmatch`(3) without the `FNM_PATHNAME` flag, except a pathname also matches a pattern if removing any number of the final pathname components matches the pattern. For example, the pattern "`foo*bar`" matches "`fooasdfbar`" and "`foo/bar/baz/asdf`" but not "`foobarx`". ---skip-to=<file>:: ---rotate-to=<file>:: - Discard the files before the named <file> from the output +`--skip-to=<file>`:: +`--rotate-to=<file>`:: + Discard the files before the named _<file>_ from the output (i.e. 'skip to'), or move them to the end of the output (i.e. 'rotate to'). These options were invented primarily for the use of the `git difftool` command, and may not be very useful otherwise. ifndef::git-format-patch[] --R:: +`-R`:: Swap two inputs; that is, show differences from index or on-disk file to tree contents. endif::git-format-patch[] ---relative[=<path>]:: ---no-relative:: +`--relative[=<path>]`:: +`--no-relative`:: When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option. When you are not in a subdirectory (e.g. in a bare repository), you can name which subdirectory to make the output relative - to by giving a <path> as an argument. + to by giving a _<path>_ as an argument. `--no-relative` can be used to countermand both `diff.relative` config option and previous `--relative`. --a:: ---text:: +`-a`:: +`--text`:: Treat all files as text. ---ignore-cr-at-eol:: +`--ignore-cr-at-eol`:: Ignore carriage-return at the end of line when doing a comparison. ---ignore-space-at-eol:: +`--ignore-space-at-eol`:: Ignore changes in whitespace at EOL. --b:: ---ignore-space-change:: +`-b`:: +`--ignore-space-change`:: Ignore changes in amount of whitespace. This ignores whitespace at line end, and considers all other sequences of one or more whitespace characters to be equivalent. --w:: ---ignore-all-space:: +`-w`:: +`--ignore-all-space`:: Ignore whitespace when comparing lines. This ignores differences even if one line has whitespace where the other line has none. ---ignore-blank-lines:: +`--ignore-blank-lines`:: Ignore changes whose lines are all blank. --I<regex>:: ---ignore-matching-lines=<regex>:: - Ignore changes whose all lines match <regex>. This option may + +`-I<regex>`:: +`--ignore-matching-lines=<regex>`:: + Ignore changes whose all lines match _<regex>_. This option may be specified more than once. ---inter-hunk-context=<lines>:: - Show the context between diff hunks, up to the specified number +`--inter-hunk-context=<number>`:: + Show the context between diff hunks, up to the specified _<number>_ of lines, thereby fusing hunks that are close to each other. Defaults to `diff.interHunkContext` or 0 if the config option is unset. --W:: ---function-context:: +`-W`:: +`--function-context`:: Show whole function as context lines for each change. The function names are determined in the same way as - `git diff` works out patch hunk headers (see 'Defining a - custom hunk-header' in linkgit:gitattributes[5]). + `git diff` works out patch hunk headers (see "Defining a + custom hunk-header" in linkgit:gitattributes[5]). ifndef::git-format-patch[] ifndef::git-log[] ---exit-code:: - Make the program exit with codes similar to diff(1). +`--exit-code`:: + Make the program exit with codes similar to `diff`(1). That is, it exits with 1 if there were differences and 0 means no differences. ---quiet:: +`--quiet`:: Disable all output of the program. Implies `--exit-code`. Disables execution of external diff helpers whose exit code is not trusted, i.e. their respective configuration option - `diff.trustExitCode` or `diff.<driver>.trustExitCode` or + `diff.trustExitCode` or ++diff.++__<driver>__++.trustExitCode++ or environment variable `GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE` is false. endif::git-log[] endif::git-format-patch[] ---ext-diff:: +`--ext-diff`:: Allow an external diff helper to be executed. If you set an external diff driver with linkgit:gitattributes[5], you need to use this option with linkgit:git-log[1] and friends. ---no-ext-diff:: +`--no-ext-diff`:: Disallow external diff drivers. ---textconv:: ---no-textconv:: +`--textconv`:: +`--no-textconv`:: Allow (or disallow) external text conversion filters to be run when comparing binary files. See linkgit:gitattributes[5] for details. Because textconv filters are typically a one-way @@ -847,42 +848,42 @@ endif::git-format-patch[] linkgit:git-log[1], but not for linkgit:git-format-patch[1] or diff plumbing commands. ---ignore-submodules[=<when>]:: - Ignore changes to submodules in the diff generation. <when> can be - either "none", "untracked", "dirty" or "all", which is the default. - Using "none" will consider the submodule modified when it either contains - untracked or modified files or its HEAD differs from the commit recorded + +`--ignore-submodules[=(none|untracked|dirty|all)]`:: + Ignore changes to submodules in the diff generation. `all` is the default. + Using `none` will consider the submodule modified when it either contains + untracked or modified files or its `HEAD` differs from the commit recorded in the superproject and can be used to override any settings of the - 'ignore' option in linkgit:git-config[1] or linkgit:gitmodules[5]. When - "untracked" is used submodules are not considered dirty when they only + `ignore` option in linkgit:git-config[1] or linkgit:gitmodules[5]. When + `untracked` is used submodules are not considered dirty when they only contain untracked content (but they are still scanned for modified - content). Using "dirty" ignores all changes to the work tree of submodules, + content). Using `dirty` ignores all changes to the work tree of submodules, only changes to the commits stored in the superproject are shown (this was - the behavior until 1.7.0). Using "all" hides all changes to submodules. + the behavior until 1.7.0). Using `all` hides all changes to submodules. ---src-prefix=<prefix>:: - Show the given source prefix instead of "a/". +`--src-prefix=<prefix>`:: + Show the given source _<prefix>_ instead of "a/". ---dst-prefix=<prefix>:: - Show the given destination prefix instead of "b/". +`--dst-prefix=<prefix>`:: + Show the given destination _<prefix>_ instead of "b/". ---no-prefix:: +`--no-prefix`:: Do not show any source or destination prefix. ---default-prefix:: +`--default-prefix`:: Use the default source and destination prefixes ("a/" and "b/"). This overrides configuration variables such as `diff.noprefix`, `diff.srcPrefix`, `diff.dstPrefix`, and `diff.mnemonicPrefix` - (see `git-config`(1)). + (see linkgit:git-config[1]). ---line-prefix=<prefix>:: - Prepend an additional prefix to every line of output. +`--line-prefix=<prefix>`:: + Prepend an additional _<prefix>_ to every line of output. ---ita-invisible-in-index:: - By default entries added by "git add -N" appear as an existing - empty file in "git diff" and a new file in "git diff --cached". - This option makes the entry appear as a new file in "git diff" - and non-existent in "git diff --cached". This option could be +`--ita-invisible-in-index`:: + By default entries added by `git add -N` appear as an existing + empty file in `git diff` and a new file in `git diff --cached`. + This option makes the entry appear as a new file in `git diff` + and non-existent in `git diff --cached`. This option could be reverted with `--ita-visible-in-index`. Both options are experimental and could be removed in future. diff --git a/Documentation/everyday.txto b/Documentation/everyday.adoco index ae555bd47e..ae555bd47e 100644 --- a/Documentation/everyday.txto +++ b/Documentation/everyday.adoco diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.adoc index 80838fe37e..b01372e4b3 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.adoc @@ -29,7 +29,7 @@ Deepen or shorten the history of a shallow repository to include all reachable commits after <date>. ---shallow-exclude=<revision>:: +--shallow-exclude=<ref>:: Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag. This option can be specified multiple times. @@ -305,6 +305,9 @@ endif::git-pull[] unknown ones, is server-specific. When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line. + When no `--server-option=<option>` is given from the command line, + the values of configuration variable `remote.<name>.serverOption` + are used instead. --show-forced-updates:: By default, git checks if a branch is force-updated during diff --git a/Documentation/fix-texi.perl b/Documentation/fix-texi.perl deleted file mode 100755 index ff7d78f620..0000000000 --- a/Documentation/fix-texi.perl +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/perl -w - -while (<>) { - if (/^\@setfilename/) { - $_ = "\@setfilename git.info\n"; - } elsif (/^\@direntry/) { - print '@dircategory Development -@direntry -* Git: (git). A fast distributed revision control system -@end direntry -'; } - unless (/^\@direntry/../^\@end direntry/) { - print; - } -} diff --git a/Documentation/fix-texi.sh b/Documentation/fix-texi.sh new file mode 100755 index 0000000000..bc300f7b0f --- /dev/null +++ b/Documentation/fix-texi.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +awk ' + /^@setfilename/{ + print "@setfilename git.info" + next + } + /^@direntry/{ + direntry=1 + print "@dircategory Development" + print "@direntry" + print "* Git: (git). A fast distributed revision control system" + print "@end direntry" + next + } + /^@end direntry/{ + direntry=0 + next + } + !direntry +' diff --git a/Documentation/fsck-msgids.txt b/Documentation/fsck-msgids.adoc index 68a2801f15..0ba4f9a27e 100644 --- a/Documentation/fsck-msgids.txt +++ b/Documentation/fsck-msgids.adoc @@ -16,15 +16,28 @@ `badObjectSha1`:: (ERROR) An object has a bad sha1. +`badPackedRefEntry`:: + (ERROR) The "packed-refs" file contains an invalid entry. + +`badPackedRefHeader`:: + (ERROR) The "packed-refs" file contains an invalid + header. + `badParentSha1`:: (ERROR) A commit object has a bad parent sha1. +`badRefContent`:: + (ERROR) A ref has bad content. + `badRefFiletype`:: (ERROR) A ref has a bad file type. `badRefName`:: (ERROR) A ref has an invalid format. +`badReferentName`:: + (ERROR) The referent name of a symref is invalid. + `badTagName`:: (INFO) A tag has an invalid format. @@ -46,6 +59,12 @@ `emptyName`:: (WARN) A path contains an empty name. +`emptyPackedRefsFile`:: + (INFO) "packed-refs" file is empty. Report to the + git@vger.kernel.org mailing list if you see this error. As only + very early versions of Git would create such an empty + "packed_refs" file, we might tighten this rule in the future. + `extraHeaderEntry`:: (IGNORE) Extra headers found after `tagger`. @@ -170,6 +189,42 @@ `nullSha1`:: (WARN) Tree contains entries pointing to a null sha1. +`packedRefEntryNotTerminated`:: + (ERROR) The "packed-refs" file contains an entry that is + not terminated by a newline. + +`packedRefUnsorted`:: + (ERROR) The "packed-refs" file is not sorted. + +`refMissingNewline`:: + (INFO) A loose ref that does not end with newline(LF). As + valid implementations of Git never created such a loose ref + file, it may become an error in the future. Report to the + git@vger.kernel.org mailing list if you see this error, as + we need to know what tools created such a file. + +`symlinkRef`:: + (INFO) A symbolic link is used as a symref. Report to the + git@vger.kernel.org mailing list if you see this error, as we + are assessing the feasibility of dropping the support to drop + creating symbolic links as symrefs. + +`symrefTargetIsNotARef`:: + (INFO) The target of a symbolic reference points neither to + a root reference nor to a reference starting with "refs/". + Although we allow create a symref pointing to the referent which + is outside the "ref" by using `git symbolic-ref`, we may tighten + the rule in the future. Report to the git@vger.kernel.org + mailing list if you see this error, as we need to know what tools + created such a file. + +`trailingRefContent`:: + (INFO) A loose ref has trailing content. As valid implementations + of Git never created such a loose ref file, it may become an + error in the future. Report to the git@vger.kernel.org mailing + list if you see this error, as we need to know what tools + created such a file. + `treeNotSorted`:: (ERROR) A tree is not properly sorted. diff --git a/Documentation/generate-mergetool-list.sh b/Documentation/generate-mergetool-list.sh new file mode 100755 index 0000000000..6700498b93 --- /dev/null +++ b/Documentation/generate-mergetool-list.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +if test "$#" -ne 3 +then + echo >&2 "USAGE: $0 <SOURCE_DIR> <MODE> <OUTPUT>" + exit 1 +fi + +SOURCE_DIR="$1" +TOOL_MODE="$2" +OUTPUT="$3" +MERGE_TOOLS_DIR="$SOURCE_DIR/mergetools" + +( + . "$SOURCE_DIR"/git-mergetool--lib.sh && + show_tool_names can_$TOOL_MODE +) | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >"$OUTPUT" diff --git a/Documentation/git-add.txt b/Documentation/git-add.adoc index aceaa025e3..eba0b419ce 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.adoc @@ -7,12 +7,12 @@ git-add - Add file contents to the index SYNOPSIS -------- -[verse] -'git add' [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p] - [--edit | -e] [--[no-]all | -A | --[no-]ignore-removal | [--update | -u]] [--sparse] - [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize] - [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]] - [--] [<pathspec>...] +[synopsis] +git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p] + [--edit | -e] [--[no-]all | -A | --[no-]ignore-removal | [--update | -u]] [--sparse] + [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize] + [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]] + [--] [<pathspec>...] DESCRIPTION ----------- @@ -41,7 +41,7 @@ The `git add` command will not add ignored files by default. If any ignored files were explicitly specified on the command line, `git add` will fail with a list of ignored files. Ignored files reached by directory recursion or filename globbing performed by Git (quote your -globs before the shell) will be silently ignored. The 'git add' command can +globs before the shell) will be silently ignored. The `git add` command can be used to add ignored files with the `-f` (force) option. Please see linkgit:git-commit[1] for alternative ways to add content to a @@ -50,7 +50,7 @@ commit. OPTIONS ------- -<pathspec>...:: +`<pathspec>...`:: Files to add content from. Fileglobs (e.g. `*.c`) can be given to add all matching files. Also a leading directory name (e.g. `dir` to add `dir/file1` @@ -66,35 +66,35 @@ OPTIONS For more details about the _<pathspec>_ syntax, see the 'pathspec' entry in linkgit:gitglossary[7]. --n:: ---dry-run:: +`-n`:: +`--dry-run`:: Don't actually add the file(s), just show if they exist and/or will be ignored. --v:: ---verbose:: +`-v`:: +`--verbose`:: Be verbose. --f:: ---force:: +`-f`:: +`--force`:: Allow adding otherwise ignored files. ---sparse:: +`--sparse`:: Allow updating index entries outside of the sparse-checkout cone. Normally, `git add` refuses to update index entries whose paths do not fit within the sparse-checkout cone, since those files might be removed from the working tree without warning. See linkgit:git-sparse-checkout[1] for more details. --i:: ---interactive:: +`-i`:: +`--interactive`:: Add modified contents in the working tree interactively to the index. Optional path arguments may be supplied to limit operation to a subset of the working tree. See ``Interactive mode'' for details. --p:: ---patch:: +`-p`:: +`--patch`:: Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the @@ -104,8 +104,8 @@ This effectively runs `add --interactive`, but bypasses the initial command menu and directly jumps to the `patch` subcommand. See ``Interactive mode'' for details. --e:: ---edit:: +`-e`:: +`--edit`:: Open the diff vs. the index in an editor and let the user edit it. After the editor was closed, adjust the hunk headers and apply the patch to the index. @@ -116,8 +116,8 @@ quicker and more flexible than using the interactive hunk selector. However, it is easy to confuse oneself and create a patch that does not apply to the index. See EDITING PATCHES below. --u:: ---update:: +`-u`:: +`--update`:: Update the index just where it already has an entry matching _<pathspec>_. This removes as well as modifies index entries to match the working tree, but adds no new files. @@ -127,9 +127,9 @@ tracked files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories). --A:: ---all:: ---no-ignore-removal:: +`-A`:: +`--all`:: +`--no-ignore-removal`:: Update the index not only where the working tree has a file matching _<pathspec>_ but also where the index already has an entry. This adds, modifies, and removes index entries to @@ -140,77 +140,77 @@ files in the entire working tree are updated (old versions of Git used to limit the update to the current directory and its subdirectories). ---no-all:: ---ignore-removal:: +`--no-all`:: +`--ignore-removal`:: Update the index by adding new files that are unknown to the index and files modified in the working tree, but ignore files that have been removed from the working tree. This option is a no-op when no _<pathspec>_ is used. + This option is primarily to help users who are used to older -versions of Git, whose "git add _<pathspec>_..." was a synonym -for "git add --no-all _<pathspec>_...", i.e. ignored removed files. +versions of Git, whose `git add <pathspec>...` was a synonym +for `git add --no-all <pathspec>...`, i.e. ignored removed files. --N:: ---intent-to-add:: +`-N`:: +`--intent-to-add`:: Record only the fact that the path will be added later. An entry for the path is placed in the index with no content. This is useful for, among other things, showing the unstaged content of such files with `git diff` and committing them with `git commit -a`. ---refresh:: +`--refresh`:: Don't add the file(s), but only refresh their stat() information in the index. ---ignore-errors:: +`--ignore-errors`:: If some files could not be added because of errors indexing them, do not abort the operation, but continue adding the others. The command shall still exit with non-zero status. The configuration variable `add.ignoreErrors` can be set to true to make this the default behaviour. ---ignore-missing:: - This option can only be used together with --dry-run. By using +`--ignore-missing`:: + This option can only be used together with `--dry-run`. By using this option the user can check if any of the given files would be ignored, no matter if they are already present in the work tree or not. ---no-warn-embedded-repo:: +`--no-warn-embedded-repo`:: By default, `git add` will warn when adding an embedded repository to the index without using `git submodule add` to create an entry in `.gitmodules`. This option will suppress the warning (e.g., if you are manually performing operations on submodules). ---renormalize:: +`--renormalize`:: Apply the "clean" process freshly to all tracked files to forcibly add them again to the index. This is useful after changing `core.autocrlf` configuration or the `text` attribute - in order to correct files added with wrong CRLF/LF line endings. + in order to correct files added with wrong _CRLF/LF_ line endings. This option implies `-u`. Lone CR characters are untouched, thus - while a CRLF cleans to LF, a CRCRLF sequence is only partially - cleaned to CRLF. + while a _CRLF_ cleans to _LF_, a _CRCRLF_ sequence is only partially + cleaned to _CRLF_. ---chmod=(+|-)x:: +`--chmod=(+|-)x`:: Override the executable bit of the added files. The executable bit is only changed in the index, the files on disk are left unchanged. ---pathspec-from-file=<file>:: +`--pathspec-from-file=<file>`:: Pathspec is passed in _<file>_ instead of commandline args. If _<file>_ is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be + elements are separated by _LF_ or _CR/LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). -\--:: +`--`:: This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for command-line options). @@ -219,18 +219,18 @@ for "git add --no-all _<pathspec>_...", i.e. ignored removed files. EXAMPLES -------- -* Adds content from all `*.txt` files under `Documentation` directory +* Adds content from all ++*.txt++ files under `Documentation` directory and its subdirectories: + ------------ $ git add Documentation/\*.txt ------------ + -Note that the asterisk `*` is quoted from the shell in this +Note that the asterisk ++*++ is quoted from the shell in this example; this lets the command include the files from subdirectories of `Documentation/` directory. -* Considers adding content from all git-*.sh scripts: +* Considers adding content from all ++git-*.sh++ scripts: + ------------ $ git add git-*.sh @@ -265,7 +265,7 @@ The main command loop has 6 subcommands (plus help and quit). status:: - This shows the change between HEAD and index (i.e. what will be + This shows the change between `HEAD` and index (i.e. what will be committed if you say `git commit`), and between index and working tree files (i.e. what you could stage further before `git commit` using `git add`) for each path. A sample output @@ -277,12 +277,12 @@ status:: 2: +403/-35 +1/-1 add-interactive.c ------------ + -It shows that foo.png has differences from HEAD (but that is +It shows that `foo.png` has differences from `HEAD` (but that is binary so line count cannot be shown) and there is no difference between indexed copy and the working tree version (if the working tree version were also different, 'binary' would have been shown in place of 'nothing'). The -other file, add-interactive.c, has 403 lines added +other file, `add-interactive.c`, has 403 lines added and 35 lines deleted if you commit what is in the index, but working tree file has further modifications (one addition and one deletion). @@ -360,7 +360,7 @@ variable `interactive.singleKey` to `true`. diff:: This lets you review what will be committed (i.e. between - HEAD and index). + `HEAD` and index). EDITING PATCHES @@ -399,7 +399,7 @@ There are also more complex operations that can be performed. But beware that because the patch is applied only to the index and not the working tree, the working tree will appear to "undo" the change in the index. For example, introducing a new line into the index that is in neither -the HEAD nor the working tree will stage the new line for commit, but +the `HEAD` nor the working tree will stage the new line for commit, but the line will appear to be reverted in the working tree. Avoid using these constructs, or do so with extreme caution. @@ -437,9 +437,10 @@ they will make the patch impossible to apply: CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/add.txt[] +:git-add: 1 +include::config/add.adoc[] SEE ALSO -------- diff --git a/Documentation/git-am.txt b/Documentation/git-am.adoc index 69d5cc9f21..221070de48 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.adoc @@ -120,7 +120,7 @@ default. You can use `--no-utf8` to override this. am.threeWay configuration variable. For more information, see am.threeWay in linkgit:git-config[1]. -include::rerere-options.txt[] +include::rerere-options.adoc[] --ignore-space-change:: --ignore-whitespace:: @@ -284,9 +284,9 @@ information. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/am.txt[] +include::config/am.adoc[] SEE ALSO -------- diff --git a/Documentation/git-annotate.txt b/Documentation/git-annotate.adoc index 5ae8aabe0f..965bc676af 100644 --- a/Documentation/git-annotate.txt +++ b/Documentation/git-annotate.adoc @@ -22,7 +22,7 @@ familiar command name for people coming from other SCM systems. OPTIONS ------- -include::blame-options.txt[] +include::blame-options.adoc[] SEE ALSO -------- diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.adoc index dd4a61ef28..6c71ee69da 100644 --- a/Documentation/git-apply.txt +++ b/Documentation/git-apply.adoc @@ -75,13 +75,14 @@ OPTIONS tree. If `--check` is in effect, merely check that it would apply cleanly to the index entry. +-N:: --intent-to-add:: When applying the patch only to the working tree, mark new files to be added to the index later (see `--intent-to-add` - option in linkgit:git-add[1]). This option is ignored unless - running in a Git repository and `--index` is not specified. - Note that `--index` could be implied by other options such - as `--cached` or `--3way`. + option in linkgit:git-add[1]). This option is ignored if + `--index` or `--cached` are used, and has no effect outside a Git + repository. Note that `--index` could be implied by other options + such as `--3way`. -3:: --3way:: @@ -270,9 +271,9 @@ has no effect when `--index` or `--cached` is in use. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/apply.txt[] +include::config/apply.adoc[] SUBMODULES ---------- diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.adoc index 847777fd17..847777fd17 100644 --- a/Documentation/git-archimport.txt +++ b/Documentation/git-archimport.adoc diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.adoc index a0e3fe7996..a0e3fe7996 100644 --- a/Documentation/git-archive.txt +++ b/Documentation/git-archive.adoc diff --git a/Documentation/git-backfill.adoc b/Documentation/git-backfill.adoc new file mode 100644 index 0000000000..95623051f7 --- /dev/null +++ b/Documentation/git-backfill.adoc @@ -0,0 +1,71 @@ +git-backfill(1) +=============== + +NAME +---- +git-backfill - Download missing objects in a partial clone + + +SYNOPSIS +-------- +[synopsis] +git backfill [--min-batch-size=<n>] [--[no-]sparse] + +DESCRIPTION +----------- + +Blobless partial clones are created using `git clone --filter=blob:none` +and then configure the local repository such that the Git client avoids +downloading blob objects unless they are required for a local operation. +This initially means that the clone and later fetches download reachable +commits and trees but no blobs. Later operations that change the `HEAD` +pointer, such as `git checkout` or `git merge`, may need to download +missing blobs in order to complete their operation. + +In the worst cases, commands that compute blob diffs, such as `git blame`, +become very slow as they download the missing blobs in single-blob +requests to satisfy the missing object as the Git command needs it. This +leads to multiple download requests and no ability for the Git server to +provide delta compression across those objects. + +The `git backfill` command provides a way for the user to request that +Git downloads the missing blobs (with optional filters) such that the +missing blobs representing historical versions of files can be downloaded +in batches. The `backfill` command attempts to optimize the request by +grouping blobs that appear at the same path, hopefully leading to good +delta compression in the packfile sent by the server. + +In this way, `git backfill` provides a mechanism to break a large clone +into smaller chunks. Starting with a blobless partial clone with `git +clone --filter=blob:none` and then running `git backfill` in the local +repository provides a way to download all reachable objects in several +smaller network calls than downloading the entire repository at clone +time. + +By default, `git backfill` downloads all blobs reachable from the `HEAD` +commit. This set can be restricted or expanded using various options. + +THIS COMMAND IS EXPERIMENTAL. ITS BEHAVIOR MAY CHANGE IN THE FUTURE. + + +OPTIONS +------- + +`--min-batch-size=<n>`:: + Specify a minimum size for a batch of missing objects to request + from the server. This size may be exceeded by the last set of + blobs seen at a given path. The default minimum batch size is + 50,000. + +`--[no-]sparse`:: + Only download objects if they appear at a path that matches the + current sparse-checkout. If the sparse-checkout feature is enabled, + then `--sparse` is assumed and can be disabled with `--no-sparse`. + +SEE ALSO +-------- +linkgit:git-clone[1]. + +GIT +--- +Part of the linkgit:git[1] suite diff --git a/Documentation/git-bisect-lk2009.txt b/Documentation/git-bisect-lk2009.adoc index 0bc165788e..0bc165788e 100644 --- a/Documentation/git-bisect-lk2009.txt +++ b/Documentation/git-bisect-lk2009.adoc diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.adoc index 82f944dc03..58dbb74a15 100644 --- a/Documentation/git-bisect.txt +++ b/Documentation/git-bisect.adoc @@ -495,6 +495,7 @@ $ git bisect old HEAD~10 # the tenth commit from now is marked as old ------------ + or: ++ ------------ $ git bisect start --term-old broken --term-new fixed $ git bisect fixed diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.adoc index b1d7fb539d..e438d28625 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.adoc @@ -48,7 +48,7 @@ ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output OPTIONS ------- -include::blame-options.txt[] +include::blame-options.adoc[] -c:: Use the same output mode as linkgit:git-annotate[1] (Default: off). @@ -135,10 +135,11 @@ header elements later. The porcelain format generally suppresses commit information that has already been seen. For example, two lines that are blamed to the same commit will both be shown, but the details for that commit will be shown -only once. This is more efficient, but may require more state be kept by -the reader. The `--line-porcelain` option can be used to output full -commit information for each line, allowing simpler (but less efficient) -usage like: +only once. Information which is specific to individual lines will not be +grouped together, like revs to be marked 'ignored' or 'unblamable'. This +is more efficient, but may require more state be kept by the reader. The +`--line-porcelain` option can be used to output full commit information +for each line, allowing simpler (but less efficient) usage like: # count the number of lines attributed to each author git blame --line-porcelain file | @@ -244,9 +245,9 @@ See linkgit:gitmailmap[5]. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/blame.txt[] +include::config/blame.adoc[] SEE ALSO -------- diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.adoc index 0b08442932..c0afddc424 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.adoc @@ -7,23 +7,23 @@ git-branch - List, create, or delete branches SYNOPSIS -------- -[verse] -'git branch' [--color[=<when>] | --no-color] [--show-current] - [-v [--abbrev=<n> | --no-abbrev]] - [--column[=<options>] | --no-column] [--sort=<key>] - [--merged [<commit>]] [--no-merged [<commit>]] - [--contains [<commit>]] [--no-contains [<commit>]] - [--points-at <object>] [--format=<format>] - [(-r | --remotes) | (-a | --all)] - [--list] [<pattern>...] -'git branch' [--track[=(direct|inherit)] | --no-track] [-f] - [--recurse-submodules] <branchname> [<start-point>] -'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>] -'git branch' --unset-upstream [<branchname>] -'git branch' (-m | -M) [<oldbranch>] <newbranch> -'git branch' (-c | -C) [<oldbranch>] <newbranch> -'git branch' (-d | -D) [-r] <branchname>... -'git branch' --edit-description [<branchname>] +[synopsis] +git branch [--color[=<when>] | --no-color] [--show-current] + [-v [--abbrev=<n> | --no-abbrev]] + [--column[=<options>] | --no-column] [--sort=<key>] + [--merged [<commit>]] [--no-merged [<commit>]] + [--contains [<commit>]] [--no-contains [<commit>]] + [--points-at <object>] [--format=<format>] + [(-r|--remotes) | (-a|--all)] + [--list] [<pattern>...] +git branch [--track[=(direct|inherit)] | --no-track] [-f] + [--recurse-submodules] <branch-name> [<start-point>] +git branch (--set-upstream-to=<upstream>|-u <upstream>) [<branch-name>] +git branch --unset-upstream [<branch-name>] +git branch (-m|-M) [<old-branch>] <new-branch> +git branch (-c|-C) [<old-branch>] <new-branch> +git branch (-d|-D) [-r] <branch-name>... +git branch --edit-description [<branch-name>] DESCRIPTION ----------- @@ -49,173 +49,184 @@ With `--contains`, shows only the branches that contain the named commit named commit), `--no-contains` inverts it. With `--merged`, only branches merged into the named commit (i.e. the branches whose tip commits are reachable from the named commit) will be listed. With `--no-merged` only -branches not merged into the named commit will be listed. If the <commit> +branches not merged into the named commit will be listed. If the _<commit>_ argument is missing it defaults to `HEAD` (i.e. the tip of the current branch). -The command's second form creates a new branch head named <branchname> -which points to the current `HEAD`, or <start-point> if given. As a -special case, for <start-point>, you may use `"A...B"` as a shortcut for -the merge base of `A` and `B` if there is exactly one merge base. You -can leave out at most one of `A` and `B`, in which case it defaults to -`HEAD`. +The command's second form creates a new branch head named _<branch-name>_ +which points to the current `HEAD`, or _<start-point>_ if given. As a +special case, for _<start-point>_, you may use `<rev-A>...<rev-B>` as a +shortcut for the merge base of _<rev-A>_ and _<rev-B>_ if there is exactly +one merge base. You can leave out at most one of _<rev-A>_ and _<rev-B>_, +in which case it defaults to `HEAD`. Note that this will create the new branch, but it will not switch the -working tree to it; use "git switch <newbranch>" to switch to the +working tree to it; use `git switch <new-branch>` to switch to the new branch. When a local branch is started off a remote-tracking branch, Git sets up the branch (specifically the `branch.<name>.remote` and `branch.<name>.merge` -configuration entries) so that 'git pull' will appropriately merge from +configuration entries) so that `git pull` will appropriately merge from the remote-tracking branch. This behavior may be changed via the global `branch.autoSetupMerge` configuration flag. That setting can be overridden by using the `--track` and `--no-track` options, and changed later using `git branch --set-upstream-to`. -With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. -If <oldbranch> had a corresponding reflog, it is renamed to match -<newbranch>, and a reflog entry is created to remember the branch -renaming. If <newbranch> exists, -M must be used to force the rename +With a `-m` or `-M` option, _<old-branch>_ will be renamed to _<new-branch>_. +If _<old-branch>_ had a corresponding reflog, it is renamed to match +_<new-branch>_, and a reflog entry is created to remember the branch +renaming. If _<new-branch>_ exists, `-M` must be used to force the rename to happen. The `-c` and `-C` options have the exact same semantics as `-m` and `-M`, except instead of the branch being renamed, it will be copied to a new name, along with its config and reflog. -With a `-d` or `-D` option, `<branchname>` will be deleted. You may +With a `-d` or `-D` option, _<branch-name>_ will be deleted. You may specify more than one branch for deletion. If the branch currently has a reflog then the reflog will also be deleted. Use `-r` together with `-d` to delete remote-tracking branches. Note, that it only makes sense to delete remote-tracking branches if they no longer exist -in the remote repository or if 'git fetch' was configured not to fetch -them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a +in the remote repository or if `git fetch` was configured not to fetch +them again. See also the `prune` subcommand of linkgit:git-remote[1] for a way to clean up all obsolete remote-tracking branches. OPTIONS ------- --d:: ---delete:: +`-d`:: +`--delete`:: Delete a branch. The branch must be fully merged in its upstream branch, or in `HEAD` if no upstream was set with `--track` or `--set-upstream-to`. --D:: +`-D`:: Shortcut for `--delete --force`. ---create-reflog:: +`--create-reflog`:: Create the branch's reflog. This activates recording of all changes made to the branch ref, enabling use of date - based sha1 expressions such as "<branchname>@\{yesterday}". + based sha1 expressions such as `<branch-name>@{yesterday}`. Note that in non-bare repositories, reflogs are usually enabled by default by the `core.logAllRefUpdates` config option. The negated form `--no-create-reflog` only overrides an earlier `--create-reflog`, but currently does not negate the setting of `core.logAllRefUpdates`. --f:: ---force:: - Reset <branchname> to <start-point>, even if <branchname> exists - already. Without `-f`, 'git branch' refuses to change an existing branch. +`-f`:: +`--force`:: + Reset _<branch-name>_ to _<start-point>_, even if _<branch-name>_ exists + already. Without `-f`, `git branch` refuses to change an existing branch. In combination with `-d` (or `--delete`), allow deleting the branch irrespective of its merged status, or whether it even points to a valid commit. In combination with `-m` (or `--move`), allow renaming the branch even if the new branch name already exists, the same applies for `-c` (or `--copy`). + -Note that 'git branch -f <branchname> [<start-point>]', even with '-f', -refuses to change an existing branch `<branchname>` that is checked out +Note that `git branch -f <branch-name> [<start-point>]`, even with `-f`, +refuses to change an existing branch _<branch-name>_ that is checked out in another worktree linked to the same repository. --m:: ---move:: +`-m`:: +`--move`:: Move/rename a branch, together with its config and reflog. --M:: +`-M`:: Shortcut for `--move --force`. --c:: ---copy:: +`-c`:: +`--copy`:: Copy a branch, together with its config and reflog. --C:: +`-C`:: Shortcut for `--copy --force`. ---color[=<when>]:: +`--color[=<when>]`:: Color branches to highlight current, local, and remote-tracking branches. - The value must be always (the default), never, or auto. + The value must be `always` (the default), `never`, or `auto`. ---no-color:: +`--no-color`:: Turn off branch colors, even when the configuration file gives the default to color output. Same as `--color=never`. --i:: ---ignore-case:: +`-i`:: +`--ignore-case`:: Sorting and filtering branches are case insensitive. ---omit-empty:: +`--omit-empty`:: Do not print a newline after formatted refs where the format expands to the empty string. ---column[=<options>]:: ---no-column:: +`--column[=<options>]`:: +`--no-column`:: Display branch listing in columns. See configuration variable `column.branch` for option syntax. `--column` and `--no-column` - without options are equivalent to 'always' and 'never' respectively. + without options are equivalent to `always` and `never` respectively. + This option is only applicable in non-verbose mode. --r:: ---remotes:: - List or delete (if used with -d) the remote-tracking branches. +`--sort=<key>`:: + Sort based on _<key>_. Prefix `-` to sort in descending + order of the value. You may use the `--sort=<key>` option + multiple times, in which case the last key becomes the primary + key. The keys supported are the same as those in linkgit:git-for-each-ref[1]. + Sort order defaults to the value configured for the + `branch.sort` variable if it exists, or to sorting based on the + full refname (including `refs/...` prefix). This lists + detached `HEAD` (if present) first, then local branches and + finally remote-tracking branches. See linkgit:git-config[1]. + +`-r`:: +`--remotes`:: + List or delete (if used with `-d`) the remote-tracking branches. Combine with `--list` to match the optional pattern(s). --a:: ---all:: +`-a`:: +`--all`:: List both remote-tracking branches and local branches. Combine with `--list` to match optional pattern(s). --l:: ---list:: +`-l`:: +`--list`:: List branches. With optional `<pattern>...`, e.g. `git branch --list 'maint-*'`, list only the branches that match the pattern(s). ---show-current:: - Print the name of the current branch. In detached HEAD state, +`--show-current`:: + Print the name of the current branch. In detached `HEAD` state, nothing is printed. --v:: --vv:: ---verbose:: +`-v`:: +`-vv`:: +`--verbose`:: When in list mode, show sha1 and commit subject line for each head, along with relationship to upstream branch (if any). If given twice, print the path of the linked worktree (if any) and the name of the upstream branch, as well (see also `git remote show <remote>`). Note that the - current worktree's HEAD will not have its path printed (it will always + current worktree's `HEAD` will not have its path printed (it will always be your current directory). --q:: ---quiet:: +`-q`:: +`--quiet`:: Be more quiet when creating or deleting a branch, suppressing non-error messages. ---abbrev=<n>:: +`--abbrev=<n>`:: In the verbose listing that show the commit object name, - show the shortest prefix that is at least '<n>' hexdigits + show the shortest prefix that is at least _<n>_ hexdigits long that uniquely refers the object. The default value is 7 and can be overridden by the `core.abbrev` config option. ---no-abbrev:: +`--no-abbrev`:: Display the full sha1s in the output listing rather than abbreviating them. --t:: ---track[=(direct|inherit)]:: +`-t`:: +`--track[=(direct|inherit)]`:: When creating a new branch, set up `branch.<name>.remote` and `branch.<name>.merge` configuration entries to set "upstream" tracking configuration for the new branch. This @@ -229,7 +240,7 @@ The exact upstream branch is chosen depending on the optional argument: itself as the upstream; `--track=inherit` means to copy the upstream configuration of the start-point branch. + -The branch.autoSetupMerge configuration variable specifies how `git switch`, +The `branch.autoSetupMerge` configuration variable specifies how `git switch`, `git checkout` and `git branch` should behave when neither `--track` nor `--no-track` are specified: + @@ -238,106 +249,94 @@ were given whenever the start-point is a remote-tracking branch. `false` behaves as if `--no-track` were given. `always` behaves as though `--track=direct` were given. `inherit` behaves as though `--track=inherit` were given. `simple` behaves as though `--track=direct` were given only when -the start-point is a remote-tracking branch and the new branch has the same +the _<start-point>_ is a remote-tracking branch and the new branch has the same name as the remote branch. + See linkgit:git-pull[1] and linkgit:git-config[1] for additional discussion on how the `branch.<name>.remote` and `branch.<name>.merge` options are used. ---no-track:: +`--no-track`:: Do not set up "upstream" configuration, even if the - branch.autoSetupMerge configuration variable is set. + `branch.autoSetupMerge` configuration variable is set. ---recurse-submodules:: - THIS OPTION IS EXPERIMENTAL! Causes the current command to +`--recurse-submodules`:: + THIS OPTION IS EXPERIMENTAL! Cause the current command to recurse into submodules if `submodule.propagateBranches` is enabled. See `submodule.propagateBranches` in linkgit:git-config[1]. Currently, only branch creation is supported. + -When used in branch creation, a new branch <branchname> will be created +When used in branch creation, a new branch _<branch-name>_ will be created in the superproject and all of the submodules in the superproject's -<start-point>. In submodules, the branch will point to the submodule -commit in the superproject's <start-point> but the branch's tracking +_<start-point>_. In submodules, the branch will point to the submodule +commit in the superproject's _<start-point>_ but the branch's tracking information will be set up based on the submodule's branches and remotes e.g. `git branch --recurse-submodules topic origin/main` will create the submodule branch "topic" that points to the submodule commit in the superproject's "origin/main", but tracks the submodule's "origin/main". ---set-upstream:: +`--set-upstream`:: As this option had confusing syntax, it is no longer supported. Please use `--track` or `--set-upstream-to` instead. --u <upstream>:: ---set-upstream-to=<upstream>:: - Set up <branchname>'s tracking information so <upstream> is - considered <branchname>'s upstream branch. If no <branchname> +`-u <upstream>`:: +`--set-upstream-to=<upstream>`:: + Set up _<branch-name>_'s tracking information so _<upstream>_ is + considered _<branch-name>_'s upstream branch. If no _<branch-name>_ is specified, then it defaults to the current branch. ---unset-upstream:: - Remove the upstream information for <branchname>. If no branch +`--unset-upstream`:: + Remove the upstream information for _<branch-name>_. If no branch is specified it defaults to the current branch. ---edit-description:: +`--edit-description`:: Open an editor and edit the text to explain what the branch is for, to be used by various other commands (e.g. `format-patch`, `request-pull`, and `merge` (if enabled)). Multi-line explanations may be used. ---contains [<commit>]:: - Only list branches which contain the specified commit (HEAD +`--contains [<commit>]`:: + Only list branches which contain _<commit>_ (`HEAD` if not specified). Implies `--list`. ---no-contains [<commit>]:: - Only list branches which don't contain the specified commit - (HEAD if not specified). Implies `--list`. +`--no-contains [<commit>]`:: + Only list branches which don't contain _<commit>_ + (`HEAD` if not specified). Implies `--list`. ---merged [<commit>]:: - Only list branches whose tips are reachable from the - specified commit (HEAD if not specified). Implies `--list`. +`--merged [<commit>]`:: + Only list branches whose tips are reachable from + _<commit>_ (`HEAD` if not specified). Implies `--list`. ---no-merged [<commit>]:: - Only list branches whose tips are not reachable from the - specified commit (HEAD if not specified). Implies `--list`. +`--no-merged [<commit>]`:: + Only list branches whose tips are not reachable from + _<commit>_ (`HEAD` if not specified). Implies `--list`. -<branchname>:: +`--points-at <object>`:: + Only list branches of _<object>_. + +`--format <format>`:: + A string that interpolates `%(fieldname)` from a branch ref being shown + and the object it points at. _<format>_ is the same as + that of linkgit:git-for-each-ref[1]. + +_<branch-name>_:: The name of the branch to create or delete. The new branch name must pass all checks defined by linkgit:git-check-ref-format[1]. Some of these checks may restrict the characters allowed in a branch name. -<start-point>:: +_<start-point>_:: The new branch head will point to this commit. It may be given as a branch name, a commit-id, or a tag. If this - option is omitted, the current HEAD will be used instead. + option is omitted, the current `HEAD` will be used instead. -<oldbranch>:: +_<old-branch>_:: The name of an existing branch. If this option is omitted, the name of the current branch will be used instead. -<newbranch>:: +_<new-branch>_:: The new name for an existing branch. The same restrictions as for - <branchname> apply. - ---sort=<key>:: - Sort based on the key given. Prefix `-` to sort in descending - order of the value. You may use the --sort=<key> option - multiple times, in which case the last key becomes the primary - key. The keys supported are the same as those in `git - for-each-ref`. Sort order defaults to the value configured for the - `branch.sort` variable if it exists, or to sorting based on the - full refname (including `refs/...` prefix). This lists - detached HEAD (if present) first, then local branches and - finally remote-tracking branches. See linkgit:git-config[1]. - - ---points-at <object>:: - Only list branches of the given object. - ---format <format>:: - A string that interpolates `%(fieldname)` from a branch ref being shown - and the object it points at. The format is the same as - that of linkgit:git-for-each-ref[1]. + _<branch-name>_ apply. CONFIGURATION ------------- @@ -345,9 +344,9 @@ CONFIGURATION `--list` is used or implied. The default is to use a pager. See linkgit:git-config[1]. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/branch.txt[] +include::config/branch.adoc[] EXAMPLES -------- @@ -374,7 +373,7 @@ $ git branch -D test <2> ------------ + <1> Delete the remote-tracking branches "todo", "html" and "man". The next - 'fetch' or 'pull' will create them again unless you configure them not to. + `git fetch` or `git pull` will create them again unless you configure them not to. See linkgit:git-fetch[1]. <2> Delete the "test" branch even if the "master" branch (or whichever branch is currently checked out) does not have all commits from the test branch. @@ -386,8 +385,8 @@ $ git branch -r -l '<remote>/<pattern>' <1> $ git for-each-ref 'refs/remotes/<remote>/<pattern>' <2> ------------ + -<1> Using `-a` would conflate <remote> with any local branches you happen to - have been prefixed with the same <remote> pattern. +<1> Using `-a` would conflate _<remote>_ with any local branches you happen to + have been prefixed with the same _<remote>_ pattern. <2> `for-each-ref` can take a wide range of options. See linkgit:git-for-each-ref[1] Patterns will normally need quoting. @@ -396,34 +395,34 @@ NOTES ----- If you are creating a branch that you want to switch to immediately, -it is easier to use the "git switch" command with its `-c` option to +it is easier to use the `git switch` command with its `-c` option to do the same thing with a single command. The options `--contains`, `--no-contains`, `--merged` and `--no-merged` serve four related but different purposes: - `--contains <commit>` is used to find all branches which will need - special attention if <commit> were to be rebased or amended, since those - branches contain the specified <commit>. + special attention if _<commit>_ were to be rebased or amended, since those + branches contain the specified _<commit>_. - `--no-contains <commit>` is the inverse of that, i.e. branches that don't - contain the specified <commit>. + contain the specified _<commit>_. - `--merged` is used to find all branches which can be safely deleted, - since those branches are fully contained by HEAD. + since those branches are fully contained by `HEAD`. - `--no-merged` is used to find branches which are candidates for merging - into HEAD, since those branches are not fully contained by HEAD. + into `HEAD`, since those branches are not fully contained by `HEAD`. -include::ref-reachability-filters.txt[] +include::ref-reachability-filters.adoc[] SEE ALSO -------- linkgit:git-check-ref-format[1], linkgit:git-fetch[1], linkgit:git-remote[1], -link:user-manual.html#what-is-a-branch[``Understanding history: What is -a branch?''] in the Git User's Manual. +link:user-manual.html#what-is-a-branch["Understanding history: What is +a branch?"] in the Git User's Manual. GIT --- diff --git a/Documentation/git-bugreport.txt b/Documentation/git-bugreport.adoc index 112658b3c3..112658b3c3 100644 --- a/Documentation/git-bugreport.txt +++ b/Documentation/git-bugreport.adoc diff --git a/Documentation/git-bundle.txt b/Documentation/git-bundle.adoc index 3ab42a19ca..03cd36fe8d 100644 --- a/Documentation/git-bundle.txt +++ b/Documentation/git-bundle.adoc @@ -23,19 +23,18 @@ the "offline" transfer of Git objects without an active "server" sitting on the other side of the network connection. They can be used to create both incremental and full backups of a -repository, and to relay the state of the references in one repository -to another. +repository (see the "full backup" example in "EXAMPLES"), and to relay +the state of the references in one repository to another (see the second +example). Git commands that fetch or otherwise "read" via protocols such as `ssh://` and `https://` can also operate on bundle files. It is possible linkgit:git-clone[1] a new repository from a bundle, to use linkgit:git-fetch[1] to fetch from one, and to list the references contained within it with linkgit:git-ls-remote[1]. There's no -corresponding "write" support, i.e.a 'git push' into a bundle is not +corresponding "write" support, i.e. a 'git push' into a bundle is not supported. -See the "EXAMPLES" section below for examples of how to use bundles. - BUNDLE FORMAT ------------- @@ -132,7 +131,7 @@ SPECIFYING REFERENCES --------------------- Revisions must be accompanied by reference names to be packaged in a -bundle. +bundle. Alternatively `--all` can be used to package all refs. More than one reference may be packaged, and more than one set of prerequisite objects can be specified. The objects packaged are those not contained in the @@ -203,8 +202,6 @@ It is okay to err on the side of caution, causing the bundle file to contain objects already in the destination, as these are ignored when unpacking at the destination. -If you want to match `git clone --mirror`, which would include your -refs such as `refs/remotes/*`, use `--all`. If you want to provide the same set of refs that a clone directly from the source repository would get, use `--branches --tags` for the `<git-rev-list-args>`. @@ -216,8 +213,34 @@ bundle. EXAMPLES -------- -Assume you want to transfer the history from a repository R1 on machine A -to another repository R2 on machine B. +We'll discuss two cases: + +1. Taking a full backup of a repository +2. Transferring the history of a repository to another machine when the + two machines have no direct connection + +First let's consider a full backup of the repository. The following +command will take a full backup of the repository in the sense that all +refs are included in the bundle: + +---------------- +$ git bundle create backup.bundle --all +---------------- + +But note again that this is only for the refs, i.e. you will only +include refs and commits reachable from those refs. You will not +include other local state, such as the contents of the index, working +tree, the stash, per-repository configuration, hooks, etc. + +You can later recover that repository by using for example +linkgit:git-clone[1]: + +---------------- +$ git clone backup.bundle <new directory> +---------------- + +For the next example, assume you want to transfer the history from a +repository R1 on machine A to another repository R2 on machine B. For whatever reason, direct connection between A and B is not allowed, but we can move data from A to B via some mechanism (CD, email, etc.). We want to update R2 with development made on the branch master in R1. @@ -321,6 +344,24 @@ You can also see what references it offers: $ git ls-remote mybundle ---------------- +DISCUSSION +---------- + +A naive way to make a full backup of a repository is to use something to +the effect of `cp -r <repo> <destination>`. This is discouraged since +the repository could be written to during the copy operation. In turn +some files at `<destination>` could be corrupted. + +This is why it is recommended to use Git tooling for making repository +backups, either with this command or with e.g. linkgit:git-clone[1]. +But keep in mind that these tools will not help you backup state other +than refs and commits. In other words they will not help you backup +contents of the index, working tree, the stash, per-repository +configuration, hooks, etc. + +See also linkgit:gitfaq[7], section "TRANSFERS" for a discussion of the +problems associated with file syncing across systems. + FILE FORMAT ----------- diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.adoc index d5890ae368..180d1ad363 100644 --- a/Documentation/git-cat-file.txt +++ b/Documentation/git-cat-file.adoc @@ -9,8 +9,7 @@ SYNOPSIS -------- [verse] 'git cat-file' <type> <object> -'git cat-file' (-e | -p) <object> -'git cat-file' (-t | -s) [--allow-unknown-type] <object> +'git cat-file' (-e | -p | -t | -s) <object> 'git cat-file' (--textconv | --filters) [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>] 'git cat-file' (--batch | --batch-check | --batch-command) [--batch-all-objects] @@ -81,6 +80,25 @@ OPTIONS end-of-line conversion, etc). In this case, `<object>` has to be of the form `<tree-ish>:<path>`, or `:<path>`. +--filter=<filter-spec>:: +--no-filter:: + Omit objects from the list of printed objects. This can only be used in + combination with one of the batched modes. Excluded objects that have + been explicitly requested via any of the batch modes that read objects + via standard input (`--batch`, `--batch-check`) will be reported as + "filtered". Excluded objects in `--batch-all-objects` mode will not be + printed at all. The '<filter-spec>' may be one of the following: ++ +The form '--filter=blob:none' omits all blobs. ++ +The form '--filter=blob:limit=<n>[kmg]' omits blobs of size at least n +bytes or units. n may be zero. The suffixes k, m, and g can be used to name +units in KiB, MiB, or GiB. For example, 'blob:limit=1k' is the same as +'blob:limit=1024'. ++ +The form '--filter=object:type=(tag|commit|tree|blob)' omits all objects which +are not of the requested type. + --path=<path>:: For use with `--textconv` or `--filters`, to allow specifying an object name and a path separately, e.g. when it is difficult to figure out @@ -183,9 +201,6 @@ flush:: only once, even if it is stored multiple times in the repository. ---allow-unknown-type:: - Allow `-s` or `-t` to query broken/corrupt objects of unknown type. - --follow-symlinks:: With `--batch` or `--batch-check`, follow symlinks inside the repository when requesting objects with extended SHA-1 @@ -292,6 +307,11 @@ newline. The available atoms are: `objecttype`:: The type of the object (the same as `cat-file -t` reports). +`objectmode`:: + If the specified object has mode information (such as a tree or + index entry), the mode expressed as an octal integer. Otherwise, + empty string. + `objectsize`:: The size, in bytes, of the object (the same as `cat-file -s` reports). @@ -322,10 +342,10 @@ of `%(objectsize)` bytes), followed by a newline. For example, `--batch` without a custom format would produce: ------------- +----------- <oid> SP <type> SP <size> LF <contents> LF ------------- +----------- Whereas `--batch-check='%(objectname) %(objecttype)'` would produce: @@ -340,12 +360,27 @@ the repository, then `cat-file` will ignore any custom format and print: <object> SP missing LF ------------ +If a name is specified on stdin that is filtered out via `--filter=`, +then `cat-file` will ignore any custom format and print: + +------------ +<object> SP excluded LF +------------ + If a name is specified that might refer to more than one object (an ambiguous short sha), then `cat-file` will ignore any custom format and print: ------------ <object> SP ambiguous LF ------------ +If a name is specified that refers to a submodule entry in a tree and the +target object does not exist in the repository, then `cat-file` will ignore +any custom format and print (with the object ID of the submodule): + +------------ +<oid> SP submodule LF +------------ + If `--follow-symlinks` is used, and a symlink in the repository points outside the repository, then `cat-file` will ignore any custom format and print: diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.adoc index cb5a6c8f33..503b644657 100644 --- a/Documentation/git-check-attr.txt +++ b/Documentation/git-check-attr.adoc @@ -76,6 +76,7 @@ EXAMPLES -------- In the examples, the following '.gitattributes' file is used: + --------------- *.java diff=java -crlf myAttr NoMyAttr.java !myAttr @@ -83,12 +84,14 @@ README caveat=unspecified --------------- * Listing a single attribute: ++ --------------- $ git check-attr diff org/example/MyClass.java org/example/MyClass.java: diff: java --------------- * Listing multiple attributes for a file: ++ --------------- $ git check-attr crlf diff myAttr -- org/example/MyClass.java org/example/MyClass.java: crlf: unset @@ -97,6 +100,7 @@ org/example/MyClass.java: myAttr: set --------------- * Listing all attributes for a file: ++ --------------- $ git check-attr --all -- org/example/MyClass.java org/example/MyClass.java: diff: java @@ -104,6 +108,7 @@ org/example/MyClass.java: myAttr: set --------------- * Listing an attribute for multiple files: ++ --------------- $ git check-attr myAttr -- org/example/MyClass.java org/example/NoMyAttr.java org/example/MyClass.java: myAttr: set @@ -111,6 +116,7 @@ org/example/NoMyAttr.java: myAttr: unspecified --------------- * Not all values are equally unambiguous: ++ --------------- $ git check-attr caveat README README: caveat: unspecified diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.adoc index 3e3b4e3446..3e3b4e3446 100644 --- a/Documentation/git-check-ignore.txt +++ b/Documentation/git-check-ignore.adoc diff --git a/Documentation/git-check-mailmap.txt b/Documentation/git-check-mailmap.adoc index 966c91c46a..966c91c46a 100644 --- a/Documentation/git-check-mailmap.txt +++ b/Documentation/git-check-mailmap.adoc diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.adoc index 2aacfd1808..2aacfd1808 100644 --- a/Documentation/git-check-ref-format.txt +++ b/Documentation/git-check-ref-format.adoc diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.adoc index faf8d6ca36..faf8d6ca36 100644 --- a/Documentation/git-checkout-index.txt +++ b/Documentation/git-checkout-index.adoc diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.adoc index bf26655764..ee83b6d9ba 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.adoc @@ -7,54 +7,54 @@ git-checkout - Switch branches or restore working tree files SYNOPSIS -------- -[verse] -'git checkout' [-q] [-f] [-m] [<branch>] -'git checkout' [-q] [-f] [-m] --detach [<branch>] -'git checkout' [-q] [-f] [-m] [--detach] <commit> -'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new-branch>] [<start-point>] -'git checkout' [-f] <tree-ish> [--] <pathspec>... -'git checkout' [-f] <tree-ish> --pathspec-from-file=<file> [--pathspec-file-nul] -'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [--] <pathspec>... -'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] --pathspec-from-file=<file> [--pathspec-file-nul] -'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...] +[synopsis] +git checkout [-q] [-f] [-m] [<branch>] +git checkout [-q] [-f] [-m] --detach [<branch>] +git checkout [-q] [-f] [-m] [--detach] <commit> +git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new-branch>] [<start-point>] +git checkout [-f] <tree-ish> [--] <pathspec>... +git checkout [-f] <tree-ish> --pathspec-from-file=<file> [--pathspec-file-nul] +git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [--] <pathspec>... +git checkout [-f|--ours|--theirs|-m|--conflict=<style>] --pathspec-from-file=<file> [--pathspec-file-nul] +git checkout (-p|--patch) [<tree-ish>] [--] [<pathspec>...] DESCRIPTION ----------- Updates files in the working tree to match the version in the index -or the specified tree. If no pathspec was given, 'git checkout' will +or the specified tree. If no pathspec was given, `git checkout` will also update `HEAD` to set the specified branch as the current branch. -'git checkout' [<branch>]:: - To prepare for working on `<branch>`, switch to it by updating +`git checkout [<branch>]`:: + To prepare for working on _<branch>_, switch to it by updating the index and the files in the working tree, and by pointing `HEAD` at the branch. Local modifications to the files in the working tree are kept, so that they can be committed to the - `<branch>`. + _<branch>_. + -If `<branch>` is not found but there does exist a tracking branch in -exactly one remote (call it `<remote>`) with a matching name and +If _<branch>_ is not found but there does exist a tracking branch in +exactly one remote (call it _<remote>_) with a matching name and `--no-guess` is not specified, treat as equivalent to + ------------ $ git checkout -b <branch> --track <remote>/<branch> ------------ + -You could omit `<branch>`, in which case the command degenerates to +You could omit _<branch>_, in which case the command degenerates to "check out the current branch", which is a glorified no-op with rather expensive side-effects to show only the tracking information, if it exists, for the current branch. -'git checkout' -b|-B <new-branch> [<start-point>]:: +`git checkout (-b|-B) <new-branch> [<start-point>]`:: Specifying `-b` causes a new branch to be created as if linkgit:git-branch[1] were called and then checked out. In this case you can use the `--track` or `--no-track` options, - which will be passed to 'git branch'. As a convenience, + which will be passed to `git branch`. As a convenience, `--track` without `-b` implies branch creation; see the description of `--track` below. + -If `-B` is given, `<new-branch>` is created if it doesn't exist; otherwise, it +If `-B` is given, _<new-branch>_ is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of + ------------ @@ -67,30 +67,30 @@ successful (e.g., when the branch is in use in another worktree, not just the current branch stays the same, but the branch is not reset to the start-point, either). -'git checkout' --detach [<branch>]:: -'git checkout' [--detach] <commit>:: +`git checkout --detach [<branch>]`:: +`git checkout [--detach] <commit>`:: - Prepare to work on top of `<commit>`, by detaching `HEAD` at it + Prepare to work on top of _<commit>_, by detaching `HEAD` at it (see "DETACHED HEAD" section), and updating the index and the files in the working tree. Local modifications to the files in the working tree are kept, so that the resulting working tree will be the state recorded in the commit plus the local modifications. + -When the `<commit>` argument is a branch name, the `--detach` option can +When the _<commit>_ argument is a branch name, the `--detach` option can be used to detach `HEAD` at the tip of the branch (`git checkout <branch>` would check out that branch without detaching `HEAD`). + -Omitting `<branch>` detaches `HEAD` at the tip of the current branch. +Omitting _<branch>_ detaches `HEAD` at the tip of the current branch. -'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...:: -'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]:: +`git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>...`:: +`git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] --pathspec-from-file=<file> [--pathspec-file-nul]`:: Overwrite the contents of the files that match the pathspec. - When the `<tree-ish>` (most often a commit) is not given, + When the _<tree-ish>_ (most often a commit) is not given, overwrite working tree with the contents in the index. - When the `<tree-ish>` is given, overwrite both the index and - the working tree with the contents at the `<tree-ish>`. + When the _<tree-ish>_ is given, overwrite both the index and + the working tree with the contents at the _<tree-ish>_. + The index may contain unmerged entries because of a previous failed merge. By default, if you try to check out such an entry from the index, the @@ -100,7 +100,7 @@ specific side of the merge can be checked out of the index by using `--ours` or `--theirs`. With `-m`, changes made to the working tree file can be discarded to re-create the original conflicted merge result. -'git checkout' (-p|--patch) [<tree-ish>] [--] [<pathspec>...]:: +`git checkout (-p|--patch) [<tree-ish>] [--] [<pathspec>...]`:: This is similar to the previous mode, but lets you use the interactive interface to show the "diff" output and choose which hunks to use in the result. See below for the description of @@ -108,19 +108,19 @@ file can be discarded to re-create the original conflicted merge result. OPTIONS ------- --q:: ---quiet:: +`-q`:: +`--quiet`:: Quiet, suppress feedback messages. ---progress:: ---no-progress:: +`--progress`:: +`--no-progress`:: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not attached to a terminal, regardless of `--quiet`. --f:: ---force:: +`-f`:: +`--force`:: When switching branches, proceed even if the index or the working tree differs from `HEAD`, and even if there are untracked files in the way. This is used to throw away local changes and @@ -129,13 +129,13 @@ OPTIONS When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored. ---ours:: ---theirs:: +`--ours`:: +`--theirs`:: When checking out paths from the index, check out stage #2 - ('ours') or #3 ('theirs') for unmerged paths. + (`ours`) or #3 (`theirs`) for unmerged paths. + -Note that during `git rebase` and `git pull --rebase`, 'ours' and -'theirs' may appear swapped; `--ours` gives the version from the +Note that during `git rebase` and `git pull --rebase`, `ours` and +`theirs` may appear swapped; `--ours` gives the version from the branch the changes are rebased onto, while `--theirs` gives the version from the branch that holds your work that is being rebased. + @@ -149,22 +149,22 @@ as `ours` (i.e. "our shared canonical history"), while what you did on your side branch as `theirs` (i.e. "one contributor's work on top of it"). --b <new-branch>:: - Create a new branch named `<new-branch>`, start it at - `<start-point>`, and check the resulting branch out; +`-b <new-branch>`:: + Create a new branch named _<new-branch>_, start it at + _<start-point>_, and check the resulting branch out; see linkgit:git-branch[1] for details. --B <new-branch>:: - Creates the branch `<new-branch>`, start it at `<start-point>`; - if it already exists, then reset it to `<start-point>`. And then +`-B <new-branch>`:: + Creates the branch _<new-branch>_, start it at _<start-point>_; + if it already exists, then reset it to _<start-point>_. And then check the resulting branch out. This is equivalent to running - "git branch" with "-f" followed by "git checkout" of that branch; + `git branch` with `-f` followed by `git checkout` of that branch; see linkgit:git-branch[1] for details. --t:: ---track[=(direct|inherit)]:: +`-t`:: +`--track[=(direct|inherit)]`:: When creating a new branch, set up "upstream" configuration. See - "--track" in linkgit:git-branch[1] for details. + `--track` in linkgit:git-branch[1] for details. + If no `-b` option is given, the name of the new branch will be derived from the remote-tracking branch, by looking at the local part of @@ -176,14 +176,14 @@ off of `origin/hack` (or `remotes/origin/hack`, or even guessing results in an empty name, the guessing is aborted. You can explicitly give a name with `-b` in such a case. ---no-track:: +`--no-track`:: Do not set up "upstream" configuration, even if the `branch.autoSetupMerge` configuration variable is true. ---guess:: ---no-guess:: - If `<branch>` is not found but there does exist a tracking - branch in exactly one remote (call it `<remote>`) with a +`--guess`:: +`--no-guess`:: + If _<branch>_ is not found but there does exist a tracking + branch in exactly one remote (call it _<remote>_) with a matching name, treat as equivalent to + ------------ @@ -192,10 +192,10 @@ $ git checkout -b <branch> --track <remote>/<branch> + If the branch exists in multiple remotes and one of them is named by the `checkout.defaultRemote` configuration variable, we'll use that -one for the purposes of disambiguation, even if the `<branch>` isn't +one for the purposes of disambiguation, even if the _<branch>_ isn't unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` to always checkout remote -branches from there if `<branch>` is ambiguous but exists on the +branches from there if _<branch>_ is ambiguous but exists on the 'origin' remote. See also `checkout.defaultRemote` in linkgit:git-config[1]. + @@ -204,28 +204,28 @@ linkgit:git-config[1]. The default behavior can be set via the `checkout.guess` configuration variable. --l:: +`-l`:: Create the new branch's reflog; see linkgit:git-branch[1] for details. --d:: ---detach:: +`-d`:: +`--detach`:: Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments. This is the default behavior of `git checkout <commit>` when - `<commit>` is not a branch name. See the "DETACHED HEAD" section + _<commit>_ is not a branch name. See the "DETACHED HEAD" section below for details. ---orphan <new-branch>:: - Create a new unborn branch, named `<new-branch>`, started from - `<start-point>` and switch to it. The first commit made on this +`--orphan <new-branch>`:: + Create a new unborn branch, named _<new-branch>_, started from + _<start-point>_ and switch to it. The first commit made on this new branch will have no parents and it will be the root of a new history totally disconnected from all the other branches and commits. + The index and the working tree are adjusted as if you had previously run `git checkout <start-point>`. This allows you to start a new history -that records a set of paths similar to `<start-point>` by easily running +that records a set of paths similar to _<start-point>_ by easily running `git commit -a` to make the root commit. + This can be useful when you want to publish the tree from a commit @@ -235,20 +235,20 @@ whose full history contains proprietary or otherwise encumbered bits of code. + If you want to start a disconnected history that records a set of paths -that is totally different from the one of `<start-point>`, then you should +that is totally different from the one of _<start-point>_, then you should clear the index and the working tree right after creating the orphan branch by running `git rm -rf .` from the top level of the working tree. Afterwards you will be ready to prepare your new files, repopulating the working tree, by copying them from elsewhere, extracting a tarball, etc. ---ignore-skip-worktree-bits:: - In sparse checkout mode, `git checkout -- <paths>` would - update only entries matched by `<paths>` and sparse patterns +`--ignore-skip-worktree-bits`:: + In sparse checkout mode, `git checkout -- <path>...` would + update only entries matched by _<paths>_ and sparse patterns in `$GIT_DIR/info/sparse-checkout`. This option ignores - the sparse patterns and adds back any files in `<paths>`. + the sparse patterns and adds back any files in `<path>...`. --m:: ---merge:: +`-m`:: +`--merge`:: When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to @@ -269,40 +269,40 @@ used when checking out paths from a tree-ish. + When switching branches with `--merge`, staged changes may be lost. ---conflict=<style>:: +`--conflict=<style>`:: The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the `merge.conflictStyle` configuration variable. Possible values are - "merge" (default), "diff3", and "zdiff3". + `merge` (default), `diff3`, and `zdiff3`. --p:: ---patch:: +`-p`:: +`--patch`:: Interactively select hunks in the difference between the - `<tree-ish>` (or the index, if unspecified) and the working + _<tree-ish>_ (or the index, if unspecified) and the working tree. The chosen hunks are then applied in reverse to the - working tree (and if a `<tree-ish>` was specified, the index). + working tree (and if a _<tree-ish>_ was specified, the index). + This means that you can use `git checkout -p` to selectively discard -edits from your current working tree. See the ``Interactive Mode'' +edits from your current working tree. See the "Interactive Mode" section of linkgit:git-add[1] to learn how to operate the `--patch` mode. + Note that this option uses the no overlay mode by default (see also `--overlay`), and currently doesn't support overlay mode. ---ignore-other-worktrees:: +`--ignore-other-worktrees`:: `git checkout` refuses when the wanted branch is already checked out or otherwise in use by another worktree. This option makes it check the branch out anyway. In other words, the branch can be in use by more than one worktree. ---overwrite-ignore:: ---no-overwrite-ignore:: +`--overwrite-ignore`:: +`--no-overwrite-ignore`:: Silently overwrite ignored files when switching branches. This is the default behavior. Use `--no-overwrite-ignore` to abort the operation when the new branch contains ignored files. ---recurse-submodules:: ---no-recurse-submodules:: +`--recurse-submodules`:: +`--no-recurse-submodules`:: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If local modifications in a submodule would be overwritten the checkout @@ -311,25 +311,25 @@ Note that this option uses the no overlay mode by default (see also Just like linkgit:git-submodule[1], this will detach `HEAD` of the submodule. ---overlay:: ---no-overlay:: +`--overlay`:: +`--no-overlay`:: In the default overlay mode, `git checkout` never removes files from the index or the working tree. When specifying `--no-overlay`, files that appear in the index and - working tree, but not in `<tree-ish>` are removed, to make them - match `<tree-ish>` exactly. + working tree, but not in _<tree-ish>_ are removed, to make them + match _<tree-ish>_ exactly. ---pathspec-from-file=<file>:: - Pathspec is passed in `<file>` instead of commandline args. If - `<file>` is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be +`--pathspec-from-file=<file>`:: + Pathspec is passed in _<file>_ instead of commandline args. If + _<file>_ is exactly `-` then standard input is used. Pathspec + elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). <branch>:: @@ -343,33 +343,33 @@ You can use the `@{-N}` syntax to refer to the N-th last branch/commit checked out using "git checkout" operation. You may also specify `-` which is synonymous to `@{-1}`. + -As a special case, you may use `A...B` as a shortcut for the -merge base of `A` and `B` if there is exactly one merge base. You can -leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. +As a special case, you may use `<rev-a>...<rev-b>` as a shortcut for the +merge base of _<rev-a>_ and _<rev-b>_ if there is exactly one merge base. You can +leave out at most one of _<rev-a>_ and _<rev-b>_, in which case it defaults to `HEAD`. -<new-branch>:: +_<new-branch>_:: Name for the new branch. -<start-point>:: +_<start-point>_:: The name of a commit at which to start the new branch; see linkgit:git-branch[1] for details. Defaults to `HEAD`. + -As a special case, you may use `"A...B"` as a shortcut for the -merge base of `A` and `B` if there is exactly one merge base. You can -leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. +As a special case, you may use `<rev-a>...<rev-b>` as a shortcut for the +merge base of _<rev-a>_ and _<rev-b>_ if there is exactly one merge base. You can +leave out at most one of _<rev-a>_ and _<rev-b>_, in which case it defaults to `HEAD`. -<tree-ish>:: +_<tree-ish>_:: Tree to checkout from (when paths are given). If not specified, the index will be used. + -As a special case, you may use `"A...B"` as a shortcut for the -merge base of `A` and `B` if there is exactly one merge base. You can -leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. +As a special case, you may use `<rev-a>...<rev-b>` as a shortcut for the +merge base of _<rev-a>_ and _<rev-b>_ if there is exactly one merge base. You can +leave out at most one of _<rev-a>_ and _<rev-b>_, in which case it defaults to `HEAD`. -\--:: +`--`:: Do not interpret any more arguments as options. -<pathspec>...:: +`<pathspec>...`:: Limits the paths affected by the operation. + For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. @@ -391,7 +391,7 @@ a---b---c branch 'master' (refers to commit 'c') ------------ When a commit is created in this state, the branch is updated to refer to -the new commit. Specifically, 'git commit' creates a new commit `d`, whose +the new commit. Specifically, `git commit` creates a new commit `d`, whose parent is commit `c`, and then updates branch `master` to refer to new commit `d`. `HEAD` still refers to branch `master` and so indirectly now refers to commit `d`: @@ -510,11 +510,11 @@ ARGUMENT DISAMBIGUATION ----------------------- When there is only one argument given and it is not `--` (e.g. `git -checkout abc`), and when the argument is both a valid `<tree-ish>` -(e.g. a branch `abc` exists) and a valid `<pathspec>` (e.g. a file +checkout abc`), and when the argument is both a valid _<tree-ish>_ +(e.g. a branch `abc` exists) and a valid _<pathspec>_ (e.g. a file or a directory whose name is "abc" exists), Git would usually ask you to disambiguate. Because checking out a branch is so common an -operation, however, `git checkout abc` takes "abc" as a `<tree-ish>` +operation, however, `git checkout abc` takes "abc" as a _<tree-ish>_ in such a situation. Use `git checkout -- <pathspec>` if you want to checkout these paths out of the index. @@ -612,9 +612,9 @@ $ git add frotz CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/checkout.txt[] +include::config/checkout.adoc[] SEE ALSO -------- diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.adoc index 81ace900fc..42b41923d5 100644 --- a/Documentation/git-cherry-pick.txt +++ b/Documentation/git-cherry-pick.adoc @@ -172,11 +172,11 @@ fail unless one of `--empty=keep` or `--allow-empty` are specified. Pass the merge strategy-specific option through to the merge strategy. See linkgit:git-merge[1] for details. -include::rerere-options.txt[] +include::rerere-options.adoc[] SEQUENCER SUBCOMMANDS --------------------- -include::sequencer.txt[] +include::sequencer.adoc[] EXAMPLES -------- diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.adoc index 0ea921a593..0ea921a593 100644 --- a/Documentation/git-cherry.txt +++ b/Documentation/git-cherry.adoc diff --git a/Documentation/git-citool.txt b/Documentation/git-citool.adoc index c7a11c36c1..c7a11c36c1 100644 --- a/Documentation/git-citool.txt +++ b/Documentation/git-citool.adoc diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.adoc index fd17165416..bed52c203b 100644 --- a/Documentation/git-clean.txt +++ b/Documentation/git-clean.adoc @@ -140,9 +140,9 @@ help:: CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/clean.txt[] +include::config/clean.adoc[] SEE ALSO -------- diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.adoc index 8e925db7e9..222d558290 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.adoc @@ -8,16 +8,16 @@ git-clone - Clone a repository into a new directory SYNOPSIS -------- -[verse] -`git clone` [++--template=++__<template-directory>__] - [`-l`] [`-s`] [`--no-hardlinks`] [`-q`] [`-n`] [`--bare`] [`--mirror`] - [`-o` _<name>_] [`-b` _<name>_] [`-u` _<upload-pack>_] [`--reference` _<repository>_] - [`--dissociate`] [`--separate-git-dir` _<git-dir>_] - [`--depth` _<depth>_] [`--`[`no-`]{empty}`single-branch`] [`--no-tags`] - [++--recurse-submodules++[++=++__<pathspec>__]] [++--++[++no-++]{empty}++shallow-submodules++] - [`--`[`no-`]{empty}`remote-submodules`] [`--jobs` _<n>_] [`--sparse`] [`--`[`no-`]{empty}`reject-shallow`] - [++--filter=++__<filter-spec>__] [`--also-filter-submodules`]] [`--`] _<repository>_ - [_<directory>_] +[synopsis] +git clone [--template=<template-directory>] + [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] + [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>] + [--dissociate] [--separate-git-dir <git-dir>] + [--depth <depth>] [--[no-]single-branch] [--[no-]tags] + [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules] + [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow] + [--filter=<filter-spec>] [--also-filter-submodules]] [--] <repository> + [<directory>] DESCRIPTION ----------- @@ -52,7 +52,7 @@ OPTIONS to save space when possible. + If the repository is specified as a local path (e.g., `/path/to/repo`), -this is the default, and --local is essentially a no-op. If the +this is the default, and `--local` is essentially a no-op. If the repository is specified as a URL, then this flag is ignored (and we never use the local optimizations). Specifying `--no-local` will override the default when `/path/to/repo` is given, using the regular @@ -63,9 +63,12 @@ symbolic link, the clone will fail. This is a security measure to prevent the unintentional copying of files by dereferencing the symbolic links. + +This option does not work with repositories owned by other users for security +reasons, and `--no-local` must be specified for the clone to succeed. ++ *NOTE*: this operation can race with concurrent modification to the -source repository, similar to running `cp -r src dst` while modifying -`src`. +source repository, similar to running `cp -r <src> <dst>` while modifying +_<src>_. `--no-hardlinks`:: Force the cloning process from a repository on a local @@ -101,7 +104,7 @@ If you want to break the dependency of a repository cloned with `--shared` on its source repository, you can simply run `git repack -a` to copy all objects from the source repository into a pack in the cloned repository. -`--reference`[`-if-able`] _<repository>_:: +`--reference[-if-able] <repository>`:: If the reference _<repository>_ is on the local machine, automatically setup `.git/objects/info/alternates` to obtain objects from the reference _<repository>_. Using @@ -142,17 +145,20 @@ objects from the source repository into a pack in the cloned repository. is specified. This flag forces progress status even if the standard error stream is not directed to a terminal. -++--server-option=++__<option>__:: +`--server-option=<option>`:: Transmit the given string to the server when communicating using protocol version 2. The given string must not contain a NUL or LF character. The server's handling of server options, including unknown ones, is server-specific. - When multiple ++--server-option=++__<option>__ are given, they are all + When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line. + When no ++--server-option=++__<option>__ is given from the command + line, the values of configuration variable `remote.<name>.serverOption` + are used instead. `-n`:: `--no-checkout`:: - No checkout of HEAD is performed after the clone is complete. + No checkout of `HEAD` is performed after the clone is complete. `--`[`no-`]`reject-shallow`:: Fail if the source repository is a shallow repository. @@ -162,7 +168,7 @@ objects from the source repository into a pack in the cloned repository. `--bare`:: Make a 'bare' Git repository. That is, instead of creating _<directory>_ and placing the administrative - files in _<directory>_`/.git`, make the _<directory>_ + files in `<directory>/.git`, make the _<directory>_ itself the `$GIT_DIR`. This obviously implies the `--no-checkout` because there is nowhere to check out the working tree. Also the branch heads at the remote are copied directly @@ -177,13 +183,13 @@ objects from the source repository into a pack in the cloned repository. linkgit:git-sparse-checkout[1] command can be used to grow the working directory as needed. -++--filter=++__<filter-spec>__:: +`--filter=<filter-spec>`:: Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter. When using `--filter`, the supplied _<filter-spec>_ is used for the partial clone filter. For example, `--filter=blob:none` will filter out all blobs (file contents) until needed by Git. Also, - ++--filter=blob:limit=++__<size>__ will filter out all blobs of size + `--filter=blob:limit=<size>` will filter out all blobs of size at least _<size>_. For more details on filter specifications, see the `--filter` option in linkgit:git-rev-list[1]. @@ -208,25 +214,34 @@ objects from the source repository into a pack in the cloned repository. `-b` _<name>_:: `--branch` _<name>_:: - Instead of pointing the newly created HEAD to the branch pointed - to by the cloned repository's HEAD, point to _<name>_ branch + Instead of pointing the newly created `HEAD` to the branch pointed + to by the cloned repository's `HEAD`, point to _<name>_ branch instead. In a non-bare repository, this is the branch that will be checked out. - `--branch` can also take tags and detaches the HEAD at that commit + `--branch` can also take tags and detaches the `HEAD` at that commit in the resulting repository. +`--revision=<rev>`:: + Create a new repository, and fetch the history leading to the given + revision _<rev>_ (and nothing else), without making any remote-tracking + branch, and without making any local branch, and detach `HEAD` to + _<rev>_. The argument can be a ref name (e.g. `refs/heads/main` or + `refs/tags/v1.0`) that peels down to a commit, or a hexadecimal object + name. + This option is incompatible with `--branch` and `--mirror`. + `-u` _<upload-pack>_:: `--upload-pack` _<upload-pack>_:: When given, and the repository to clone from is accessed via ssh, this specifies a non-default path for the command run on the other end. -++--template=++__<template-directory>__:: +`--template=<template-directory>`:: Specify the directory from which templates will be used; (See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].) -`-c` __<key>__++=++__<value>__:: -`--config` __<key>__++=++__<value>__:: +`-c` `<key>=<value>`:: +`--config` `<key>=<value>`:: Set a configuration variable in the newly-created repository; this takes effect immediately after the repository is initialized, but before the remote history is fetched or any @@ -239,25 +254,25 @@ objects from the source repository into a pack in the cloned repository. Due to limitations of the current implementation, some configuration variables do not take effect until after the initial fetch and checkout. Configuration variables known to not take effect are: -++remote.++__<name>__++.mirror++ and ++remote.++__<name>__++.tagOpt++. Use the +`remote.<name>.mirror` and `remote.<name>.tagOpt`. Use the corresponding `--mirror` and `--no-tags` options instead. -`--depth` _<depth>_:: +`--depth <depth>`:: Create a 'shallow' clone with a history truncated to the specified number of commits. Implies `--single-branch` unless `--no-single-branch` is given to fetch the histories near the tips of all branches. If you want to clone submodules shallowly, also pass `--shallow-submodules`. -++--shallow-since=++__<date>__:: +`--shallow-since=<date>`:: Create a shallow clone with a history after the specified time. -++--shallow-exclude=++__<revision>__:: +`--shallow-exclude=<ref>`:: Create a shallow clone with a history, excluding commits reachable from a specified remote branch or tag. This option can be specified multiple times. -`--`[`no-`]`single-branch`:: +`--[no-]single-branch`:: Clone only the history leading to the tip of a single branch, either specified by the `--branch` option or the primary branch remote's `HEAD` points at. @@ -267,25 +282,28 @@ corresponding `--mirror` and `--no-tags` options instead. branch when `--single-branch` clone was made, no remote-tracking branch is created. -`--no-tags`:: - Don't clone any tags, and set - `remote.<remote>.tagOpt=--no-tags` in the config, ensuring - that future `git pull` and `git fetch` operations won't follow - any tags. Subsequent explicit tag fetches will still work, - (see linkgit:git-fetch[1]). +`--[no-]tags`:: + Control whether or not tags will be cloned. When `--no-tags` is + given, the option will be become permanent by setting the + `remote.<remote>.tagOpt=--no-tags` configuration. This ensures that + future `git pull` and `git fetch` won't follow any tags. Subsequent + explicit tag fetches will still work (see linkgit:git-fetch[1]). ++ +By default, tags are cloned and passing `--tags` is thus typically a +no-op, unless it cancels out a previous `--no-tags`. + Can be used in conjunction with `--single-branch` to clone and maintain a branch with no references other than a single cloned branch. This is useful e.g. to maintain minimal clones of the default branch of some repository for search indexing. -`--recurse-submodules`[`=`{empty}__<pathspec>__]:: +`--recurse-submodules[=<pathspec>]`:: After the clone is created, initialize and clone submodules - within based on the provided _<pathspec>_. If no _=<pathspec>_ is + within based on the provided _<pathspec>_. If no `=<pathspec>` is provided, all submodules are initialized and cloned. This option can be given multiple times for pathspecs consisting of multiple entries. The resulting clone has `submodule.active` set to - the provided pathspec, or "." (meaning all submodules) if no + the provided pathspec, or "`.`" (meaning all submodules) if no pathspec is provided. + Submodules are initialized and cloned using their default settings. This is @@ -295,27 +313,27 @@ the clone is finished. This option is ignored if the cloned repository does not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`, or `--mirror` is given) -`--`[`no-`]`shallow-submodules`:: +`--[no-]shallow-submodules`:: All submodules which are cloned will be shallow with a depth of 1. -`--`[`no-`]`remote-submodules`:: +`--[no-]remote-submodules`:: All submodules which are cloned will use the status of the submodule's remote-tracking branch to update the submodule, rather than the superproject's recorded SHA-1. Equivalent to passing `--remote` to `git submodule update`. -`--separate-git-dir=`{empty}__<git-dir>__:: +`--separate-git-dir=<git-dir>`:: Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, then make a filesystem-agnostic Git symbolic link to there. The result is Git repository can be separated from working tree. -`--ref-format=`{empty}__<ref-format>__:: +`--ref-format=<ref-format>`:: Specify the given ref storage format for the repository. The valid values are: + -include::ref-storage-format.txt[] +include::ref-storage-format.adoc[] `-j` _<n>_:: `--jobs` _<n>_:: @@ -334,7 +352,7 @@ _<directory>_:: for `host.xz:foo/.git`). Cloning into an existing directory is only allowed if the directory is empty. -`--bundle-uri=`{empty}__<uri>__:: +`--bundle-uri=<uri>`:: Before fetching from the remote, fetch a bundle from the given _<uri>_ and unbundle the data into the local repository. The refs in the bundle will be stored under the hidden `refs/bundle/*` @@ -342,7 +360,7 @@ _<directory>_:: `--shallow-since`, and `--shallow-exclude`. :git-clone: 1 -include::urls.txt[] +include::urls.adoc[] EXAMPLES -------- @@ -381,14 +399,20 @@ $ cd my-linux $ git clone --bare -l /home/proj/.git /pub/scm/proj.git ------------ +* Clone a local repository from a different user: ++ +------------ +$ git clone --no-local /home/otheruser/proj.git /pub/scm/proj.git +------------ + CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/init.txt[] +include::config/init.adoc[] -include::config/clone.txt[] +include::config/clone.adoc[] GIT diff --git a/Documentation/git-column.txt b/Documentation/git-column.adoc index 18431647a2..8e0047214d 100644 --- a/Documentation/git-column.txt +++ b/Documentation/git-column.adoc @@ -50,6 +50,7 @@ EXAMPLES -------- Format data by columns: + ------------ $ seq 1 24 | git column --mode=column --padding=5 1 4 7 10 13 16 19 22 @@ -58,6 +59,7 @@ $ seq 1 24 | git column --mode=column --padding=5 ------------ Format data by rows: + ------------ $ seq 1 21 | git column --mode=row --padding=5 1 2 3 4 5 6 7 @@ -66,6 +68,7 @@ $ seq 1 21 | git column --mode=row --padding=5 ------------ List some tags in a table with unequal column widths: + ------------ $ git tag --list 'v2.4.*' --column=row,dense v2.4.0 v2.4.0-rc0 v2.4.0-rc1 v2.4.0-rc2 v2.4.0-rc3 @@ -77,9 +80,9 @@ v2.4.8 v2.4.9 CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/column.txt[] +include::config/column.adoc[] GIT --- diff --git a/Documentation/git-commit-graph.txt b/Documentation/git-commit-graph.adoc index 903b16830e..50b5016804 100644 --- a/Documentation/git-commit-graph.txt +++ b/Documentation/git-commit-graph.adoc @@ -148,9 +148,9 @@ $ git rev-parse HEAD | git commit-graph write --stdin-commits --append CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/commitgraph.txt[] +include::config/commitgraph.adoc[] FILE FORMAT diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.adoc index 2e2c581098..6472921e14 100644 --- a/Documentation/git-commit-tree.txt +++ b/Documentation/git-commit-tree.adoc @@ -80,12 +80,12 @@ A commit comment is read from stdin. If a changelog entry is not provided via "<" redirection, 'git commit-tree' will just wait for one to be entered and terminated with ^D. -include::date-formats.txt[] +include::date-formats.adoc[] Discussion ---------- -include::i18n.txt[] +include::i18n.adoc[] FILES ----- diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.adoc index c822113c11..dc219025f1 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.adoc @@ -7,8 +7,8 @@ git-commit - Record changes to the repository SYNOPSIS -------- -[verse] -'git commit' [-a | --interactive | --patch] [-s] [-v] [-u<mode>] [--amend] +[synopsis] +git commit [-a | --interactive | --patch] [-s] [-v] [-u[<mode>]] [--amend] [--dry-run] [(-c | -C | --squash) <commit> | --fixup [(amend|reword):]<commit>] [-F <file> | -m <msg>] [--reset-author] [--allow-empty] [--allow-empty-message] [--no-verify] [-e] [--author=<author>] @@ -23,31 +23,31 @@ Create a new commit containing the current contents of the index and the given log message describing the changes. The new commit is a direct child of HEAD, usually the tip of the current branch, and the branch is updated to point to it (unless no branch is associated with -the working tree, in which case HEAD is "detached" as described in +the working tree, in which case `HEAD` is "detached" as described in linkgit:git-checkout[1]). The content to be committed can be specified in several ways: 1. by using linkgit:git-add[1] to incrementally "add" changes to the - index before using the 'commit' command (Note: even modified files + index before using the `commit` command (Note: even modified files must be "added"); 2. by using linkgit:git-rm[1] to remove files from the working tree - and the index, again before using the 'commit' command; + and the index, again before using the `commit` command; -3. by listing files as arguments to the 'commit' command - (without --interactive or --patch switch), in which +3. by listing files as arguments to the `commit` command + (without `--interactive` or `--patch` switch), in which case the commit will ignore changes staged in the index, and instead record the current content of the listed files (which must already be known to Git); -4. by using the -a switch with the 'commit' command to automatically +4. by using the `-a` switch with the `commit` command to automatically "add" changes from all known files (i.e. all files that are already listed in the index) and to automatically "rm" files in the index that have been removed from the working tree, and then perform the actual commit; -5. by using the --interactive or --patch switches with the 'commit' command +5. by using the `--interactive` or `--patch` switches with the `commit` command to decide one by one which files or hunks should be part of the commit in addition to contents in the index, before finalizing the operation. See the ``Interactive Mode'' section of @@ -58,139 +58,139 @@ summary of what is included by any of the above for the next commit by giving the same set of parameters (options and paths). If you make a commit and then find a mistake immediately after -that, you can recover from it with 'git reset'. +that, you can recover from it with `git reset`. :git-commit: 1 OPTIONS ------- --a:: ---all:: - Tell the command to automatically stage files that have +`-a`:: +`--all`:: + Automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected. --p:: ---patch:: +`-p`:: +`--patch`:: Use the interactive patch selection interface to choose which changes to commit. See linkgit:git-add[1] for details. --C <commit>:: ---reuse-message=<commit>:: - Take an existing commit object, and reuse the log message +`-C <commit>`:: +`--reuse-message=<commit>`:: + Take an existing _<commit>_ object, and reuse the log message and the authorship information (including the timestamp) when creating the commit. --c <commit>:: ---reedit-message=<commit>:: - Like '-C', but with `-c` the editor is invoked, so that +`-c <commit>`:: +`--reedit-message=<commit>`:: + Like `-C`, but with `-c` the editor is invoked, so that the user can further edit the commit message. ---fixup=[(amend|reword):]<commit>:: - Create a new commit which "fixes up" `<commit>` when applied with +`--fixup=[(amend|reword):]<commit>`:: + Create a new commit which "fixes up" _<commit>_ when applied with `git rebase --autosquash`. Plain `--fixup=<commit>` creates a - "fixup!" commit which changes the content of `<commit>` but leaves + "fixup!" commit which changes the content of _<commit>_ but leaves its log message untouched. `--fixup=amend:<commit>` is similar but creates an "amend!" commit which also replaces the log message of - `<commit>` with the log message of the "amend!" commit. + _<commit>_ with the log message of the "amend!" commit. `--fixup=reword:<commit>` creates an "amend!" commit which - replaces the log message of `<commit>` with its own log message - but makes no changes to the content of `<commit>`. + replaces the log message of _<commit>_ with its own log message + but makes no changes to the content of _<commit>_. + -The commit created by plain `--fixup=<commit>` has a subject -composed of "fixup!" followed by the subject line from <commit>, +The commit created by plain `--fixup=<commit>` has a title +composed of "fixup!" followed by the title of _<commit>_, and is recognized specially by `git rebase --autosquash`. The `-m` option may be used to supplement the log message of the created commit, but the additional commentary will be thrown away once the -"fixup!" commit is squashed into `<commit>` by +"fixup!" commit is squashed into _<commit>_ by `git rebase --autosquash`. + The commit created by `--fixup=amend:<commit>` is similar but its -subject is instead prefixed with "amend!". The log message of -<commit> is copied into the log message of the "amend!" commit and +title is instead prefixed with "amend!". The log message of +_<commit>_ is copied into the log message of the "amend!" commit and opened in an editor so it can be refined. When `git rebase ---autosquash` squashes the "amend!" commit into `<commit>`, the -log message of `<commit>` is replaced by the refined log message +--autosquash` squashes the "amend!" commit into _<commit>_, the +log message of _<commit>_ is replaced by the refined log message from the "amend!" commit. It is an error for the "amend!" commit's log message to be empty unless `--allow-empty-message` is specified. + `--fixup=reword:<commit>` is shorthand for `--fixup=amend:<commit> ---only`. It creates an "amend!" commit with only a log message + --only`. It creates an "amend!" commit with only a log message (ignoring any changes staged in the index). When squashed by `git -rebase --autosquash`, it replaces the log message of `<commit>` +rebase --autosquash`, it replaces the log message of _<commit>_ without making any other changes. + Neither "fixup!" nor "amend!" commits change authorship of -`<commit>` when applied by `git rebase --autosquash`. +_<commit>_ when applied by `git rebase --autosquash`. See linkgit:git-rebase[1] for details. ---squash=<commit>:: - Construct a commit message for use with `rebase --autosquash`. - The commit message subject line is taken from the specified +`--squash=<commit>`:: + Construct a commit message for use with `git rebase --autosquash`. + The commit message title is taken from the specified commit with a prefix of "squash! ". Can be used with additional commit message options (`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details. ---reset-author:: - When used with -C/-c/--amend options, or when committing after a +`--reset-author`:: + When used with `-C`/`-c`/`--amend` options, or when committing after a conflicting cherry-pick, declare that the authorship of the resulting commit now belongs to the committer. This also renews the author timestamp. ---short:: +`--short`:: When doing a dry-run, give the output in the short-format. See linkgit:git-status[1] for details. Implies `--dry-run`. ---branch:: +`--branch`:: Show the branch and tracking info even in short-format. ---porcelain:: +`--porcelain`:: When doing a dry-run, give the output in a porcelain-ready format. See linkgit:git-status[1] for details. Implies `--dry-run`. ---long:: +`--long`:: When doing a dry-run, give the output in the long-format. Implies `--dry-run`. --z:: ---null:: +`-z`:: +`--null`:: When showing `short` or `porcelain` status output, print the - filename verbatim and terminate the entries with NUL, instead of LF. + filename verbatim and terminate the entries with _NUL_, instead of _LF_. If no format is given, implies the `--porcelain` output format. Without the `-z` option, filenames with "unusual" characters are quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). --F <file>:: ---file=<file>:: - Take the commit message from the given file. Use '-' to +`-F <file>`:: +`--file=<file>`:: + Take the commit message from _<file>_. Use '-' to read the message from the standard input. ---author=<author>:: +`--author=<author>`:: Override the commit author. Specify an explicit author using the - standard `A U Thor <author@example.com>` format. Otherwise <author> + standard `A U Thor <author@example.com>` format. Otherwise _<author>_ is assumed to be a pattern and is used to search for an existing - commit by that author (i.e. rev-list --all -i --author=<author>); + commit by that author (i.e. `git rev-list --all -i --author=<author>`); the commit author is then copied from the first such commit found. ---date=<date>:: +`--date=<date>`:: Override the author date used in the commit. --m <msg>:: ---message=<msg>:: - Use the given <msg> as the commit message. +`-m <msg>`:: +`--message=<msg>`:: + Use _<msg>_ as the commit message. If multiple `-m` options are given, their values are concatenated as separate paragraphs. + The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`. --t <file>:: ---template=<file>:: +`-t <file>`:: +`--template=<file>`:: When editing the commit message, start the editor with the - contents in the given file. The `commit.template` configuration + contents in _<file>_. The `commit.template` configuration variable is often used to give this option implicitly to the command. This mechanism can be used by projects that want to guide participants with some hints on what to write in the message @@ -198,58 +198,56 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`. message, the commit is aborted. This has no effect when a message is given by other means, e.g. with the `-m` or `-F` options. -include::signoff-option.txt[] +include::signoff-option.adoc[] ---trailer <token>[(=|:)<value>]:: - Specify a (<token>, <value>) pair that should be applied as a +`--trailer <token>[(=|:)<value>]`:: + Specify a (_<token>_, _<value>_) pair that should be applied as a trailer. (e.g. `git commit --trailer "Signed-off-by:C O Mitter \ <committer@example.com>" --trailer "Helped-by:C O Mitter \ - <committer@example.com>"` will add the "Signed-off-by" trailer - and the "Helped-by" trailer to the commit message.) + <committer@example.com>"` will add the `Signed-off-by` trailer + and the `Helped-by` trailer to the commit message.) The `trailer.*` configuration variables (linkgit:git-interpret-trailers[1]) can be used to define if a duplicated trailer is omitted, where in the run of trailers each trailer would appear, and other details. --n:: ---[no-]verify:: - By default, the pre-commit and commit-msg hooks are run. - When any of `--no-verify` or `-n` is given, these are bypassed. +`-n`:: +`--[no-]verify`:: + Bypass the `pre-commit` and `commit-msg` hooks. See also linkgit:githooks[5]. ---allow-empty:: +`--allow-empty`:: Usually recording a commit that has the exact same tree as its sole parent commit is a mistake, and the command prevents you from making such a commit. This option bypasses the safety, and is primarily for use by foreign SCM interface scripts. ---allow-empty-message:: - Like --allow-empty this command is primarily for use by foreign - SCM interface scripts. It allows you to create a commit with an - empty commit message without using plumbing commands like - linkgit:git-commit-tree[1]. +`--allow-empty-message`:: + Create a commit with an empty commit message without using plumbing + commands like linkgit:git-commit-tree[1]. Like `--allow-empty`, this + command is primarily for use by foreign SCM interface scripts. ---cleanup=<mode>:: - This option determines how the supplied commit message should be +`--cleanup=<mode>`:: + Determine how the supplied commit message should be cleaned up before committing. The '<mode>' can be `strip`, `whitespace`, `verbatim`, `scissors` or `default`. + -- -strip:: +`strip`:: Strip leading and trailing empty lines, trailing whitespace, commentary and collapse consecutive empty lines. -whitespace:: +`whitespace`:: Same as `strip` except #commentary is not removed. -verbatim:: +`verbatim`:: Do not change the message at all. -scissors:: +`scissors`:: Same as `whitespace` except that everything from (and including) the line found below is truncated, if the message is to be edited. - "`#`" can be customized with core.commentChar. + "`#`" can be customized with `core.commentChar`. # ------------------------ >8 ------------------------ -default:: +`default`:: Same as `strip` if the message is to be edited. Otherwise `whitespace`. -- @@ -257,19 +255,18 @@ default:: The default can be changed by the `commit.cleanup` configuration variable (see linkgit:git-config[1]). --e:: ---edit:: - The message taken from file with `-F`, command line with - `-m`, and from commit object with `-C` are usually used as - the commit log message unmodified. This option lets you - further edit the message taken from these sources. +`-e`:: +`--edit`:: + Let the user further edit the message taken from _<file>_ + with `-F <file>`, command line with `-m <message>`, and + from _<commit>_ with `-C <commit>`. ---no-edit:: +`--no-edit`:: Use the selected commit message without launching an editor. For example, `git commit --amend --no-edit` amends a commit without changing its commit message. ---amend:: +`--amend`:: Replace the tip of the current branch by creating a new commit. The recorded tree is prepared as usual (including the effect of the `-i` and `-o` options and explicit @@ -295,23 +292,23 @@ You should understand the implications of rewriting history if you amend a commit that has already been published. (See the "RECOVERING FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].) ---no-post-rewrite:: - Bypass the post-rewrite hook. +`--no-post-rewrite`:: + Bypass the `post-rewrite` hook. --i:: ---include:: +`-i`:: +`--include`:: Before making a commit out of staged contents so far, stage the contents of paths given on the command line as well. This is usually not what you want unless you are concluding a conflicted merge. --o:: ---only:: +`-o`:: +`--only`:: Make a commit by taking the updated working tree contents of the paths specified on the command line, disregarding any contents that have been staged for other paths. This is the default mode of operation of - 'git commit' if any paths are given on the command line, + `git commit` if any paths are given on the command line, in which case this option can be omitted. If this option is specified together with `--amend`, then no paths need to be specified, which can be used to amend @@ -319,48 +316,48 @@ FROM UPSTREAM REBASE" section in linkgit:git-rebase[1].) already been staged. If used together with `--allow-empty` paths are also not required, and an empty commit will be created. ---pathspec-from-file=<file>:: - Pathspec is passed in `<file>` instead of commandline args. If - `<file>` is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be +`--pathspec-from-file=<file>`:: + Pass pathspec in _<file>_ instead of commandline args. If + _<file>_ is exactly `-` then standard input is used. Pathspec + elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). --u[<mode>]:: ---untracked-files[=<mode>]:: +`-u[<mode>]`:: +`--untracked-files[=<mode>]`:: Show untracked files. + -- -The mode parameter is optional (defaults to 'all'), and is used to -specify the handling of untracked files; when -u is not used, the -default is 'normal', i.e. show untracked files and directories. +The _<mode>_ parameter is optional (defaults to `all`), and is used to +specify the handling of untracked files; when `-u` is not used, the +default is `normal`, i.e. show untracked files and directories. The possible options are: - - 'no' - Show no untracked files - - 'normal' - Shows untracked files and directories - - 'all' - Also shows individual files in untracked directories. +`no`:: Show no untracked files +`normal`:: Shows untracked files and directories +`all`:: Also shows individual files in untracked directories. All usual spellings for Boolean value `true` are taken as `normal` and `false` as `no`. -The default can be changed using the status.showUntrackedFiles +The default can be changed using the `status.showUntrackedFiles` configuration variable documented in linkgit:git-config[1]. -- --v:: ---verbose:: - Show unified diff between the HEAD commit and what +`-v`:: +`--verbose`:: + Show unified diff between the `HEAD` commit and what would be committed at the bottom of the commit message template to help the user describe the commit by reminding what changes the commit has. Note that this diff output doesn't have its - lines prefixed with '#'. This diff will not be a part + lines prefixed with `#`. This diff will not be a part of the commit message. See the `commit.verbose` configuration variable in linkgit:git-config[1]. + @@ -368,40 +365,40 @@ If specified twice, show in addition the unified diff between what would be committed and the worktree files, i.e. the unstaged changes to tracked files. --q:: ---quiet:: +`-q`:: +`--quiet`:: Suppress commit summary message. ---dry-run:: +`--dry-run`:: Do not create a commit, but show a list of paths that are to be committed, paths with local changes that will be left uncommitted and paths that are untracked. ---status:: +`--status`:: Include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the commit message. Defaults to on, but can be used to override - configuration variable commit.status. + configuration variable `commit.status`. ---no-status:: +`--no-status`:: Do not include the output of linkgit:git-status[1] in the commit message template when using an editor to prepare the default commit message. --S[<keyid>]:: ---gpg-sign[=<keyid>]:: ---no-gpg-sign:: - GPG-sign commits. The `keyid` argument is optional and +`-S[<key-id>]`:: +`--gpg-sign[=<key-id>]`:: +`--no-gpg-sign`:: + GPG-sign commits. The _<key-id>_ is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`. -\--:: +`--`:: Do not interpret any more arguments as options. -<pathspec>...:: - When pathspec is given on the command line, commit the contents of +`<pathspec>...`:: + When _<pathspec>_ is given on the command line, commit the contents of the files that match the pathspec without recording the changes already added to the index. The contents of these files are also staged for the next commit on top of what have been staged before. @@ -412,10 +409,10 @@ EXAMPLES -------- When recording your own work, the contents of modified files in your working tree are temporarily stored to a staging area -called the "index" with 'git add'. A file can be +called the "index" with `git add`. A file can be reverted back, only in the index but not in the working tree, to that of the last commit with `git restore --staged <file>`, -which effectively reverts 'git add' and prevents the changes to +which effectively reverts `git add` and prevents the changes to this file from participating in the next commit. After building the state to be committed incrementally with these commands, `git commit` (without any pathname parameter) is used to record what @@ -443,7 +440,7 @@ $ git commit -a ------------ The command `git commit -a` first looks at your working tree, -notices that you have modified hello.c and removed goodbye.c, +notices that you have modified `hello.c` and removed `goodbye.c`, and performs necessary `git add` and `git rm` for you. After staging changes to many files, you can alter the order the @@ -471,13 +468,13 @@ $ git commit this second commit would record the changes to `hello.c` and `hello.h` as expected. -After a merge (initiated by 'git merge' or 'git pull') stops +After a merge (initiated by `git merge` or `git pull`) stops because of conflicts, cleanly merged paths are already staged to be committed for you, and paths that conflicted are left in unmerged state. You would have to first -check which paths are conflicting with 'git status' +check which paths are conflicting with `git status` and after fixing them manually in your working tree, you would -stage the result as usual with 'git add': +stage the result as usual with `git add`: ------------ $ git status | grep unmerged @@ -507,12 +504,12 @@ COMMIT INFORMATION Author and committer information is taken from the following environment variables, if set: - GIT_AUTHOR_NAME - GIT_AUTHOR_EMAIL - GIT_AUTHOR_DATE - GIT_COMMITTER_NAME - GIT_COMMITTER_EMAIL - GIT_COMMITTER_DATE + * `GIT_AUTHOR_NAME` + * `GIT_AUTHOR_EMAIL` + * `GIT_AUTHOR_DATE` + * `GIT_COMMITTER_NAME` + * `GIT_COMMITTER_EMAIL` + * `GIT_COMMITTER_DATE` (nb "<", ">" and "\n"s are stripped) @@ -524,7 +521,7 @@ that, see the `credential.username` variable in linkgit:git-config[1]. In case (some of) these environment variables are not set, the information is taken from the configuration items `user.name` and `user.email`, or, if not -present, the environment variable EMAIL, or, if that is not set, +present, the environment variable `EMAIL`, or, if that is not set, system user name and the hostname used for outgoing mail (taken from `/etc/mailname` and falling back to the fully qualified hostname when that file does not exist). @@ -537,7 +534,7 @@ The typical usage is to set just the `user.name` and `user.email` variables; the other options are provided for more complex use cases. :git-commit: 1 -include::date-formats.txt[] +include::date-formats.adoc[] DISCUSSION ---------- @@ -550,18 +547,18 @@ as the commit title, and that title is used throughout Git. For example, linkgit:git-format-patch[1] turns a commit into email, and it uses the title on the Subject line and the rest of the commit in the body. -include::i18n.txt[] +include::i18n.adoc[] ENVIRONMENT AND CONFIGURATION VARIABLES --------------------------------------- The editor used to edit the commit log message will be chosen from the -`GIT_EDITOR` environment variable, the core.editor configuration variable, the +`GIT_EDITOR` environment variable, the `core.editor` configuration variable, the `VISUAL` environment variable, or the `EDITOR` environment variable (in that order). See linkgit:git-var[1] for details. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/commit.txt[] +include::config/commit.adoc[] HOOKS ----- diff --git a/Documentation/git-config.txt b/Documentation/git-config.adoc index 3e420177c1..511b2e26bf 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.adoc @@ -10,9 +10,9 @@ SYNOPSIS -------- [verse] 'git config list' [<file-option>] [<display-option>] [--includes] -'git config get' [<file-option>] [<display-option>] [--includes] [--all] [--regexp] [--value=<value>] [--fixed-value] [--default=<default>] <name> -'git config set' [<file-option>] [--type=<type>] [--all] [--value=<value>] [--fixed-value] <name> <value> -'git config unset' [<file-option>] [--all] [--value=<value>] [--fixed-value] <name> +'git config get' [<file-option>] [<display-option>] [--includes] [--all] [--regexp] [--value=<pattern>] [--fixed-value] [--default=<default>] [--url=<url>] <name> +'git config set' [<file-option>] [--type=<type>] [--all] [--value=<pattern>] [--fixed-value] <name> <value> +'git config unset' [<file-option>] [--all] [--value=<pattern>] [--fixed-value] <name> 'git config rename-section' [<file-option>] <old-name> <new-name> 'git config remove-section' [<file-option>] <name> 'git config edit' [<file-option>] @@ -26,7 +26,7 @@ escaped. Multiple lines can be added to an option by using the `--append` option. If you want to update or unset an option which can occur on multiple -lines, a `value-pattern` (which is an extended regular expression, +lines, `--value=<pattern>` (which is an extended regular expression, unless the `--fixed-value` option is given) needs to be given. Only the existing values that match the pattern are updated or unset. If you want to handle the lines that do *not* match the pattern, just @@ -109,7 +109,7 @@ OPTIONS --replace-all:: Default behavior is to replace at most one line. This replaces - all lines matching the key (and optionally the `value-pattern`). + all lines matching the key (and optionally `--value=<pattern>`). --append:: Adds a new line to the option without altering any existing @@ -200,11 +200,19 @@ See also <<FILES>>. section in linkgit:gitrevisions[7] for a more complete list of ways to spell blob names. +`--value=<pattern>`:: +`--no-value`:: + With `get`, `set`, and `unset`, match only against + _<pattern>_. The pattern is an extended regular expression unless + `--fixed-value` is given. ++ +Use `--no-value` to unset _<pattern>_. + --fixed-value:: - When used with the `value-pattern` argument, treat `value-pattern` as + When used with `--value=<pattern>`, treat _<pattern>_ as an exact string instead of a regular expression. This will restrict the name/value pairs that are matched to only those where the value - is exactly equal to the `value-pattern`. + is exactly equal to _<pattern>_. --type <type>:: 'git config' will ensure that any input or output is valid under the given @@ -213,7 +221,9 @@ See also <<FILES>>. + Valid `<type>`'s include: + -- 'bool': canonicalize values as either "true" or "false". +- 'bool': canonicalize values `true`, `yes`,`on`, and positive + numbers as "true", and values `false`, `no`, `off` and `0` as + "false". - 'int': canonicalize values as simple decimal numbers. An optional suffix of 'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or 1073741824 upon input. @@ -257,6 +267,12 @@ Valid `<type>`'s include: Output only the names of config variables for `list` or `get`. +`--show-names`:: +`--no-show-names`:: + With `get`, show config keys in addition to their values. The + default is `--no-show-names` unless `--url` is given and there + are no subsections in _<name>_. + --show-origin:: Augment the output of all queried config options with the origin type (file, standard input, blob, command line) and @@ -610,7 +626,7 @@ http.cookieFile /tmp/cookie.txt http.sslverify false ------------ -include::config.txt[] +include::config.adoc[] BUGS ---- diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.adoc index 97f9f12610..97f9f12610 100644 --- a/Documentation/git-count-objects.txt +++ b/Documentation/git-count-objects.adoc diff --git a/Documentation/git-credential-cache--daemon.txt b/Documentation/git-credential-cache--daemon.adoc index 650a15a7ed..650a15a7ed 100644 --- a/Documentation/git-credential-cache--daemon.txt +++ b/Documentation/git-credential-cache--daemon.adoc diff --git a/Documentation/git-credential-cache.txt b/Documentation/git-credential-cache.adoc index 487cc557a8..54fa7a27e1 100644 --- a/Documentation/git-credential-cache.txt +++ b/Documentation/git-credential-cache.adoc @@ -78,6 +78,23 @@ variable (this example increases the cache time to 1 hour): $ git config credential.helper 'cache --timeout=3600' ------------------------------------------------------- +PERSONAL ACCESS TOKENS +---------------------- + +Some remotes accept personal access tokens, which are randomly +generated and hard to memorise. They typically have a lifetime of weeks +or months. + +git-credential-cache is inherently unsuitable for persistent storage of +personal access tokens. The credential will be forgotten after the cache +timeout. Even if you configure a long timeout, credentials will be +forgotten if the daemon dies. + +To avoid frequently regenerating personal access tokens, configure a +credential helper with persistent storage. Alternatively, configure an +OAuth credential helper to generate credentials automatically. See +linkgit:gitcredentials[7], sections "Available helpers" and "OAuth". + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-credential-store.txt b/Documentation/git-credential-store.adoc index 71864a8726..71864a8726 100644 --- a/Documentation/git-credential-store.txt +++ b/Documentation/git-credential-store.adoc diff --git a/Documentation/git-credential.txt b/Documentation/git-credential.adoc index e41493292f..e41493292f 100644 --- a/Documentation/git-credential.txt +++ b/Documentation/git-credential.adoc diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.adoc index 41c8a8a05c..41c8a8a05c 100644 --- a/Documentation/git-cvsexportcommit.txt +++ b/Documentation/git-cvsexportcommit.adoc diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.adoc index 90fdc2551a..90fdc2551a 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.adoc diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.adoc index 4c475efeab..fe822f571d 100644 --- a/Documentation/git-cvsserver.txt +++ b/Documentation/git-cvsserver.adoc @@ -125,9 +125,11 @@ creation in your platform (e.g. mkpasswd in Linux, encrypt in OpenBSD or pwhash in NetBSD) and paste it in the right location. Then provide your password via the pserver method, for example: + ------ cvs -d:pserver:someuser:somepassword@server:/path/repo.git co <HEAD_name> ------ + No special setup is needed for SSH access, other than having Git tools in the PATH. If you have clients that do not accept the CVS_SERVER environment variable, you can rename 'git-cvsserver' to `cvs`. @@ -138,6 +140,7 @@ CVS_SERVER directly in CVSROOT like ------ cvs -d ":ext;CVS_SERVER=git cvsserver:user@server/path/repo.git" co <HEAD_name> ------ + This has the advantage that it will be saved in your 'CVS/Root' files and you don't need to worry about always setting the correct environment variable. SSH users restricted to 'git-shell' don't need to override the default @@ -168,6 +171,7 @@ All configuration variables can also be overridden for a specific method of access. Valid method names are "ext" (for SSH access) and "pserver". The following example configuration would disable pserver access while still allowing access over SSH. + ------ [gitcvs] enabled=0 diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.adoc index ede7b935d6..99389f0388 100644 --- a/Documentation/git-daemon.txt +++ b/Documentation/git-daemon.adoc @@ -7,21 +7,21 @@ git-daemon - A really simple server for Git repositories SYNOPSIS -------- -[verse] -'git daemon' [--verbose] [--syslog] [--export-all] - [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>] - [--strict-paths] [--base-path=<path>] [--base-path-relaxed] - [--user-path | --user-path=<path>] - [--interpolated-path=<pathtemplate>] - [--reuseaddr] [--detach] [--pid-file=<file>] - [--enable=<service>] [--disable=<service>] - [--allow-override=<service>] [--forbid-override=<service>] - [--access-hook=<path>] [--[no-]informative-errors] - [--inetd | - [--listen=<host-or-ipaddr>] [--port=<n>] - [--user=<user> [--group=<group>]]] - [--log-destination=(stderr|syslog|none)] - [<directory>...] +[synopsis] +git daemon [--verbose] [--syslog] [--export-all] + [--timeout=<n>] [--init-timeout=<n>] [--max-connections=<n>] + [--strict-paths] [--base-path=<path>] [--base-path-relaxed] + [--user-path | --user-path=<path>] + [--interpolated-path=<pathtemplate>] + [--reuseaddr] [--detach] [--pid-file=<file>] + [--enable=<service>] [--disable=<service>] + [--allow-override=<service>] [--forbid-override=<service>] + [--access-hook=<path>] [--[no-]informative-errors] + [--inetd | + [--listen=<host-or-ipaddr>] [--port=<n>] + [--user=<user> [--group=<group>]]] + [--log-destination=(stderr|syslog|none)] + [<directory>...] DESCRIPTION ----------- @@ -32,111 +32,111 @@ that service if it is enabled. It verifies that the directory has the magic file "git-daemon-export-ok", and it will refuse to export any Git directory that hasn't explicitly been marked for export this way (unless the `--export-all` parameter is specified). If you -pass some directory paths as 'git daemon' arguments, the offers are limited to +pass some directory paths as `git daemon` arguments, the offers are limited to repositories within those directories. By default, only `upload-pack` service is enabled, which serves -'git fetch-pack' and 'git ls-remote' clients, which are invoked -from 'git fetch', 'git pull', and 'git clone'. +`git fetch-pack` and `git ls-remote` clients, which are invoked +from `git fetch`, `git pull`, and `git clone`. This is ideally suited for read-only updates, i.e., pulling from Git repositories. -An `upload-archive` also exists to serve 'git archive'. +An `upload-archive` also exists to serve `git archive`. OPTIONS ------- ---strict-paths:: +`--strict-paths`:: Match paths exactly (i.e. don't allow "/foo/repo" when the real path is "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths. - 'git daemon' will refuse to start when this option is enabled and no + `git daemon` will refuse to start when this option is enabled and no directory arguments are provided. ---base-path=<path>:: +`--base-path=<path>`:: Remap all the path requests as relative to the given path. - This is sort of "Git root" - if you run 'git daemon' with - '--base-path=/srv/git' on example.com, then if you later try to pull - 'git://example.com/hello.git', 'git daemon' will interpret the path - as `/srv/git/hello.git`. - ---base-path-relaxed:: - If --base-path is enabled and repo lookup fails, with this option - 'git daemon' will attempt to lookup without prefixing the base path. - This is useful for switching to --base-path usage, while still + This is sort of "Git root" - if you run `git daemon` with + `--base-path=/srv/git` on `example.com`, then if you later try + to pull from `git://example.com/hello.git`, `git daemon` will + interpret the path as `/srv/git/hello.git`. + +`--base-path-relaxed`:: + If `--base-path` is enabled and repo lookup fails, with this option + `git daemon` will attempt to lookup without prefixing the base path. + This is useful for switching to `--base-path` usage, while still allowing the old paths. ---interpolated-path=<pathtemplate>:: +`--interpolated-path=<pathtemplate>`:: To support virtual hosting, an interpolated path template can be used to dynamically construct alternate paths. The template - supports %H for the target hostname as supplied by the client but - converted to all lowercase, %CH for the canonical hostname, - %IP for the server's IP address, %P for the port number, - and %D for the absolute path of the named repository. + supports `%H` for the target hostname as supplied by the client but + converted to all lowercase, `%CH` for the canonical hostname, + `%IP` for the server's IP address, `%P` for the port number, + and `%D` for the absolute path of the named repository. After interpolation, the path is validated against the directory list. ---export-all:: +`--export-all`:: Allow pulling from all directories that look like Git repositories (have the 'objects' and 'refs' subdirectories), even if they - do not have the 'git-daemon-export-ok' file. + do not have the `git-daemon-export-ok` file. ---inetd:: - Have the server run as an inetd service. Implies --syslog (may be - overridden with `--log-destination=`). - Incompatible with --detach, --port, --listen, --user and --group - options. +`--inetd`:: + Have the server run as an inetd service. Implies `--syslog` (may + be overridden with `--log-destination=`). + Incompatible with `--detach`, `--port`, `--listen`, `--user` and + `--group` options. ---listen=<host-or-ipaddr>:: +`--listen=<host-or-ipaddr>`:: Listen on a specific IP address or hostname. IP addresses can be either an IPv4 address or an IPv6 address if supported. If IPv6 - is not supported, then --listen=<hostname> is also not supported and - --listen must be given an IPv4 address. + is not supported, then `--listen=<hostname>` is also not supported + and `--listen` must be given an IPv4 address. Can be given more than once. Incompatible with `--inetd` option. ---port=<n>:: +`--port=<n>`:: Listen on an alternative port. Incompatible with `--inetd` option. ---init-timeout=<n>:: +`--init-timeout=<n>`:: Timeout (in seconds) between the moment the connection is established and the client request is received (typically a rather low value, since that should be basically immediate). ---timeout=<n>:: +`--timeout=<n>`:: Timeout (in seconds) for specific client sub-requests. This includes the time it takes for the server to process the sub-request and the time spent waiting for the next client's request. ---max-connections=<n>:: +`--max-connections=<n>`:: Maximum number of concurrent clients, defaults to 32. Set it to zero for no limit. ---syslog:: +`--syslog`:: Short for `--log-destination=syslog`. ---log-destination=<destination>:: +`--log-destination=<destination>`:: Send log messages to the specified destination. - Note that this option does not imply --verbose, + Note that this option does not imply `--verbose`, thus by default only error conditions will be logged. - The <destination> must be one of: + The _<destination>_ must be one of: + -- -stderr:: +`stderr`:: Write to standard error. Note that if `--detach` is specified, the process disconnects from the real standard error, making this destination effectively equivalent to `none`. -syslog:: +`syslog`:: Write to syslog, using the `git-daemon` identifier. -none:: +`none`:: Disable all logging. -- + The default destination is `syslog` if `--inetd` or `--detach` is specified, otherwise `stderr`. ---user-path:: ---user-path=<path>:: +`--user-path`:: +`--user-path=<path>`:: Allow {tilde}user notation to be used in requests. When specified with no parameter, a request to git://host/{tilde}alice/foo is taken as a request to access @@ -145,23 +145,23 @@ otherwise `stderr`. taken as a request to access `<path>/foo` repository in the home directory of user `alice`. ---verbose:: +`--verbose`:: Log details about the incoming connections and requested files. ---reuseaddr:: - Use SO_REUSEADDR when binding the listening socket. +`--reuseaddr`:: + Use `SO_REUSEADDR` when binding the listening socket. This allows the server to restart without waiting for old connections to time out. ---detach:: - Detach from the shell. Implies --syslog. +`--detach`:: + Detach from the shell. Implies `--syslog`. ---pid-file=<file>:: - Save the process id in 'file'. Ignored when the daemon +`--pid-file=<file>`:: + Save the process id in _<file>_. Ignored when the daemon is run under `--inetd`. ---user=<user>:: ---group=<group>:: +`--user=<user>`:: +`--group=<group>`:: Change daemon's uid and gid before entering the service loop. When only `--user` is given without `--group`, the primary group ID for the user is used. The values of @@ -170,43 +170,44 @@ otherwise `stderr`. + Giving these options is an error when used with `--inetd`; use the facility of inet daemon to achieve the same before spawning -'git daemon' if needed. +`git daemon` if needed. + Like many programs that switch user id, the daemon does not reset -environment variables such as `$HOME` when it runs git programs, +environment variables such as `HOME` when it runs git programs, e.g. `upload-pack` and `receive-pack`. When using this option, you may also want to set and export `HOME` to point at the home -directory of `<user>` before starting the daemon, and make sure any -Git configuration files in that directory are readable by `<user>`. +directory of _<user>_ before starting the daemon, and make sure any +Git configuration files in that directory are readable by _<user>_. ---enable=<service>:: ---disable=<service>:: +`--enable=<service>`:: +`--disable=<service>`:: Enable/disable the service site-wide per default. Note that a service disabled site-wide can still be enabled per repository if it is marked overridable and the repository enables the service with a configuration item. ---allow-override=<service>:: ---forbid-override=<service>:: +`--allow-override=<service>`:: +`--forbid-override=<service>`:: Allow/forbid overriding the site-wide default with per repository configuration. By default, all the services may be overridden. ---[no-]informative-errors:: +`--informative-errors`:: +`--no-informative-errors`:: When informative errors are turned on, git-daemon will report more verbose errors to the client, differentiating conditions like "no such repository" from "repository not exported". This is more convenient for clients, but may leak information about the existence of unexported repositories. When informative errors are not enabled, all errors report "access denied" to the - client. The default is --no-informative-errors. + client. The default is `--no-informative-errors`. ---access-hook=<path>:: +`--access-hook=<path>`:: Every time a client connects, first run an external command specified by the <path> with service name (e.g. "upload-pack"), - path to the repository, hostname (%H), canonical hostname - (%CH), IP address (%IP), and TCP port (%P) as its command-line + path to the repository, hostname (`%H`), canonical hostname + (`%CH`), IP address (`%IP`), and TCP port (`%P`) as its command-line arguments. The external command can decide to decline the service by exiting with a non-zero status (or to allow it by exiting with a zero status). It can also look at the $REMOTE_ADDR @@ -217,7 +218,7 @@ The external command can optionally write a single line to its standard output to be sent to the requestor as an error message when it declines the service. -<directory>:: +_<directory>_:: The remaining arguments provide a list of directories. If any directories are specified, then the `git-daemon` process will serve a requested directory only if it is contained in one of @@ -229,24 +230,24 @@ SERVICES These services can be globally enabled/disabled using the command-line options of this command. If finer-grained -control is desired (e.g. to allow 'git archive' to be run +control is desired (e.g. to allow `git archive` to be run against only in a few selected repositories the daemon serves), the per-repository configuration file can be used to enable or disable them. upload-pack:: - This serves 'git fetch-pack' and 'git ls-remote' + This serves `git fetch-pack` and `git ls-remote` clients. It is enabled by default, but a repository can disable it by setting `daemon.uploadpack` configuration item to `false`. upload-archive:: - This serves 'git archive --remote'. It is disabled by + This serves `git archive --remote`. It is disabled by default, but a repository can enable it by setting `daemon.uploadarch` configuration item to `true`. receive-pack:: - This serves 'git send-pack' clients, allowing anonymous + This serves `git send-pack` clients, allowing anonymous push. It is disabled by default, as there is _no_ authentication in the protocol (in other words, anybody can push anything into the repository, including removal @@ -300,7 +301,7 @@ default repository could be made as well. 'git daemon' as regular daemon for virtual hosts:: - To set up 'git daemon' as a regular, non-inetd service that + To set up `git daemon` as a regular, non-inetd service that handles repositories for multiple virtual hosts based on their IP addresses, start the daemon like this: + @@ -317,7 +318,7 @@ Repositories can still be accessed by hostname though, assuming they correspond to these IP addresses. selectively enable/disable services per repository:: - To enable 'git archive --remote' and disable 'git fetch' against + To enable `git archive --remote` and disable `git fetch` against a repository, have the following in the configuration file in the repository (that is the file 'config' next to `HEAD`, 'refs' and 'objects'). @@ -331,8 +332,8 @@ selectively enable/disable services per repository:: ENVIRONMENT ----------- -'git daemon' will set REMOTE_ADDR to the IP address of the client -that connected to it, if the IP address is available. REMOTE_ADDR will +`git daemon` will set `REMOTE_ADDR` to the IP address of the client +that connected to it, if the IP address is available. `REMOTE_ADDR` will be available in the environment of hooks called when services are performed. diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.adoc index 08ff715709..08ff715709 100644 --- a/Documentation/git-describe.txt +++ b/Documentation/git-describe.adoc diff --git a/Documentation/git-diagnose.txt b/Documentation/git-diagnose.adoc index 0711959e6f..0711959e6f 100644 --- a/Documentation/git-diagnose.txt +++ b/Documentation/git-diagnose.adoc diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.adoc index bf78e31431..2b2358ca1c 100644 --- a/Documentation/git-diff-files.txt +++ b/Documentation/git-diff-files.adoc @@ -20,7 +20,7 @@ same as for 'git diff-index' and 'git diff-tree'. OPTIONS ------- -include::diff-options.txt[] +include::diff-options.adoc[] -1 --base:: -2 --ours:: @@ -45,7 +45,7 @@ omit diff output for unmerged entries and just show "Unmerged". Remain silent even for nonexistent files -include::diff-format.txt[] +include::diff-format.adoc[] GIT --- diff --git a/Documentation/git-diff-index.txt b/Documentation/git-diff-index.adoc index 4de1d4c8f1..911446a296 100644 --- a/Documentation/git-diff-index.txt +++ b/Documentation/git-diff-index.adoc @@ -21,7 +21,7 @@ files are compared. OPTIONS ------- -include::diff-options.txt[] +include::diff-options.adoc[] <tree-ish>:: The id of a tree object to diff against. @@ -40,7 +40,7 @@ include::diff-options.txt[] 'git diff-index' say that all non-checked-out files are up to date. -include::diff-format.txt[] +include::diff-format.adoc[] OPERATING MODES --------------- diff --git a/Documentation/git-diff-pairs.adoc b/Documentation/git-diff-pairs.adoc new file mode 100644 index 0000000000..f99fcd1ead --- /dev/null +++ b/Documentation/git-diff-pairs.adoc @@ -0,0 +1,60 @@ +git-diff-pairs(1) +================= + +NAME +---- +git-diff-pairs - Compare the content and mode of provided blob pairs + +SYNOPSIS +-------- +[synopsis] +git diff-pairs -z [<diff-options>] + +DESCRIPTION +----------- +Show changes for file pairs provided on stdin. Input for this command must be +in the NUL-terminated raw output format as generated by commands such as `git +diff-tree -z -r --raw`. By default, the outputted diffs are computed and shown +in the patch format when stdin closes. + +A single NUL byte may be written to stdin between raw input lines to compute +file pair diffs up to that point instead of waiting for stdin to close. A NUL +byte is also written to the output to delimit between these batches of diffs. + +Usage of this command enables the traditional diff pipeline to be broken up +into separate stages where `diff-pairs` acts as the output phase. Other +commands, such as `diff-tree`, may serve as a frontend to compute the raw +diff format used as input. + +Instead of computing diffs via `git diff-tree -p -M` in one step, `diff-tree` +can compute the file pairs and rename information without the blob diffs. This +output can be fed to `diff-pairs` to generate the underlying blob diffs as done +in the following example: + +----------------------------- +git diff-tree -z -r -M $a $b | +git diff-pairs -z +----------------------------- + +Computing the tree diff upfront with rename information allows patch output +from `diff-pairs` to be progressively computed over the course of potentially +multiple invocations. + +Pathspecs are not currently supported by `diff-pairs`. Pathspec limiting should +be performed by the upstream command generating the raw diffs used as input. + +Tree objects are not currently supported as input and are rejected. + +Abbreviated object IDs in the `diff-pairs` input are not supported. Outputted +object IDs can be abbreviated using the `--abbrev` option. + +OPTIONS +------- + +include::diff-options.adoc[] + +include::diff-generate-patch.adoc[] + +GIT +--- +Part of the linkgit:git[1] suite diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.adoc index 09286a85eb..f1e3134bde 100644 --- a/Documentation/git-diff-tree.txt +++ b/Documentation/git-diff-tree.adoc @@ -24,7 +24,7 @@ Note that 'git diff-tree' can use the tree encapsulated in a commit object. OPTIONS ------- -include::diff-options.txt[] +include::diff-options.adoc[] <tree-ish>:: The id of a tree object. @@ -84,7 +84,7 @@ commits (but not trees). This flag causes 'git diff-tree --stdin' to also show the commit message before the differences. -include::pretty-options.txt[] +include::pretty-options.adoc[] --no-commit-id:: 'git diff-tree' outputs a line with the commit ID when @@ -122,9 +122,9 @@ include::pretty-options.txt[] if the diff itself is empty. -include::pretty-formats.txt[] +include::pretty-formats.adoc[] -include::diff-format.txt[] +include::diff-format.adoc[] GIT --- diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.adoc index c065f023ec..272331afba 100644 --- a/Documentation/git-diff.txt +++ b/Documentation/git-diff.adoc @@ -8,13 +8,13 @@ git-diff - Show changes between commits, commit and working tree, etc SYNOPSIS -------- -[verse] -'git diff' [<options>] [<commit>] [--] [<path>...] -'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<path>...] -'git diff' [<options>] [--merge-base] <commit> [<commit>...] <commit> [--] [<path>...] -'git diff' [<options>] <commit>...<commit> [--] [<path>...] -'git diff' [<options>] <blob> <blob> -'git diff' [<options>] --no-index [--] <path> <path> +[synopsis] +git diff [<options>] [<commit>] [--] [<path>...] +git diff [<options>] --cached [--merge-base] [<commit>] [--] [<path>...] +git diff [<options>] [--merge-base] <commit> [<commit>...] <commit> [--] [<path>...] +git diff [<options>] <commit>...<commit> [--] [<path>...] +git diff [<options>] <blob> <blob> +git diff [<options>] --no-index [--] <path> <path> [<pathspec>...] DESCRIPTION ----------- @@ -23,7 +23,7 @@ between the index and a tree, changes between two trees, changes resulting from a merge, changes between two blob objects, or changes between two files on disk. -'git diff' [<options>] [--] [<path>...]:: +`git diff [<options>] [--] [<path>...]`:: This form is to view the changes you made relative to the index (staging area for the next commit). In other @@ -31,91 +31,95 @@ files on disk. further add to the index but you still haven't. You can stage these changes by using linkgit:git-add[1]. -'git diff' [<options>] --no-index [--] <path> <path>:: +`git diff [<options>] --no-index [--] <path> <path> [<pathspec>...]`:: This form is to compare the given two paths on the filesystem. You can omit the `--no-index` option when running the command in a working tree controlled by Git and at least one of the paths points outside the working tree, or when running the command outside a working tree - controlled by Git. This form implies `--exit-code`. + controlled by Git. This form implies `--exit-code`. If both + paths point to directories, additional pathspecs may be + provided. These will limit the files included in the + difference. All such pathspecs must be relative as they + apply to both sides of the diff. -'git diff' [<options>] --cached [--merge-base] [<commit>] [--] [<path>...]:: +`git diff [<options>] --cached [--merge-base] [<commit>] [--] [<path>...]`:: This form is to view the changes you staged for the next - commit relative to the named <commit>. Typically you + commit relative to the named _<commit>_. Typically you would want comparison with the latest commit, so if you - do not give <commit>, it defaults to HEAD. - If HEAD does not exist (e.g. unborn branches) and - <commit> is not given, it shows all staged changes. - --staged is a synonym of --cached. + do not give _<commit>_, it defaults to `HEAD`. + If `HEAD` does not exist (e.g. unborn branches) and + _<commit>_ is not given, it shows all staged changes. + `--staged` is a synonym of `--cached`. + -If --merge-base is given, instead of using <commit>, use the merge base -of <commit> and HEAD. `git diff --cached --merge-base A` is equivalent to +If `--merge-base` is given, instead of using _<commit>_, use the merge base +of _<commit>_ and `HEAD`. `git diff --cached --merge-base A` is equivalent to `git diff --cached $(git merge-base A HEAD)`. -'git diff' [<options>] [--merge-base] <commit> [--] [<path>...]:: +`git diff [<options>] [--merge-base] <commit> [--] [<path>...]`:: This form is to view the changes you have in your - working tree relative to the named <commit>. You can - use HEAD to compare it with the latest commit, or a + working tree relative to the named _<commit>_. You can + use `HEAD` to compare it with the latest commit, or a branch name to compare with the tip of a different branch. + -If --merge-base is given, instead of using <commit>, use the merge base -of <commit> and HEAD. `git diff --merge-base A` is equivalent to +If `--merge-base` is given, instead of using _<commit>_, use the merge base +of _<commit>_ and `HEAD`. `git diff --merge-base A` is equivalent to `git diff $(git merge-base A HEAD)`. -'git diff' [<options>] [--merge-base] <commit> <commit> [--] [<path>...]:: +`git diff [<options>] [--merge-base] <commit> <commit> [--] [<path>...]`:: This is to view the changes between two arbitrary - <commit>. + _<commit>_. + -If --merge-base is given, use the merge base of the two commits for the +If `--merge-base` is given, use the merge base of the two commits for the "before" side. `git diff --merge-base A B` is equivalent to `git diff $(git merge-base A B) B`. -'git diff' [<options>] <commit> <commit>... <commit> [--] [<path>...]:: +`git diff [<options>] <commit> <commit>...<commit> [--] [<path>...]`:: This form is to view the results of a merge commit. The first - listed <commit> must be the merge itself; the remaining two or + listed _<commit>_ must be the merge itself; the remaining two or more commits should be its parents. Convenient ways to produce - the desired set of revisions are to use the suffixes `^@` and - `^!`. If A is a merge commit, then `git diff A A^@`, + the desired set of revisions are to use the suffixes `@` and + `^!`. If `A` is a merge commit, then `git diff A A^@`, `git diff A^!` and `git show A` all give the same combined diff. -'git diff' [<options>] <commit>..<commit> [--] [<path>...]:: +`git diff [<options>] <commit>..<commit> [--] [<path>...]`:: This is synonymous to the earlier form (without the `..`) for - viewing the changes between two arbitrary <commit>. If <commit> on + viewing the changes between two arbitrary _<commit>_. If _<commit>_ on one side is omitted, it will have the same effect as - using HEAD instead. + using `HEAD` instead. -'git diff' [<options>] <commit>\...<commit> [--] [<path>...]:: +`git diff [<options>] <commit>...<commit> [--] [<path>...]`:: This form is to view the changes on the branch containing - and up to the second <commit>, starting at a common ancestor - of both <commit>. `git diff A...B` is equivalent to + and up to the second _<commit>_, starting at a common ancestor + of both _<commit>_. `git diff A...B` is equivalent to `git diff $(git merge-base A B) B`. You can omit any one - of <commit>, which has the same effect as using HEAD instead. + of _<commit>_, which has the same effect as using `HEAD` instead. Just in case you are doing something exotic, it should be -noted that all of the <commit> in the above description, except +noted that all of the _<commit>_ in the above description, except in the `--merge-base` case and in the last two forms that use `..` -notations, can be any <tree>. A tree of interest is the one pointed to -by the ref named `AUTO_MERGE`, which is written by the 'ort' merge +notations, can be any _<tree>_. A tree of interest is the one pointed to +by the ref named `AUTO_MERGE`, which is written by the `ort` merge strategy upon hitting merge conflicts (see linkgit:git-merge[1]). Comparing the working tree with `AUTO_MERGE` shows changes you've made so far to resolve textual conflicts (see the examples below). -For a more complete list of ways to spell <commit>, see +For a more complete list of ways to spell _<commit>_, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7]. -However, "diff" is about comparing two _endpoints_, not ranges, -and the range notations (`<commit>..<commit>` and -`<commit>...<commit>`) do not mean a range as defined in the +However, `diff` is about comparing two _endpoints_, not ranges, +and the range notations (`<commit>..<commit>` and `<commit>...<commit>`) +do not mean a range as defined in the "SPECIFYING RANGES" section in linkgit:gitrevisions[7]. -'git diff' [<options>] <blob> <blob>:: +`git diff [<options>] <blob> <blob>`:: This form is to view the differences between the raw contents of two blob objects. @@ -123,29 +127,38 @@ and the range notations (`<commit>..<commit>` and OPTIONS ------- :git-diff: 1 -include::diff-options.txt[] - --1 --base:: --2 --ours:: --3 --theirs:: - Compare the working tree with the "base" version (stage #1), - "our branch" (stage #2) or "their branch" (stage #3). The - index contains these stages only for unmerged entries i.e. - while resolving conflicts. See linkgit:git-read-tree[1] - section "3-Way Merge" for detailed information. - --0:: +include::diff-options.adoc[] + +`-1`:: +`--base`:: +`-2`:: +`--ours`:: +`-3`:: +`--theirs`:: + Compare the working tree with ++ +-- + * the "base" version (stage #1) when using `-1` or `--base`, + * "our branch" (stage #2) when using `-2` or `--ours`, or + * "their branch" (stage #3) when using `-3` or `--theirs`. +-- ++ +The index contains these stages only for unmerged entries i.e. +while resolving conflicts. See linkgit:git-read-tree[1] +section "3-Way Merge" for detailed information. + +`-0`:: Omit diff output for unmerged entries and just show "Unmerged". Can be used only when comparing the working tree with the index. -<path>...:: - The <paths> parameters, when given, are used to limit +`<path>...`:: + The _<path>_ parameters, when given, are used to limit the diff to the named paths (you can give directory names and get diff for all files under them). -include::diff-format.txt[] +include::diff-format.adoc[] EXAMPLES -------- @@ -223,13 +236,14 @@ $ git diff -R <2> CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/diff.txt[] +:git-diff: 1 +include::config/diff.adoc[] SEE ALSO -------- -diff(1), +`diff`(1), linkgit:git-difftool[1], linkgit:git-log[1], linkgit:gitdiffcore[7], diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.adoc index a616f8b2e6..d596205eaf 100644 --- a/Documentation/git-difftool.txt +++ b/Documentation/git-difftool.adoc @@ -119,9 +119,9 @@ CONFIGURATION 'git difftool' falls back to 'git mergetool' config variables when the difftool equivalents have not been defined. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/difftool.txt[] +include::config/difftool.adoc[] SEE ALSO -------- diff --git a/Documentation/git-fast-export.txt b/Documentation/git-fast-export.adoc index 752e4b9b01..43bbb4f63c 100644 --- a/Documentation/git-fast-export.txt +++ b/Documentation/git-fast-export.adoc @@ -27,17 +27,31 @@ OPTIONS Insert 'progress' statements every <n> objects, to be shown by 'git fast-import' during import. ---signed-tags=(verbatim|warn|warn-strip|strip|abort):: +--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort):: Specify how to handle signed tags. Since any transformation - after the export can change the tag names (which can also happen - when excluding revisions) the signatures will not match. + after the export (or during the export, such as excluding + revisions) can change the hashes being signed, the signatures + may become invalid. + When asking to 'abort' (which is the default), this program will die when encountering a signed tag. With 'strip', the tags will silently be made unsigned, with 'warn-strip' they will be made unsigned but a warning will be displayed, with 'verbatim', they will be silently -exported and with 'warn', they will be exported, but you will see a -warning. +exported and with 'warn-verbatim' (or 'warn', a deprecated synonym), +they will be exported, but you will see a warning. 'verbatim' and +'warn-verbatim' should only be used if you know that no transformation +affecting tags or any commit in their history will be performed by you +or by fast-export or fast-import, or if you do not care that the +resulting tag will have an invalid signature. + +--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort):: + Specify how to handle signed commits. Behaves exactly as + '--signed-tags', but for commits. Default is 'strip', which + is the same as how earlier versions of this command without + this option behaved. ++ +NOTE: This is highly experimental and the format of the data stream may +change in the future without compatibility guarantees. --tag-of-filtered-object=(abort|drop|rewrite):: Specify how to handle tags whose tagged object is filtered out. diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.adoc index 3d435157a6..250d866652 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.adoc @@ -431,13 +431,22 @@ and control the current import process. More detailed discussion Create or update a branch with a new commit, recording one logical change to the project. +//// +Yes, it's intentional that the 'gpgsig' line doesn't have a trailing +`LF`; the definition of `data` has a byte-count prefix, so it +doesn't need an `LF` to act as a terminator (and `data` also already +includes an optional trailing `LF?` just in case you want to include +one). +//// + .... 'commit' SP <ref> LF mark? original-oid? ('author' (SP <name>)? SP LT <email> GT SP <when> LF)? 'committer' (SP <name>)? SP LT <email> GT SP <when> LF - ('encoding' SP <encoding>)? + ('gpgsig' SP <alg> LF data)? + ('encoding' SP <encoding> LF)? data ('from' SP <commit-ish> LF)? ('merge' SP <commit-ish> LF)* @@ -505,6 +514,18 @@ that was selected by the --date-format=<fmt> command-line option. See ``Date Formats'' above for the set of supported formats, and their syntax. +`gpgsig` +^^^^^^^^ + +The optional `gpgsig` command is used to include a PGP/GPG signature +that signs the commit data. + +Here <alg> specifies which hashing algorithm is used for this +signature, either `sha1` or `sha256`. + +NOTE: This is highly experimental and the format of the data stream may +change in the future without compatibility guarantees. + `encoding` ^^^^^^^^^^ The optional `encoding` command indicates the encoding of the commit @@ -1578,9 +1599,9 @@ compression. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/fastimport.txt[] +include::config/fastimport.adoc[] SEE ALSO -------- diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.adoc index b3467664d3..b5223576a7 100644 --- a/Documentation/git-fetch-pack.txt +++ b/Documentation/git-fetch-pack.adoc @@ -91,7 +91,7 @@ be in a separate packet, and the list must end with a flush packet. Deepen or shorten the history of a shallow repository to include all reachable commits after <date>. ---shallow-exclude=<revision>:: +--shallow-exclude=<ref>:: Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag. This option can be specified multiple times. diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.adoc index 50900a50da..16f5d9d69a 100644 --- a/Documentation/git-fetch.txt +++ b/Documentation/git-fetch.adoc @@ -44,15 +44,15 @@ may be used by scripts or other git commands, such as linkgit:git-pull[1]. OPTIONS ------- -include::fetch-options.txt[] +include::fetch-options.adoc[] -include::pull-fetch-param.txt[] +include::pull-fetch-param.adoc[] --stdin:: Read refspecs, one per line, from stdin in addition to those provided as arguments. The "tag <name>" format is not supported. -include::urls-remotes.txt[] +include::urls-remotes.adoc[] CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]] @@ -292,14 +292,14 @@ The first command fetches the `maint` branch from the repository at objects will eventually be removed by git's built-in housekeeping (see linkgit:git-gc[1]). -include::transfer-data-leaks.txt[] +include::transfer-data-leaks.adoc[] CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/fetch.txt[] +include::config/fetch.adoc[] BUGS ---- diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.adoc index 5a4f853785..5a4f853785 100644 --- a/Documentation/git-filter-branch.txt +++ b/Documentation/git-filter-branch.adoc diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.adoc index 6f28812f38..0f3328956d 100644 --- a/Documentation/git-fmt-merge-msg.txt +++ b/Documentation/git-fmt-merge-msg.adoc @@ -55,7 +55,7 @@ OPTIONS CONFIGURATION ------------- -include::config/fmt-merge-msg.txt[] +include::config/fmt-merge-msg.adoc[] merge.summary:: Synonym to `merge.log`; this is deprecated and will be removed in diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.adoc index d3764401a2..5ef89fc0fe 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.adoc @@ -441,6 +441,7 @@ Ref: %(*refname) A simple example showing the use of shell eval on the output, demonstrating the use of --shell. List the prefixes of all heads: + ------------ #!/bin/sh @@ -455,6 +456,7 @@ done A bit more elaborate report on tags, demonstrating that the format may be an entire script: + ------------ #!/bin/sh @@ -538,7 +540,7 @@ will be reported. NOTES ----- -include::ref-reachability-filters.txt[] +include::ref-reachability-filters.adoc[] SEE ALSO -------- diff --git a/Documentation/git-for-each-repo.txt b/Documentation/git-for-each-repo.adoc index abe3527aac..abe3527aac 100644 --- a/Documentation/git-for-each-repo.txt +++ b/Documentation/git-for-each-repo.adoc diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.adoc index 8708b31593..a8b53db9a6 100644 --- a/Documentation/git-format-patch.txt +++ b/Documentation/git-format-patch.adoc @@ -105,7 +105,7 @@ reference. OPTIONS ------- :git-format-patch: 1 -include::diff-options.txt[] +include::diff-options.adoc[] -<n>:: Prepare patches from the topmost <n> commits. @@ -250,7 +250,7 @@ is not complete yet ("WIP" stands for "Work In Progress"). + If the convention of the receiving community for a particular extra string is to have it _after_ the subject prefix, the string _<rfc>_ -can be prefixed with a dash ("`-`") to signal that the the rest of +can be prefixed with a dash ("`-`") to signal that the rest of the _<rfc>_ string should be appended to the subject prefix instead, e.g., `--rfc='-(WIP)'` results in "PATCH (WIP)". diff --git a/Documentation/git-fsck-objects.txt b/Documentation/git-fsck-objects.adoc index eec4bdb600..eec4bdb600 100644 --- a/Documentation/git-fsck-objects.txt +++ b/Documentation/git-fsck-objects.adoc diff --git a/Documentation/git-fsck.txt b/Documentation/git-fsck.adoc index 5b82e4605c..11203ba925 100644 --- a/Documentation/git-fsck.txt +++ b/Documentation/git-fsck.adoc @@ -12,7 +12,7 @@ SYNOPSIS 'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs] [--[no-]full] [--strict] [--verbose] [--lost-found] [--[no-]dangling] [--[no-]progress] [--connectivity-only] - [--[no-]name-objects] [<object>...] + [--[no-]name-objects] [--[no-]references] [<object>...] DESCRIPTION ----------- @@ -104,12 +104,17 @@ care about this output and want to speed it up further. progress status even if the standard error stream is not directed to a terminal. +--[no-]references:: + Control whether to check the references database consistency + via 'git refs verify'. See linkgit:git-refs[1] for details. + The default is to check the references database. + CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/fsck.txt[] +include::config/fsck.adoc[] DISCUSSION ---------- @@ -161,7 +166,7 @@ each error means, with their default severity. The severity of the error, other than those that are marked as "(FATAL)", can be tweaked by setting the corresponding `fsck.<msg-id>` configuration variable. -include::fsck-msgids.txt[] +include::fsck-msgids.adoc[] Environment Variables diff --git a/Documentation/git-fsmonitor--daemon.txt b/Documentation/git-fsmonitor--daemon.adoc index 8585d19f4d..8fe5241b08 100644 --- a/Documentation/git-fsmonitor--daemon.txt +++ b/Documentation/git-fsmonitor--daemon.adoc @@ -97,9 +97,9 @@ error that will cause the daemon and the currently running command to exit. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/fsmonitor--daemon.txt[] +include::config/fsmonitor--daemon.adoc[] GIT --- diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.adoc index 370e22faae..526ce01463 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.adoc @@ -69,6 +69,13 @@ be performed as well. the `--max-cruft-size` option of linkgit:git-repack[1] for more. +--expire-to=<dir>:: + When packing unreachable objects into a cruft pack, write a cruft + pack containing pruned objects (if any) to the directory `<dir>`. + This option only has an effect when used together with `--cruft`. + See the `--expire-to` option of linkgit:git-repack[1] for + more information. + --prune=<date>:: Prune loose objects older than date (default is 2 weeks ago, overridable by the config variable `gc.pruneExpire`). @@ -122,9 +129,9 @@ users and their repositories. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/gc.txt[] +include::config/gc.adoc[] NOTES ----- diff --git a/Documentation/git-get-tar-commit-id.txt b/Documentation/git-get-tar-commit-id.adoc index b537bb45b1..b537bb45b1 100644 --- a/Documentation/git-get-tar-commit-id.txt +++ b/Documentation/git-get-tar-commit-id.adoc diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.adoc index 1e6d7b65c8..a548585d4c 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.adoc @@ -351,9 +351,9 @@ experienced in this case, it might be desirable to use `--threads=1`. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/grep.txt[] +include::config/grep.adoc[] GIT --- diff --git a/Documentation/git-gui.txt b/Documentation/git-gui.adoc index f5b02ef114..f5b02ef114 100644 --- a/Documentation/git-gui.txt +++ b/Documentation/git-gui.adoc diff --git a/Documentation/git-hash-object.txt b/Documentation/git-hash-object.adoc index ef4719ae41..ef4719ae41 100644 --- a/Documentation/git-hash-object.txt +++ b/Documentation/git-hash-object.adoc diff --git a/Documentation/git-help.txt b/Documentation/git-help.adoc index f0bedc1f96..f0bedc1f96 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.adoc diff --git a/Documentation/git-hook.txt b/Documentation/git-hook.adoc index f6cc72d2ca..f6cc72d2ca 100644 --- a/Documentation/git-hook.txt +++ b/Documentation/git-hook.adoc diff --git a/Documentation/git-http-backend.txt b/Documentation/git-http-backend.adoc index f37ddaded8..1dea426852 100644 --- a/Documentation/git-http-backend.txt +++ b/Documentation/git-http-backend.adoc @@ -56,6 +56,10 @@ http.receivepack:: disabled by setting this item to `false`, or enabled for all users, including anonymous users, by setting it to `true`. +http.uploadarchive:: + This serves 'git archive' clients for remote archive over HTTP/HTTPS + protocols. It is disabled by default. It only works in protocol v2. + URL TRANSLATION --------------- To determine the location of the repository on disk, 'git http-backend' diff --git a/Documentation/git-http-fetch.txt b/Documentation/git-http-fetch.adoc index 4ec7c68d3b..4ec7c68d3b 100644 --- a/Documentation/git-http-fetch.txt +++ b/Documentation/git-http-fetch.adoc diff --git a/Documentation/git-http-push.txt b/Documentation/git-http-push.adoc index ce0d808212..ce0d808212 100644 --- a/Documentation/git-http-push.txt +++ b/Documentation/git-http-push.adoc diff --git a/Documentation/git-imap-send.txt b/Documentation/git-imap-send.adoc index c8a89d7243..17147f93c3 100644 --- a/Documentation/git-imap-send.txt +++ b/Documentation/git-imap-send.adoc @@ -9,21 +9,24 @@ git-imap-send - Send a collection of patches from stdin to an IMAP folder SYNOPSIS -------- [verse] -'git imap-send' [-v] [-q] [--[no-]curl] +'git imap-send' [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>] +'git imap-send' --list DESCRIPTION ----------- -This command uploads a mailbox generated with 'git format-patch' +This command uploads a mailbox generated with `git format-patch` into an IMAP drafts folder. This allows patches to be sent as other email is when using mail clients that cannot read mailbox files directly. The command also works with any general mailbox -in which emails have the fields "From", "Date", and "Subject" in +in which emails have the fields `From`, `Date`, and `Subject` in that order. Typical usage is something like: -git format-patch --signoff --stdout --attach origin | git imap-send +------ +$ git format-patch --signoff --stdout --attach origin | git imap-send +------ OPTIONS @@ -37,6 +40,11 @@ OPTIONS --quiet:: Be quiet. +-f <folder>:: +--folder=<folder>:: + Specify the folder in which the emails have to saved. + For example: `--folder=[Gmail]/Drafts` or `-f INBOX/Drafts`. + --curl:: Use libcurl to communicate with the IMAP server, unless tunneling into it. Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND @@ -47,6 +55,8 @@ OPTIONS using libcurl. Ignored if Git was built with the NO_OPENSSL option set. +--list:: + Run the IMAP LIST command to output a list of all the folders present. CONFIGURATION ------------- @@ -54,9 +64,9 @@ CONFIGURATION To use the tool, `imap.folder` and either `imap.tunnel` or `imap.host` must be set to appropriate values. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/imap.txt[] +include::config/imap.adoc[] EXAMPLES -------- @@ -102,20 +112,56 @@ Using Gmail's IMAP interface: --------- [imap] - folder = "[Gmail]/Drafts" - host = imaps://imap.gmail.com - user = user@gmail.com - port = 993 + folder = "[Gmail]/Drafts" + host = imaps://imap.gmail.com + user = user@gmail.com + port = 993 --------- +Gmail does not allow using your regular password for `git imap-send`. +If you have multi-factor authentication set up on your Gmail account, you +can generate an app-specific password for use with `git imap-send`. +Visit https://security.google.com/settings/security/apppasswords to create +it. Alternatively, use OAuth2.0 authentication as described below. + [NOTE] You might need to instead use: `folder = "[Google Mail]/Drafts"` if you get an error -that the "Folder doesn't exist". +that the "Folder doesn't exist". You can also run `git imap-send --list` to get a +list of available folders. [NOTE] If your Gmail account is set to another language than English, the name of the "Drafts" folder will be localized. +If you want to use OAuth2.0 based authentication, you can specify +`OAUTHBEARER` or `XOAUTH2` mechanism in your config. It is more secure +than using app-specific passwords, and also does not enforce the need of +having multi-factor authentication. You will have to use an OAuth2.0 +access token in place of your password when using this authentication. + +--------- +[imap] + folder = "[Gmail]/Drafts" + host = imaps://imap.gmail.com + user = user@gmail.com + port = 993 + authmethod = OAUTHBEARER +--------- + +Using Outlook's IMAP interface: + +Unlike Gmail, Outlook only supports OAuth2.0 based authentication. Also, it +supports only `XOAUTH2` as the mechanism. + +--------- +[imap] + folder = "Drafts" + host = imaps://outlook.office365.com + user = user@outlook.com + port = 993 + authmethod = XOAUTH2 +--------- + Once the commits are ready to be sent, run the following command: $ git format-patch --cover-letter -M --stdout origin/master | git imap-send @@ -124,6 +170,10 @@ Just make sure to disable line wrapping in the email client (Gmail's web interface will wrap lines no matter what, so you need to use a real IMAP client). +In case you are using OAuth2.0 authentication, it is easier to use credential +helpers to generate tokens. Credential helpers suggested in +linkgit:git-send-email[1] can be used for `git imap-send` as well. + CAUTION ------- It is still your responsibility to make sure that the email message diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.adoc index 5a20deefd5..270056cf63 100644 --- a/Documentation/git-index-pack.txt +++ b/Documentation/git-index-pack.adoc @@ -130,7 +130,7 @@ information on the possible values of `<msg-id>` and `<severity>`. + This option cannot be used with --stdin. + -include::object-format-disclaimer.txt[] +include::object-format-disclaimer.adoc[] --promisor[=<message>]:: Before committing the pack-index, create a .promisor file for this @@ -139,6 +139,13 @@ include::object-format-disclaimer.txt[] written. If a `<message>` is provided, then that content will be written to the .promisor file for future reference. See link:technical/partial-clone.html[partial clone] for more information. ++ +Also, if there are objects in the given pack that references non-promisor +objects (in the repo), repacks those non-promisor objects into a promisor +pack. This avoids a situation in which a repo has non-promisor objects that are +accessible through promisor objects. ++ +Requires <pack-file> to not be specified. NOTES ----- diff --git a/Documentation/git-init-db.txt b/Documentation/git-init-db.adoc index 18bf1a3c8c..18bf1a3c8c 100644 --- a/Documentation/git-init-db.txt +++ b/Documentation/git-init-db.adoc diff --git a/Documentation/git-init.txt b/Documentation/git-init.adoc index daff93bd16..a0dffba665 100644 --- a/Documentation/git-init.txt +++ b/Documentation/git-init.adoc @@ -8,12 +8,12 @@ git-init - Create an empty Git repository or reinitialize an existing one SYNOPSIS -------- -[verse] -`git init` [`-q` | `--quiet`] [`--bare`] [++--template=++__<template-directory>__] - [`--separate-git-dir` _<git-dir>_] [++--object-format=++__<format>__] - [++--ref-format=++__<format>__] - [`-b` _<branch-name>_ | ++--initial-branch=++__<branch-name>__] - [++--shared++[++=++__<permissions>__]] [_<directory>_] +[synopsis] +git init [-q | --quiet] [--bare] [--template=<template-directory>] + [--separate-git-dir <git-dir>] [--object-format=<format>] + [--ref-format=<format>] + [-b <branch-name> | --initial-branch=<branch-name>] + [--shared[=<permissions>]] [<directory>] DESCRIPTION @@ -25,11 +25,11 @@ directory with subdirectories for `objects`, `refs/heads`, commits will be created (see the `--initial-branch` option below for its name). -If the `$GIT_DIR` environment variable is set then it specifies a path +If the `GIT_DIR` environment variable is set then it specifies a path to use instead of `./.git` for the base of the repository. If the object storage directory is specified via the -`$GIT_OBJECT_DIRECTORY` environment variable then the sha1 directories +`GIT_OBJECT_DIRECTORY` environment variable then the sha1 directories are created underneath; otherwise, the default `$GIT_DIR/objects` directory is used. @@ -51,26 +51,22 @@ Only print error and warning messages; all other output will be suppressed. Create a bare repository. If `GIT_DIR` environment is not set, it is set to the current working directory. -++--object-format=++__<format>__:: - +`--object-format=<format>`:: Specify the given object _<format>_ (hash algorithm) for the repository. The valid values are `sha1` and (if enabled) `sha256`. `sha1` is the default. + -include::object-format-disclaimer.txt[] - -++--ref-format=++__<format>__:: +include::object-format-disclaimer.adoc[] +`--ref-format=<format>`:: Specify the given ref storage _<format>_ for the repository. The valid values are: + -include::ref-storage-format.txt[] - -++--template=++__<template-directory>__:: +include::ref-storage-format.adoc[] +`--template=<template-directory>`:: Specify the directory from which templates will be used. (See the "TEMPLATE DIRECTORY" section below.) -++--separate-git-dir=++__<git-dir>__:: - +`--separate-git-dir=<git-dir>`:: Instead of initializing the repository as a directory to either `$GIT_DIR` or `./.git/`, create a text file there containing the path to the actual repository. This file acts as a filesystem-agnostic Git symbolic link to the @@ -78,15 +74,14 @@ repository. + If this is a reinitialization, the repository will be moved to the specified path. -`-b` _<branch-name>_:: -++--initial-branch=++__<branch-name>__:: - +`-b <branch-name>`:: +`--initial-branch=<branch-name>`:: Use _<branch-name>_ for the initial branch in the newly created repository. If not specified, fall back to the default name (currently `master`, but this is subject to change in the future; the name can be customized via the `init.defaultBranch` configuration variable). -++--shared++[++=++(`false`|`true`|`umask`|`group`|`all`|`world`|`everybody`|_<perm>_)]:: +`--shared[=(false|true|umask|group|all|world|everybody|<perm>)]`:: Specify that the Git repository is to be shared amongst several users. This allows users belonging to the same group to push into that @@ -183,11 +178,11 @@ $ git commit <3> CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] :git-init: -include::config/init.txt[] +include::config/init.adoc[] GIT --- diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.adoc index a54fe4401b..a54fe4401b 100644 --- a/Documentation/git-instaweb.txt +++ b/Documentation/git-instaweb.adoc diff --git a/Documentation/git-interpret-trailers.txt b/Documentation/git-interpret-trailers.adoc index d9dfb75fef..82c8780d93 100644 --- a/Documentation/git-interpret-trailers.txt +++ b/Documentation/git-interpret-trailers.adoc @@ -186,142 +186,9 @@ OPTIONS CONFIGURATION VARIABLES ----------------------- -trailer.separators:: - This option tells which characters are recognized as trailer - separators. By default only ':' is recognized as a trailer - separator, except that '=' is always accepted on the command - line for compatibility with other git commands. -+ -The first character given by this option will be the default character -used when another separator is not specified in the config for this -trailer. -+ -For example, if the value for this option is "%=$", then only lines -using the format '<key><sep><value>' with <sep> containing '%', '=' -or '$' and then spaces will be considered trailers. And '%' will be -the default separator used, so by default trailers will appear like: -'<key>% <value>' (one percent sign and one space will appear between -the key and the value). - -trailer.where:: - This option tells where a new trailer will be added. -+ -This can be `end`, which is the default, `start`, `after` or `before`. -+ -If it is `end`, then each new trailer will appear at the end of the -existing trailers. -+ -If it is `start`, then each new trailer will appear at the start, -instead of the end, of the existing trailers. -+ -If it is `after`, then each new trailer will appear just after the -last trailer with the same <key>. -+ -If it is `before`, then each new trailer will appear just before the -first trailer with the same <key>. +include::includes/cmd-config-section-all.adoc[] -trailer.ifexists:: - This option makes it possible to choose what action will be - performed when there is already at least one trailer with the - same <key> in the input. -+ -The valid values for this option are: `addIfDifferentNeighbor` (this -is the default), `addIfDifferent`, `add`, `replace` or `doNothing`. -+ -With `addIfDifferentNeighbor`, a new trailer will be added only if no -trailer with the same (<key>, <value>) pair is above or below the line -where the new trailer will be added. -+ -With `addIfDifferent`, a new trailer will be added only if no trailer -with the same (<key>, <value>) pair is already in the input. -+ -With `add`, a new trailer will be added, even if some trailers with -the same (<key>, <value>) pair are already in the input. -+ -With `replace`, an existing trailer with the same <key> will be -deleted and the new trailer will be added. The deleted trailer will be -the closest one (with the same <key>) to the place where the new one -will be added. -+ -With `doNothing`, nothing will be done; that is no new trailer will be -added if there is already one with the same <key> in the input. - -trailer.ifmissing:: - This option makes it possible to choose what action will be - performed when there is not yet any trailer with the same - <key> in the input. -+ -The valid values for this option are: `add` (this is the default) and -`doNothing`. -+ -With `add`, a new trailer will be added. -+ -With `doNothing`, nothing will be done. - -trailer.<keyAlias>.key:: - Defines a <keyAlias> for the <key>. The <keyAlias> must be a - prefix (case does not matter) of the <key>. For example, in `git - config trailer.ack.key "Acked-by"` the "Acked-by" is the <key> and - the "ack" is the <keyAlias>. This configuration allows the shorter - `--trailer "ack:..."` invocation on the command line using the "ack" - <keyAlias> instead of the longer `--trailer "Acked-by:..."`. -+ -At the end of the <key>, a separator can appear and then some -space characters. By default the only valid separator is ':', -but this can be changed using the `trailer.separators` config -variable. -+ -If there is a separator in the key, then it overrides the default -separator when adding the trailer. - -trailer.<keyAlias>.where:: - This option takes the same values as the 'trailer.where' - configuration variable and it overrides what is specified by - that option for trailers with the specified <keyAlias>. - -trailer.<keyAlias>.ifexists:: - This option takes the same values as the 'trailer.ifexists' - configuration variable and it overrides what is specified by - that option for trailers with the specified <keyAlias>. - -trailer.<keyAlias>.ifmissing:: - This option takes the same values as the 'trailer.ifmissing' - configuration variable and it overrides what is specified by - that option for trailers with the specified <keyAlias>. - -trailer.<keyAlias>.command:: - Deprecated in favor of 'trailer.<keyAlias>.cmd'. - This option behaves in the same way as 'trailer.<keyAlias>.cmd', except - that it doesn't pass anything as argument to the specified command. - Instead the first occurrence of substring $ARG is replaced by the - <value> that would be passed as argument. -+ -Note that $ARG in the user's command is -only replaced once and that the original way of replacing $ARG is not safe. -+ -When both 'trailer.<keyAlias>.cmd' and 'trailer.<keyAlias>.command' are given -for the same <keyAlias>, 'trailer.<keyAlias>.cmd' is used and -'trailer.<keyAlias>.command' is ignored. - -trailer.<keyAlias>.cmd:: - This option can be used to specify a shell command that will be called - once to automatically add a trailer with the specified <keyAlias>, and then - called each time a '--trailer <keyAlias>=<value>' argument is specified to - modify the <value> of the trailer that this option would produce. -+ -When the specified command is first called to add a trailer -with the specified <keyAlias>, the behavior is as if a special -'--trailer <keyAlias>=<value>' argument was added at the beginning -of the "git interpret-trailers" command, where <value> -is taken to be the standard output of the command with any -leading and trailing whitespace trimmed off. -+ -If some '--trailer <keyAlias>=<value>' arguments are also passed -on the command line, the command is called again once for each -of these arguments with the same <keyAlias>. And the <value> part -of these arguments, if any, will be passed to the command as its -first argument. This way the command can produce a <value> computed -from the <value> passed in the '--trailer <keyAlias>=<value>' argument. +include::config/trailer.adoc[] EXAMPLES -------- diff --git a/Documentation/git-log.txt b/Documentation/git-log.adoc index 579682172f..ae8a7e2d63 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.adoc @@ -16,7 +16,7 @@ DESCRIPTION Shows the commit logs. :git-log: 1 -include::rev-list-description.txt[] +include::rev-list-description.adoc[] The command takes options applicable to the linkgit:git-rev-list[1] command to control what is shown and how, and options applicable to @@ -89,7 +89,7 @@ produced by `--stat`, etc. Intended to speed up tools that read log messages from `git log` output by allowing them to allocate space in advance. -include::line-range-options.txt[] +include::line-range-options.adoc[] <revision-range>:: Show only commits in the specified revision range. When no @@ -109,9 +109,9 @@ include::line-range-options.txt[] Paths may need to be prefixed with `--` to separate them from options or the revision range, when confusion arises. -include::rev-list-options.txt[] +include::rev-list-options.adoc[] -include::pretty-formats.txt[] +include::pretty-formats.adoc[] DIFF FORMATTING --------------- @@ -128,9 +128,9 @@ the default format for merge commits. :git-log: 1 :diff-merges-default: `off` -include::diff-options.txt[] +include::diff-options.adoc[] -include::diff-generate-patch.txt[] +include::diff-generate-patch.adoc[] EXAMPLES -------- @@ -192,7 +192,7 @@ EXAMPLES DISCUSSION ---------- -include::i18n.txt[] +include::i18n.adoc[] CONFIGURATION ------------- @@ -209,11 +209,11 @@ i18n.logOutputEncoding:: Defaults to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/log.txt[] +include::config/log.adoc[] -include::config/notes.txt[] +include::config/notes.adoc[] GIT --- diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.adoc index 58c529afbe..58c529afbe 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.adoc diff --git a/Documentation/git-ls-remote.txt b/Documentation/git-ls-remote.adoc index 76c86c3ce4..d71c4ab3e2 100644 --- a/Documentation/git-ls-remote.txt +++ b/Documentation/git-ls-remote.adoc @@ -81,6 +81,9 @@ OPTIONS character. When multiple `--server-option=<option>` are given, they are all sent to the other side in the order listed on the command line. + When no `--server-option=<option>` is given from the command line, + the values of configuration variable `remote.<name>.serverOption` + are used instead. <repository>:: The "remote" repository to query. This parameter can be diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.adoc index 6572095d8d..6572095d8d 100644 --- a/Documentation/git-ls-tree.txt +++ b/Documentation/git-ls-tree.adoc diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.adoc index 28060283c7..3b24c9abd9 100644 --- a/Documentation/git-mailinfo.txt +++ b/Documentation/git-mailinfo.adoc @@ -118,9 +118,9 @@ If no such configuration option has been set, `warn` will be used. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/mailinfo.txt[] +include::config/mailinfo.adoc[] GIT --- diff --git a/Documentation/git-mailsplit.txt b/Documentation/git-mailsplit.adoc index 3f0a6662c8..3f0a6662c8 100644 --- a/Documentation/git-mailsplit.txt +++ b/Documentation/git-mailsplit.adoc diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.adoc index 6e6651309d..540b5cf68b 100644 --- a/Documentation/git-maintenance.txt +++ b/Documentation/git-maintenance.adoc @@ -126,13 +126,17 @@ loose-objects:: objects that already exist in a pack-file; concurrent Git processes will examine the pack-file for the object data instead of the loose object. Second, it creates a new pack-file (starting with "loose-") - containing a batch of loose objects. The batch size is limited to 50 - thousand objects to prevent the job from taking too long on a - repository with many loose objects. The `gc` task writes unreachable - objects as loose objects to be cleaned up by a later step only if - they are not re-added to a pack-file; for this reason it is not - advisable to enable both the `loose-objects` and `gc` tasks at the - same time. + containing a batch of loose objects. ++ +The batch size defaults to fifty thousand objects to prevent the job from +taking too long on a repository with many loose objects. Use the +`maintenance.loose-objects.batchSize` config option to adjust this size, +including a value of `0` to remove the limit. ++ +The `gc` task writes unreachable objects as loose objects to be cleaned up +by a later step only if they are not re-added to a pack-file; for this +reason it is not advisable to enable both the `loose-objects` and `gc` +tasks at the same time. incremental-repack:: The `incremental-repack` job repacks the object directory @@ -158,6 +162,18 @@ pack-refs:: need to iterate across many references. See linkgit:git-pack-refs[1] for more information. +reflog-expire:: + The `reflog-expire` task deletes any entries in the reflog older than the + expiry threshold. See linkgit:git-reflog[1] for more information. + +rerere-gc:: + The `rerere-gc` task invokes garbage collection for stale entries in + the rerere cache. See linkgit:git-rerere[1] for more information. + +worktree-prune:: + The `worktree-prune` task deletes stale or broken worktrees. See + linkgit:git-worktree[1] for more information. + OPTIONS ------- --auto:: @@ -409,9 +425,9 @@ custom tasks. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/maintenance.txt[] +include::config/maintenance.adoc[] GIT diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.adoc index 5ab957cfbc..5ab957cfbc 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.adoc diff --git a/Documentation/git-merge-file.txt b/Documentation/git-merge-file.adoc index 71915a00fa..71915a00fa 100644 --- a/Documentation/git-merge-file.txt +++ b/Documentation/git-merge-file.adoc diff --git a/Documentation/git-merge-index.txt b/Documentation/git-merge-index.adoc index eea56b3154..eea56b3154 100644 --- a/Documentation/git-merge-index.txt +++ b/Documentation/git-merge-index.adoc diff --git a/Documentation/git-merge-one-file.txt b/Documentation/git-merge-one-file.adoc index 04e803d5d3..04e803d5d3 100644 --- a/Documentation/git-merge-one-file.txt +++ b/Documentation/git-merge-one-file.adoc diff --git a/Documentation/git-merge-tree.txt b/Documentation/git-merge-tree.adoc index 0b6a8a19b1..f824eea61f 100644 --- a/Documentation/git-merge-tree.txt +++ b/Documentation/git-merge-tree.adoc @@ -40,11 +40,17 @@ After the merge completes, a new toplevel tree object is created. See OPTIONS ------- +--stdin:: + Read the commits to merge from the standard input rather than + the command-line. See <<INPUT,INPUT FORMAT>> below for more + information. Implies `-z`. + -z:: Do not quote filenames in the <Conflicted file info> section, and end each filename with a NUL character rather than newline. Also begin the messages section with a NUL character - instead of a newline. See <<OUTPUT>> below for more information. + instead of a newline. See <<OUTPUT,OUTPUT>> below for more + information. --name-only:: In the Conflicted file info section, instead of writing a list @@ -59,6 +65,12 @@ OPTIONS default is to include these messages if there are merge conflicts, and to omit them otherwise. +--quiet:: + Disable all output from the program. Useful when you are only + interested in the exit status. Allows merge-tree to exit + early when it finds a conflict, and allows it to avoid writing + most objects created by merges. + --allow-unrelated-histories:: merge-tree will by default error out if the two branches specified share no common history. This flag can be given to override that @@ -116,8 +128,6 @@ This is an integer status followed by a NUL character. The integer status is: 0: merge had conflicts 1: merge was clean - <0: something prevented the merge from running (e.g. access to repository - objects denied by filesystem) [[OIDTLT]] OID of toplevel tree @@ -235,6 +245,7 @@ with linkgit:git-merge[1]: * any messages that would have been printed to stdout (the <<IM,Informational messages>>) +[[INPUT]] INPUT FORMAT ------------ 'git merge-tree --stdin' input format is fully text based. Each line diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.adoc index 1ab69f61f5..a055384ad6 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.adoc @@ -8,13 +8,13 @@ git-merge - Join two or more development histories together SYNOPSIS -------- -[verse] -'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] +[synopsis] +git merge [-n] [--stat] [--compact-summary] [--no-commit] [--squash] [--[no-]edit] [--no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] [--[no-]allow-unrelated-histories] [--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [--into-name <branch>] [<commit>...] -'git merge' (--continue | --abort | --quit) +git merge (--continue | --abort | --quit) DESCRIPTION ----------- @@ -28,8 +28,8 @@ Assume the following history exists and the current branch is `master`: ------------ - A---B---C topic - / + A---B---C topic + / D---E---F---G master ------------ @@ -38,11 +38,11 @@ Then `git merge topic` will replay the changes made on the its current commit (`C`) on top of `master`, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes. Before the operation, -`ORIG_HEAD` is set to the tip of the current branch (`C`). +`ORIG_HEAD` is set to the tip of the current branch (`G`). ------------ - A---B---C topic - / \ + A---B---C topic + / \ D---E---F---G---H master ------------ @@ -57,7 +57,7 @@ merge started (and especially if those changes were further modified after the merge was started), `git merge --abort` will in some cases be unable to reconstruct the original (pre-merge) changes. Therefore: -*Warning*: Running `git merge` with non-trivial uncommitted changes is +WARNING: Running `git merge` with non-trivial uncommitted changes is discouraged: while possible, it may leave you in a state that is hard to back out of in the case of a conflict. @@ -65,9 +65,9 @@ OPTIONS ------- :git-merge: 1 -include::merge-options.txt[] +include::merge-options.adoc[] --m <msg>:: +`-m <msg>`:: Set the commit message to be used for the merge commit (in case one is created). + @@ -78,27 +78,27 @@ The `git fmt-merge-msg` command can be used to give a good default for automated `git merge` invocations. The automated message can include the branch description. ---into-name <branch>:: +`--into-name <branch>`:: Prepare the default merge message as if merging to the branch - `<branch>`, instead of the name of the real branch to which + _<branch>_, instead of the name of the real branch to which the merge is made. --F <file>:: ---file=<file>:: +`-F <file>`:: +`--file=<file>`:: Read the commit message to be used for the merge commit (in case one is created). + If `--log` is specified, a shortlog of the commits being merged will be appended to the specified message. -include::rerere-options.txt[] +include::rerere-options.adoc[] ---overwrite-ignore:: ---no-overwrite-ignore:: +`--overwrite-ignore`:: +`--no-overwrite-ignore`:: Silently overwrite ignored files from the merge result. This is the default behavior. Use `--no-overwrite-ignore` to abort. ---abort:: +`--abort`:: Abort the current conflict resolution process, and try to reconstruct the pre-merge state. If an autostash entry is present, apply it to the worktree. @@ -114,17 +114,17 @@ which case `git merge --abort` applies the stash entry to the worktree whereas `git reset --merge` will save the stashed changes in the stash list. ---quit:: +`--quit`:: Forget about the current merge in progress. Leave the index and the working tree as-is. If `MERGE_AUTOSTASH` is present, the stash entry will be saved to the stash list. ---continue:: +`--continue`:: After a `git merge` stops due to conflicts you can conclude the merge by running `git merge --continue` (see "HOW TO RESOLVE CONFLICTS" section below). -<commit>...:: +`<commit>...`:: Commits, usually other branch heads, to merge into our branch. Specifying more than one commit will create a merge with more than two parents (affectionately called an Octopus merge). @@ -152,7 +152,7 @@ To avoid recording unrelated changes in the merge commit, `git pull` and `git merge` will also abort if there are any changes registered in the index relative to the `HEAD` commit. (Special narrow exceptions to this rule may exist depending on which merge -strategy is in use, but generally, the index must match HEAD.) +strategy is in use, but generally, the index must match `HEAD`.) If all named commits are already ancestors of `HEAD`, `git merge` will exit early with the message "Already up to date." @@ -195,11 +195,11 @@ happens: stage 2 from `HEAD`, and stage 3 from `MERGE_HEAD` (you can inspect the stages with `git ls-files -u`). The working tree files contain the result of the merge operation; i.e. 3-way - merge results with familiar conflict markers `<<<` `===` `>>>`. + merge results with familiar conflict markers +<<<+ `===` +>>>+. 5. A ref named `AUTO_MERGE` is written, pointing to a tree corresponding to the current content of the working tree (including conflict markers for textual conflicts). Note that this ref is only - written when the 'ort' merge strategy is used (the default). + written when the `ort` merge strategy is used (the default). 6. No other changes are made. In particular, the local modifications you had before you started merge will stay the same and the index entries for them stay as they were, @@ -231,7 +231,6 @@ git merge v1.2.3^0 git merge --ff-only v1.2.3 ---- - HOW CONFLICTS ARE PRESENTED --------------------------- @@ -260,7 +259,7 @@ And here is another line that is cleanly resolved or unmodified. ------------ The area where a pair of conflicting changes happened is marked with markers -`<<<<<<<`, `=======`, and `>>>>>>>`. The part before the `=======` ++<<<<<<<+, `=======`, and +>>>>>>>+. The part before the `=======` is typically your side, and the part afterwards is typically their side. The default format does not show what the original said in the conflicting @@ -270,7 +269,7 @@ side wants to say it is hard and you'd prefer to go shopping, while the other side wants to claim it is easy. An alternative style can be used by setting the `merge.conflictStyle` -configuration variable to either "diff3" or "zdiff3". In "diff3" +configuration variable to either `diff3` or `zdiff3`. In `diff3` style, the above conflict may look like this: ------------ @@ -290,7 +289,7 @@ Git makes conflict resolution easy. And here is another line that is cleanly resolved or unmodified. ------------ -while in "zdiff3" style, it may look like this: +while in `zdiff3` style, it may look like this: ------------ Here are lines that are either unchanged from the common @@ -308,8 +307,8 @@ Git makes conflict resolution easy. And here is another line that is cleanly resolved or unmodified. ------------ -In addition to the `<<<<<<<`, `=======`, and `>>>>>>>` markers, it uses -another `|||||||` marker that is followed by the original text. You can +In addition to the +<<<<<<<+, `=======`, and +>>>>>>>+ markers, it uses +another +|||||||+ marker that is followed by the original text. You can tell that the original just stated a fact, and your side simply gave in to that statement and gave up, while the other side tried to have a more positive attitude. You can sometimes come up with a better resolution by @@ -385,19 +384,19 @@ changes into a merge commit. Small fixups like bumping release/version name would be acceptable. -include::merge-strategies.txt[] +include::merge-strategies.adoc[] CONFIGURATION ------------- -branch.<name>.mergeOptions:: - Sets default options for merging into branch <name>. The syntax and +`branch.<name>.mergeOptions`:: + Sets default options for merging into branch _<name>_. The syntax and supported options are the same as those of `git merge`, but option values containing whitespace characters are currently not supported. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/merge.txt[] +include::config/merge.adoc[] SEE ALSO -------- diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.adoc index 0726b560d4..0726b560d4 100644 --- a/Documentation/git-mergetool--lib.txt +++ b/Documentation/git-mergetool--lib.adoc diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.adoc index b9e20c5dcd..77d0b50550 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.adoc @@ -7,95 +7,95 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts SYNOPSIS -------- -[verse] -'git mergetool' [--tool=<tool>] [-y | --[no-]prompt] [<file>...] +[synopsis] +git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>...] DESCRIPTION ----------- Use `git mergetool` to run one of several merge utilities to resolve -merge conflicts. It is typically run after 'git merge'. +merge conflicts. It is typically run after `git merge`. If one or more <file> parameters are given, the merge tool program will be run to resolve differences in each file (skipping those without conflicts). Specifying a directory will include all unresolved files in -that path. If no <file> names are specified, 'git mergetool' will run +that path. If no _<file>_ names are specified, `git mergetool` will run the merge tool program on every file with merge conflicts. OPTIONS ------- --t <tool>:: ---tool=<tool>:: - Use the merge resolution program specified by <tool>. - Valid values include emerge, gvimdiff, kdiff3, - meld, vimdiff, and tortoisemerge. Run `git mergetool --tool-help` - for the list of valid <tool> settings. +`-t <tool>`:: +`--tool=<tool>`:: + Use the merge resolution program specified by _<tool>_. + Valid values include `emerge`, `gvimdiff`, `kdiff3`, + `meld`, `vimdiff`, and `tortoisemerge`. Run `git mergetool --tool-help` + for the list of valid _<tool>_ settings. + -If a merge resolution program is not specified, 'git mergetool' +If a merge resolution program is not specified, `git mergetool` will use the configuration variable `merge.tool`. If the -configuration variable `merge.tool` is not set, 'git mergetool' +configuration variable `merge.tool` is not set, `git mergetool` will pick a suitable default. + You can explicitly provide a full path to the tool by setting the configuration variable `mergetool.<tool>.path`. For example, you can configure the absolute path to kdiff3 by setting -`mergetool.kdiff3.path`. Otherwise, 'git mergetool' assumes the -tool is available in PATH. +`mergetool.kdiff3.path`. Otherwise, `git mergetool` assumes the +tool is available in `$PATH`. + Instead of running one of the known merge tool programs, -'git mergetool' can be customized to run an alternative program +`git mergetool` can be customized to run an alternative program by specifying the command line to invoke in a configuration variable `mergetool.<tool>.cmd`. + -When 'git mergetool' is invoked with this tool (either through the +When `git mergetool` is invoked with this tool (either through the `-t` or `--tool` option or the `merge.tool` configuration -variable), the configured command line will be invoked with `$BASE` +variable), the configured command line will be invoked with `BASE` set to the name of a temporary file containing the common base for -the merge, if available; `$LOCAL` set to the name of a temporary +the merge, if available; `LOCAL` set to the name of a temporary file containing the contents of the file on the current branch; -`$REMOTE` set to the name of a temporary file containing the -contents of the file to be merged, and `$MERGED` set to the name +`REMOTE` set to the name of a temporary file containing the +contents of the file to be merged, and `MERGED` set to the name of the file to which the merge tool should write the result of the merge resolution. + If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable `mergetool.<tool>.trustExitCode` can be set to `true`. -Otherwise, 'git mergetool' will prompt the user to indicate the +Otherwise, `git mergetool` will prompt the user to indicate the success of the resolution after the custom tool has exited. ---tool-help:: +`--tool-help`:: Print a list of merge tools that may be used with `--tool`. --y:: ---no-prompt:: +`-y`:: +`--no-prompt`:: Don't prompt before each invocation of the merge resolution program. This is the default if the merge resolution program is explicitly specified with the `--tool` option or with the `merge.tool` configuration variable. ---prompt:: +`--prompt`:: Prompt before each invocation of the merge resolution program to give the user a chance to skip the path. --g:: ---gui:: - When 'git-mergetool' is invoked with the `-g` or `--gui` option, +`-g`:: +`--gui`:: + When `git-mergetool` is invoked with the `-g` or `--gui` option, the default merge tool will be read from the configured `merge.guitool` variable instead of `merge.tool`. If `merge.guitool` is not set, we will fallback to the tool configured under `merge.tool`. This may be autoselected using the configuration variable `mergetool.guiDefault`. ---no-gui:: +`--no-gui`:: This overrides a previous `-g` or `--gui` setting or `mergetool.guiDefault` configuration and reads the default merge tool from the configured `merge.tool` variable. --O<orderfile>:: +`-O<orderfile>`:: Process files in the order specified in the - <orderfile>, which has one shell glob pattern per line. + _<orderfile>_, which has one shell glob pattern per line. This overrides the `diff.orderFile` configuration variable (see linkgit:git-config[1]). To cancel `diff.orderFile`, use `-O/dev/null`. @@ -104,9 +104,9 @@ CONFIGURATION ------------- :git-mergetool: 1 -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/mergetool.txt[] +include::config/mergetool.adoc[] TEMPORARY FILES --------------- @@ -123,7 +123,7 @@ BACKEND SPECIFIC HINTS vimdiff ~~~~~~~ -include::mergetools/vimdiff.txt[] +include::mergetools/vimdiff.adoc[] GIT --- diff --git a/Documentation/git-mktag.txt b/Documentation/git-mktag.adoc index 006d759962..006d759962 100644 --- a/Documentation/git-mktag.txt +++ b/Documentation/git-mktag.adoc diff --git a/Documentation/git-mktree.txt b/Documentation/git-mktree.adoc index 383f09dd33..383f09dd33 100644 --- a/Documentation/git-mktree.txt +++ b/Documentation/git-mktree.adoc diff --git a/Documentation/git-multi-pack-index.txt b/Documentation/git-multi-pack-index.adoc index 631d5c7d15..b6cd0d7f85 100644 --- a/Documentation/git-multi-pack-index.txt +++ b/Documentation/git-multi-pack-index.adoc @@ -38,10 +38,13 @@ write:: + -- --preferred-pack=<pack>:: - Optionally specify the tie-breaking pack used when - multiple packs contain the same object. `<pack>` must - contain at least one object. If not given, ties are - broken in favor of the pack with the lowest mtime. + When specified, break ties in favor of this pack when + there are additional copies of its objects in other + packs. Ties for objects not found in the preferred + pack are always resolved in favor of the copy in the + pack with the highest mtime. If unspecified, the pack + with the lowest mtime is used by default. The + preferred pack must have at least one object. --[no-]bitmap:: Control whether or not a multi-pack bitmap is written. diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.adoc index dc1bf61534..f707e998f7 100644 --- a/Documentation/git-mv.txt +++ b/Documentation/git-mv.adoc @@ -8,19 +8,18 @@ git-mv - Move or rename a file, a directory, or a symlink SYNOPSIS -------- -[verse] -'git mv' [<options>] <source>... <destination> + +[synopsis] +git mv [-v] [-f] [-n] [-k] <source> <destination> +git mv [-v] [-f] [-n] [-k] <source>... <destination-directory> DESCRIPTION ----------- Move or rename a file, directory, or symlink. - git mv [-v] [-f] [-n] [-k] <source> <destination> - git mv [-v] [-f] [-n] [-k] <source> ... <destination-directory> - -In the first form, it renames <source>, which must exist and be either -a file, symlink or directory, to <destination>. -In the second form, the last argument has to be an existing +In the first form, it renames _<source>_, which must exist and be either +a file, symlink or directory, to _<destination>_. +In the second form, _<destination-directory>_ has to be an existing directory; the given sources will be moved into this directory. The index is updated after successful completion, but the change must still be @@ -28,20 +27,20 @@ committed. OPTIONS ------- --f:: ---force:: +`-f`:: +`--force`:: Force renaming or moving of a file even if the <destination> exists. --k:: +`-k`:: Skip move or rename actions which would lead to an error condition. An error happens when a source is neither existing nor controlled by Git, or when it would overwrite an existing file unless `-f` is given. --n:: ---dry-run:: +`-n`:: +`--dry-run`:: Do nothing; only show what would happen --v:: ---verbose:: +`-v`:: +`--verbose`:: Report the names of files as they are moved. SUBMODULES @@ -49,8 +48,8 @@ SUBMODULES Moving a submodule using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will update the gitfile and core.worktree setting to make the submodule work in the new location. -It also will attempt to update the submodule.<name>.path setting in -the linkgit:gitmodules[5] file and stage that file (unless -n is used). +It also will attempt to update the `submodule.<name>.path` setting in +the linkgit:gitmodules[5] file and stage that file (unless `-n` is used). BUGS ---- diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.adoc index d4f1c4d594..d4f1c4d594 100644 --- a/Documentation/git-name-rev.txt +++ b/Documentation/git-name-rev.adoc diff --git a/Documentation/git-notes.txt b/Documentation/git-notes.adoc index c9221a68cc..46a232ca71 100644 --- a/Documentation/git-notes.txt +++ b/Documentation/git-notes.adoc @@ -7,19 +7,19 @@ git-notes - Add or inspect object notes SYNOPSIS -------- -[verse] -'git notes' [list [<object>]] -'git notes' add [-f] [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] -'git notes' copy [-f] ( --stdin | <from-object> [<to-object>] ) -'git notes' append [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>] -'git notes' edit [--allow-empty] [<object>] [--[no-]stripspace] -'git notes' show [<object>] -'git notes' merge [-v | -q] [-s <strategy> ] <notes-ref> -'git notes' merge --commit [-v | -q] -'git notes' merge --abort [-v | -q] -'git notes' remove [--ignore-missing] [--stdin] [<object>...] -'git notes' prune [-n] [-v] -'git notes' get-ref +[synopsis] +git notes [list [<object>]] +git notes add [-f] [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [-e] [<object>] +git notes copy [-f] ( --stdin | <from-object> [<to-object>] ) +git notes append [--allow-empty] [--[no-]separator | --separator=<paragraph-break>] [--[no-]stripspace] [-F <file> | -m <msg> | (-c | -C) <object>] [-e] [<object>] +git notes edit [--allow-empty] [<object>] [--[no-]stripspace] +git notes show [<object>] +git notes merge [-v | -q] [-s <strategy> ] <notes-ref> +git notes merge --commit [-v | -q] +git notes merge --abort [-v | -q] +git notes remove [--ignore-missing] [--stdin] [<object>...] +git notes prune [-n] [-v] +git notes get-ref DESCRIPTION @@ -33,46 +33,48 @@ ENVIRONMENT sections below. If this ref does not exist, it will be quietly created when it is first needed to store a note. A typical use of notes is to supplement a commit message without -changing the commit itself. Notes can be shown by 'git log' along with +changing the commit itself. Notes can be shown by `git log` along with the original commit message. To distinguish these notes from the message stored in the commit object, the notes are indented like the -message, after an unindented line saying "Notes (<refname>):" (or +message, after an unindented line saying "Notes (_<refname>_):" (or "Notes:" for `refs/notes/commits`). Notes can also be added to patches prepared with `git format-patch` by using the `--notes` option. Such notes are added as a patch commentary after a three dash separator line. -To change which notes are shown by 'git log', see the -"notes.displayRef" discussion in <<CONFIGURATION>>. +To change which notes are shown by `git log`, see the +`notes.displayRef` discussion in <<CONFIGURATION,CONFIGURATION>>. -See the "notes.rewrite.<command>" configuration for a way to carry +See the `notes.rewrite.<command>` configuration for a way to carry notes across commands that rewrite commits. SUBCOMMANDS ----------- -list:: +`list`:: List the notes object for a given object. If no object is given, show a list of all note objects and the objects they - annotate (in the format "<note-object> <annotated-object>"). + annotate (in the format "`<note-object> <annotated-object>`"). This is the default subcommand if no subcommand is given. -add:: - Add notes for a given object (defaults to HEAD). Abort if the +`add`:: + Add notes for a given object (defaults to `HEAD`). Abort if the object already has notes (use `-f` to overwrite existing notes). However, if you're using `add` interactively (using an editor to supply the notes contents), then - instead of aborting - the existing notes will be opened in the editor (like the `edit` subcommand). If you specify multiple `-m` and `-F`, a blank line will be inserted between the messages. Use the `--separator` - option to insert other delimiters. + option to insert other delimiters. You can use `-e` to edit and + fine-tune the message(s) supplied from `-m` and `-F` options + interactively (using an editor) before adding the note. -copy:: +`copy`:: Copy the notes for the first object onto the second object (defaults to - HEAD). Abort if the second object already has notes, or if the first - object has none (use -f to overwrite existing notes to the + `HEAD`). Abort if the second object already has notes, or if the first + object has none (use `-f` to overwrite existing notes to the second object). This subcommand is equivalent to: `git notes add [-f] -C $(git notes list <from-object>) <to-object>` + @@ -82,25 +84,30 @@ In `--stdin` mode, take lines in the format <from-object> SP <to-object> [ SP <rest> ] LF ---------- + -on standard input, and copy the notes from each <from-object> to its -corresponding <to-object>. (The optional `<rest>` is ignored so that +on standard input, and copy the notes from each _<from-object>_ to its +corresponding _<to-object>_. (The optional _<rest>_ is ignored so that the command can read the input given to the `post-rewrite` hook.) ++ +`--stdin` cannot be combined with object names given on the command +line. -append:: +`append`:: Append new message(s) given by `-m` or `-F` options to an existing note, or add them as a new note if one does not - exist, for the object (defaults to HEAD). When appending to + exist, for the object (defaults to `HEAD`). When appending to an existing note, a blank line is added before each new message as an inter-paragraph separator. The separator can be customized with the `--separator` option. + Edit the notes to be appended given by `-m` and `-F` options with + `-e` interactively (using an editor) before appending the note. -edit:: - Edit the notes for a given object (defaults to HEAD). +`edit`:: + Edit the notes for a given object (defaults to `HEAD`). -show:: - Show the notes for a given object (defaults to HEAD). +`show`:: + Show the notes for a given object (defaults to `HEAD`). -merge:: +`merge`:: Merge the given notes ref into the current notes ref. This will try to merge the changes made by the given notes ref (called "remote") since the merge-base (if @@ -108,131 +115,139 @@ merge:: + If conflicts arise and a strategy for automatically resolving conflicting notes (see the "NOTES MERGE STRATEGIES" section) is not given, -the "manual" resolver is used. This resolver checks out the +the `manual` resolver is used. This resolver checks out the conflicting notes in a special worktree (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to manually resolve the conflicts there. When done, the user can either finalize the merge with -'git notes merge --commit', or abort the merge with -'git notes merge --abort'. +`git notes merge --commit`, or abort the merge with +`git notes merge --abort`. -remove:: - Remove the notes for given objects (defaults to HEAD). When +`remove`:: + Remove the notes for given objects (defaults to `HEAD`). When giving zero or one object from the command line, this is equivalent to specifying an empty note message to the `edit` subcommand. ++ +In `--stdin` mode, also remove the object names given on standard +input. In other words, `--stdin` can be combined with object names from +the command line. -prune:: +`prune`:: Remove all notes for non-existing/unreachable objects. -get-ref:: +`get-ref`:: Print the current notes ref. This provides an easy way to retrieve the current notes ref (e.g. from scripts). OPTIONS ------- --f:: ---force:: +`-f`:: +`--force`:: When adding notes to an object that already has notes, overwrite the existing notes (instead of aborting). --m <msg>:: ---message=<msg>:: +`-m <msg>`:: +`--message=<msg>`:: Use the given note message (instead of prompting). If multiple `-m` options are given, their values are concatenated as separate paragraphs. - Lines starting with `#` and empty lines other than a - single line between paragraphs will be stripped out. - If you wish to keep them verbatim, use `--no-stripspace`. --F <file>:: ---file=<file>:: - Take the note message from the given file. Use '-' to +`-F <file>`:: +`--file=<file>`:: + Take the note message from the given file. Use `-` to read the note message from the standard input. - Lines starting with `#` and empty lines other than a - single line between paragraphs will be stripped out. - If you wish to keep them verbatim, use `--no-stripspace`. --C <object>:: ---reuse-message=<object>:: +`-C <object>`:: +`--reuse-message=<object>`:: Take the given blob object (for example, another note) as the note message. (Use `git notes copy <object>` instead to - copy notes between objects.). By default, message will be - copied verbatim, but if you wish to strip out the lines - starting with `#` and empty lines other than a single line - between paragraphs, use with`--stripspace` option. - --c <object>:: ---reedit-message=<object>:: - Like '-C', but with `-c` the editor is invoked, so that + copy notes between objects.) Implies `--no-stripspace` since + the default behavior is to copy the message verbatim. + +`-c <object>`:: +`--reedit-message=<object>`:: + Like `-C`, but with `-c` the editor is invoked, so that the user can further edit the note message. ---allow-empty:: +`--allow-empty`:: Allow an empty note object to be stored. The default behavior is to automatically remove empty notes. ---[no-]separator, --separator=<paragraph-break>:: +`--separator=<paragraph-break>`:: +`--separator`:: +`--no-separator`:: Specify a string used as a custom inter-paragraph separator (a newline is added at the end as needed). If `--no-separator`, no separators will be added between paragraphs. Defaults to a blank line. ---[no-]stripspace:: - Strip leading and trailing whitespace from the note message. - Also strip out empty lines other than a single line between - paragraphs. Lines starting with `#` will be stripped out - in non-editor cases like `-m`, `-F` and `-C`, but not in - editor case like `git notes edit`, `-c`, etc. - ---ref <ref>:: - Manipulate the notes tree in <ref>. This overrides - `GIT_NOTES_REF` and the "core.notesRef" configuration. The ref +`--stripspace`:: +`--no-stripspace`:: + Clean up whitespace. Specifically (see + linkgit:git-stripspace[1]): ++ +-- +- remove trailing whitespace from all lines +- collapse multiple consecutive empty lines into one empty line +- remove empty lines from the beginning and end of the input +- add a missing `\n` to the last line if necessary. +-- ++ +`--stripspace` is the default except for +`-C`/`--reuse-message`. However, keep in mind that this depends on the +order of similar options. For example, for `-C <object> -m<message>`, +`--stripspace` will be used because the default for `-m` overrides the +previous `-C`. This is a known limitation that may be fixed in the +future. + +`--ref=<ref>`:: + Manipulate the notes tree in _<ref>_. This overrides + `GIT_NOTES_REF` and the `core.notesRef` configuration. The ref specifies the full refname when it begins with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise `refs/notes/` is prefixed to form a full name of the ref. ---ignore-missing:: +`--ignore-missing`:: Do not consider it an error to request removing notes from an object that does not have notes attached to it. ---stdin:: - Also read the object names to remove notes from the standard - input (there is no reason you cannot combine this with object - names from the command line). +`--stdin`:: + Only valid for `remove` and `copy`. See the respective subcommands. --n:: ---dry-run:: +`-n`:: +`--dry-run`:: Do not remove anything; just report the object names whose notes would be removed. --s <strategy>:: ---strategy=<strategy>:: +`-s <strategy>`:: +`--strategy=<strategy>`:: When merging notes, resolve notes conflicts using the given - strategy. The following strategies are recognized: "manual" - (default), "ours", "theirs", "union" and "cat_sort_uniq". - This option overrides the "notes.mergeStrategy" configuration setting. + strategy. The following strategies are recognized: `manual` + (default), `ours`, `theirs`, `union` and `cat_sort_uniq`. + This option overrides the `notes.mergeStrategy` configuration setting. See the "NOTES MERGE STRATEGIES" section below for more information on each notes merge strategy. ---commit:: - Finalize an in-progress 'git notes merge'. Use this option - when you have resolved the conflicts that 'git notes merge' - stored in .git/NOTES_MERGE_WORKTREE. This amends the partial - merge commit created by 'git notes merge' (stored in - .git/NOTES_MERGE_PARTIAL) by adding the notes in - .git/NOTES_MERGE_WORKTREE. The notes ref stored in the - .git/NOTES_MERGE_REF symref is updated to the resulting commit. - ---abort:: - Abort/reset an in-progress 'git notes merge', i.e. a notes merge +`--commit`:: + Finalize an in-progress `git notes merge`. Use this option + when you have resolved the conflicts that `git notes merge` + stored in `.git/NOTES_MERGE_WORKTREE`. This amends the partial + merge commit created by `git notes merge` (stored in + `.git/NOTES_MERGE_PARTIAL`) by adding the notes in + `.git/NOTES_MERGE_WORKTREE`. The notes ref stored in the + `.git/NOTES_MERGE_REF` symref is updated to the resulting commit. + +`--abort`:: + Abort/reset an in-progress `git notes merge`, i.e. a notes merge with conflicts. This simply removes all files related to the notes merge. --q:: ---quiet:: +`-q`:: +`--quiet`:: When merging notes, operate quietly. --v:: ---verbose:: +`-v`:: +`--verbose`:: When merging notes, be more verbose. When pruning notes, report all object names whose notes are removed. @@ -266,28 +281,28 @@ object, in which case the history of the notes can be read with NOTES MERGE STRATEGIES ---------------------- -The default notes merge strategy is "manual", which checks out +The default notes merge strategy is `manual`, which checks out conflicting notes in a special work tree for resolving notes conflicts (`.git/NOTES_MERGE_WORKTREE`), and instructs the user to resolve the conflicts in that work tree. When done, the user can either finalize the merge with -'git notes merge --commit', or abort the merge with -'git notes merge --abort'. +`git notes merge --commit`, or abort the merge with +`git notes merge --abort`. Users may select an automated merge strategy from among the following using -either -s/--strategy option or configuring notes.mergeStrategy accordingly: +either `-s`/`--strategy` option or configuring `notes.mergeStrategy` accordingly: -"ours" automatically resolves conflicting notes in favor of the local +`ours` automatically resolves conflicting notes in favor of the local version (i.e. the current notes ref). -"theirs" automatically resolves notes conflicts in favor of the remote +`theirs` automatically resolves notes conflicts in favor of the remote version (i.e. the given notes ref being merged into the current notes ref). -"union" automatically resolves notes conflicts by concatenating the +`union` automatically resolves notes conflicts by concatenating the local and remote versions. -"cat_sort_uniq" is similar to "union", but in addition to concatenating +`cat_sort_uniq` is similar to `union`, but in addition to concatenating the local and remote versions, this strategy also sorts the resulting lines, and removes duplicate lines from the result. This is equivalent to applying the "cat | sort | uniq" shell pipeline to the local and @@ -316,7 +331,7 @@ Notes: In principle, a note is a regular Git blob, and any kind of (non-)format is accepted. You can binary-safely create notes from -arbitrary files using 'git hash-object': +arbitrary files using `git hash-object`: ------------ $ cc *.c @@ -327,7 +342,7 @@ $ git notes --ref=built add --allow-empty -C "$blob" HEAD (You cannot simply use `git notes --ref=built add -F a.out HEAD` because that is not binary-safe.) Of course, it doesn't make much sense to display non-text-format notes -with 'git log', so if you use such notes, you'll probably need to write +with `git log`, so if you use such notes, you'll probably need to write some special-purpose tools to do something useful with them. @@ -335,15 +350,15 @@ some special-purpose tools to do something useful with them. CONFIGURATION ------------- -core.notesRef:: +`core.notesRef`:: Notes ref to read and manipulate instead of `refs/notes/commits`. Must be an unabbreviated ref name. This setting can be overridden through the environment and command line. -include::includes/cmd-config-section-rest.txt[] +include::includes/cmd-config-section-rest.adoc[] -include::config/notes.txt[] +include::config/notes.adoc[] ENVIRONMENT diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.adoc index de5ee6748e..f97b786bf9 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.adoc @@ -80,6 +80,7 @@ This: To reproduce the entire p4 history in Git, use the '@all' modifier on the depot path: + ------------ $ git p4 clone //depot/path/project@all ------------ @@ -89,19 +90,23 @@ Sync ~~~~ As development continues in the p4 repository, those changes can be included in the Git repository using: + ------------ $ git p4 sync ------------ + This command finds new changes in p4 and imports them as Git commits. P4 repositories can be added to an existing Git repository using 'git p4 sync' too: + ------------ $ mkdir repo-git $ cd repo-git $ git init $ git p4 sync //path/in/your/perforce/depot ------------ + This imports the specified depot into 'refs/remotes/p4/master' in an existing Git repository. The `--branch` option can be used to specify a different branch to @@ -125,6 +130,7 @@ and merge them with local uncommitted changes. Often, the p4 repository is the ultimate location for all code, thus a rebase workflow makes sense. This command does 'git p4 sync' followed by 'git rebase' to move local commits on top of updated p4 changes. + ------------ $ git p4 rebase ------------ @@ -140,16 +146,19 @@ will be created and populated if it does not already exist. To submit all changes that are in the current Git branch but not in the 'p4/master' branch, use: + ------------ $ git p4 submit ------------ To specify a branch other than the current one, use: + ------------ $ git p4 submit topicbranch ------------ To specify a single commit or a range of commits, use: + ------------ $ git p4 submit --commit <sha1> $ git p4 submit --commit <sha1..sha1> @@ -510,20 +519,24 @@ when cloning or syncing to have 'git p4' automatically find subdirectories in p4, and to generate these as branches in Git. For example, if the P4 repository structure is: + ---- //depot/main/... //depot/branch1/... ---- And "p4 branch -o branch1" shows a View line that looks like: + ---- //depot/main/... //depot/branch1/... ---- Then this 'git p4 clone' command: + ---- git p4 clone --detect-branches //depot@all ---- + produces a separate branch in 'refs/remotes/p4/' for //depot/main, called 'master', and one for //depot/branch1 called 'depot/branch1'. @@ -536,6 +549,7 @@ simple p4 branch specification, where the "source" and "destination" are the path elements in the p4 repository. The example above relied on the presence of the p4 branch. Without p4 branches, the same result will occur with: + ---- git init depot cd depot diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.adoc index e32404c6aa..b1c5aa27da 100644 --- a/Documentation/git-pack-objects.txt +++ b/Documentation/git-pack-objects.adoc @@ -10,12 +10,13 @@ SYNOPSIS -------- [verse] 'git pack-objects' [-q | --progress | --all-progress] [--all-progress-implied] - [--no-reuse-delta] [--delta-base-offset] [--non-empty] - [--local] [--incremental] [--window=<n>] [--depth=<n>] - [--revs [--unpacked | --all]] [--keep-pack=<pack-name>] - [--cruft] [--cruft-expiration=<time>] - [--stdout [--filter=<filter-spec>] | <base-name>] - [--shallow] [--keep-true-parents] [--[no-]sparse] < <object-list> + [--no-reuse-delta] [--delta-base-offset] [--non-empty] + [--local] [--incremental] [--window=<n>] [--depth=<n>] + [--revs [--unpacked | --all]] [--keep-pack=<pack-name>] + [--cruft] [--cruft-expiration=<time>] + [--stdout [--filter=<filter-spec>] | <base-name>] + [--shallow] [--keep-true-parents] [--[no-]sparse] + [--name-hash-version=<n>] [--path-walk] < <object-list> DESCRIPTION @@ -345,6 +346,46 @@ raise an error. Restrict delta matches based on "islands". See DELTA ISLANDS below. +--name-hash-version=<n>:: + While performing delta compression, Git groups objects that may be + similar based on heuristics using the path to that object. While + grouping objects by an exact path match is good for paths with + many versions, there are benefits for finding delta pairs across + different full paths. Git collects objects by type and then by a + "name hash" of the path and then by size, hoping to group objects + that will compress well together. ++ +The default name hash version is `1`, which prioritizes hash locality by +considering the final bytes of the path as providing the maximum magnitude +to the hash function. This version excels at distinguishing short paths +and finding renames across directories. However, the hash function depends +primarily on the final 16 bytes of the path. If there are many paths in +the repo that have the same final 16 bytes and differ only by parent +directory, then this name-hash may lead to too many collisions and cause +poor results. At the moment, this version is required when writing +reachability bitmap files with `--write-bitmap-index`. ++ +The name hash version `2` has similar locality features as version `1`, +except it considers each path component separately and overlays the hashes +with a shift. This still prioritizes the final bytes of the path, but also +"salts" the lower bits of the hash using the parent directory names. This +method allows for some of the locality benefits of version `1` while +breaking most of the collisions from a similarly-named file appearing in +many different directories. At the moment, this version is not allowed +when writing reachability bitmap files with `--write-bitmap-index` and it +will be automatically changed to version `1`. + +--path-walk:: + Perform compression by first organizing objects by path, then a + second pass that compresses across paths as normal. This has the + potential to improve delta compression especially in the presence + of filenames that cause collisions in Git's default name-hash + algorithm. ++ +Incompatible with `--delta-islands`, `--shallow`, or `--filter`. The +`--use-bitmap-index` option will be ignored in the presence of +`--path-walk.` + DELTA ISLANDS ------------- diff --git a/Documentation/git-pack-redundant.txt b/Documentation/git-pack-redundant.adoc index 13c3eb5ec9..13c3eb5ec9 100644 --- a/Documentation/git-pack-redundant.txt +++ b/Documentation/git-pack-redundant.adoc diff --git a/Documentation/git-pack-refs.txt b/Documentation/git-pack-refs.adoc index a6cd43c9be..42b90051e6 100644 --- a/Documentation/git-pack-refs.txt +++ b/Documentation/git-pack-refs.adoc @@ -91,10 +91,10 @@ Do not pack refs matching the given `glob(7)` pattern. Repetitions of this optio accumulate exclusion patterns. Use `--no-exclude` to clear and reset the list of patterns. If a ref is already packed, including it with `--exclude` will not unpack it. - ++ When used with `--all`, pack only loose refs which do not match any of the provided `--exclude` patterns. - ++ When used with `--include`, refs provided to `--include`, minus refs that are provided to `--exclude` will be packed. diff --git a/Documentation/git-patch-id.txt b/Documentation/git-patch-id.adoc index 1d15fa45d5..1d15fa45d5 100644 --- a/Documentation/git-patch-id.txt +++ b/Documentation/git-patch-id.adoc diff --git a/Documentation/git-prune-packed.txt b/Documentation/git-prune-packed.adoc index db742dcfee..db742dcfee 100644 --- a/Documentation/git-prune-packed.txt +++ b/Documentation/git-prune-packed.adoc diff --git a/Documentation/git-prune.txt b/Documentation/git-prune.adoc index 9a45571b90..9a45571b90 100644 --- a/Documentation/git-prune.txt +++ b/Documentation/git-prune.adoc diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.adoc index b2ae496e48..3f4ecc4730 100644 --- a/Documentation/git-pull.txt +++ b/Documentation/git-pull.adoc @@ -102,7 +102,7 @@ Options related to merging :git-pull: 1 -include::merge-options.txt[] +include::merge-options.adoc[] -r:: --rebase[=(false|true|merges|interactive)]:: @@ -136,13 +136,13 @@ unless you have read linkgit:git-rebase[1] carefully. Options related to fetching ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -include::fetch-options.txt[] +include::fetch-options.adoc[] -include::pull-fetch-param.txt[] +include::pull-fetch-param.adoc[] -include::urls-remotes.txt[] +include::urls-remotes.adoc[] -include::merge-strategies.txt[] +include::merge-strategies.adoc[] DEFAULT BEHAVIOUR ----------------- @@ -234,7 +234,7 @@ If you tried a pull which resulted in complex conflicts and would want to start over, you can recover with 'git reset'. -include::transfer-data-leaks.txt[] +include::transfer-data-leaks.adoc[] BUGS ---- diff --git a/Documentation/git-push.txt b/Documentation/git-push.adoc index 9b7cfbc5c1..d1978650d6 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.adoc @@ -432,7 +432,7 @@ further recursion will occur. In this case, "only" is treated as "on-demand". --ipv6:: Use IPv6 addresses only, ignoring IPv4 addresses. -include::urls-remotes.txt[] +include::urls-remotes.adoc[] OUTPUT ------ @@ -695,14 +695,14 @@ Commits A and B would no longer belong to a branch with a symbolic name, and so would be unreachable. As such, these commits would be removed by a `git gc` command on the origin repository. -include::transfer-data-leaks.txt[] +include::transfer-data-leaks.adoc[] CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/push.txt[] +include::config/push.adoc[] GIT --- diff --git a/Documentation/git-quiltimport.txt b/Documentation/git-quiltimport.adoc index 40e02d92eb..40e02d92eb 100644 --- a/Documentation/git-quiltimport.txt +++ b/Documentation/git-quiltimport.adoc diff --git a/Documentation/git-range-diff.txt b/Documentation/git-range-diff.adoc index fbdbe0befe..db0e4279b5 100644 --- a/Documentation/git-range-diff.txt +++ b/Documentation/git-range-diff.adoc @@ -10,7 +10,8 @@ SYNOPSIS [verse] 'git range-diff' [--color=[<when>]] [--no-color] [<diff-options>] [--no-dual-color] [--creation-factor=<factor>] - [--left-only | --right-only] + [--left-only | --right-only] [--diff-merges=<format>] + [--remerge-diff] ( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> ) [[--] <path>...] @@ -81,6 +82,20 @@ to revert to color all lines according to the outer diff markers Suppress commits that are missing from the second specified range (or the "right range" when using the `<rev1>...<rev2>` format). +--diff-merges=<format>:: + Instead of ignoring merge commits, generate diffs for them using the + corresponding `--diff-merges=<format>` option of linkgit:git-log[1], + and include them in the comparison. ++ +Note: In the common case, the `remerge` mode will be the most natural one +to use, as it shows only the diff on top of what Git's merge machinery would +have produced. In other words, if a merge commit is the result of a +non-conflicting `git merge`, the `remerge` mode will represent it with an empty +diff. + +--remerge-diff:: + Convenience option, equivalent to `--diff-merges=remerge`. + --[no-]notes[=<ref>]:: This flag is passed to the `git log` program (see linkgit:git-log[1]) that generates the patches. diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.adoc index 1c48c28996..1c48c28996 100644 --- a/Documentation/git-read-tree.txt +++ b/Documentation/git-read-tree.adoc diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.adoc index b18cdbc023..956d3048f5 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.adoc @@ -401,7 +401,7 @@ See also INCOMPATIBLE OPTIONS below. + See also INCOMPATIBLE OPTIONS below. -include::rerere-options.txt[] +include::rerere-options.adoc[] -S[<keyid>]:: --gpg-sign[=<keyid>]:: @@ -599,11 +599,11 @@ See also INCOMPATIBLE OPTIONS below. --no-autosquash:: Automatically squash commits with specially formatted messages into previous commits being rebased. If a commit message starts with - "squash! ", "fixup! " or "amend! ", the remainder of the subject line + "squash! ", "fixup! " or "amend! ", the remainder of the title is taken as a commit specifier, which matches a previous commit if it - matches the subject line or the hash of that commit. If no commit + matches the title or the hash of that commit. If no commit matches fully, matches of the specifier with the start of commit - subjects are considered. + titles are considered. + In the rebase todo list, the actions of squash, fixup and amend commits are changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they @@ -613,7 +613,7 @@ be used to review and edit the todo list before proceeding. The recommended way to create commits with squash markers is by using the `--squash`, `--fixup`, `--fixup=amend:` or `--fixup=reword:` options of linkgit:git-commit[1], which take the target commit as an argument and -automatically fill in the subject line of the new commit from that. +automatically fill in the title of the new commit from that. + Setting configuration variable `rebase.autoSquash` to true enables auto-squashing by default for interactive rebase. The `--no-autosquash` @@ -825,7 +825,7 @@ completeness: * State directories: The two backends keep their state in different directories under `.git/` -include::merge-strategies.txt[] +include::merge-strategies.adoc[] NOTES ----- @@ -1107,10 +1107,12 @@ In that case, the fix is easy because 'git rebase' knows to skip changes that are already present in the new upstream (unless `--reapply-cherry-picks` is given). So if you say (assuming you're on 'topic') + ------------ $ git rebase subsystem ------------ you will end up with the fixed history + ------------ o---o---o---o---o---o---o---o master \ @@ -1145,6 +1147,7 @@ of the old 'subsystem', for example: You can then transplant the old `subsystem..topic` to the new tip by saying (for the reflog case, and assuming you are on 'topic' already): + ------------ $ git rebase --onto subsystem subsystem@{1} ------------ @@ -1294,10 +1297,10 @@ merge cmake CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/rebase.txt[] -include::config/sequencer.txt[] +include::config/rebase.adoc[] +include::config/sequencer.adoc[] GIT --- diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.adoc index 20aca92073..0956086d61 100644 --- a/Documentation/git-receive-pack.txt +++ b/Documentation/git-receive-pack.adoc @@ -46,6 +46,18 @@ OPTIONS `$GIT_URL/info/refs?service=git-receive-pack` requests. See `--http-backend-info-refs` in linkgit:git-upload-pack[1]. +--skip-connectivity-check:: + Bypasses the connectivity checks that validate the existence of all + objects in the transitive closure of reachable objects. This option is + intended for server operators that want to implement their own object + connectivity validation outside of Git. This is useful in such cases + where the server-side knows additional information about how Git is + being used and thus can rely on certain guarantees to more efficiently + compute object connectivity that Git itself cannot make. Usage of this + option without a reliable external mechanism to ensure full reachable + object connectivity risks corrupting the repository and should not be + used in the general case. + PRE-RECEIVE HOOK ---------------- Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.adoc index a929c52982..412f06b8fe 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.adoc @@ -16,6 +16,7 @@ SYNOPSIS [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>...] 'git reflog delete' [--rewrite] [--updateref] [--dry-run | -n] [--verbose] <ref>@{<specifier>}... +'git reflog drop' [--all [--single-worktree] | <refs>...] 'git reflog exists' <ref> DESCRIPTION @@ -48,10 +49,14 @@ and not reachable from the current tip, are removed from the reflog. This is typically not used directly by end users -- instead, see linkgit:git-gc[1]. -The "delete" subcommand deletes single entries from the reflog. Its -argument must be an _exact_ entry (e.g. "`git reflog delete -master@{2}`"). This subcommand is also typically not used directly by -end users. +The "delete" subcommand deletes single entries from the reflog, but +not the reflog itself. Its argument must be an _exact_ entry (e.g. "`git +reflog delete master@{2}`"). This subcommand is also typically not used +directly by end users. + +The "drop" subcommand completely removes the reflog for the specified +references. This is in contrast to "expire" and "delete", both of which +can be used to delete reflog entries, but not the reflog itself. The "exists" subcommand checks whether a ref has a reflog. It exits with zero status if the reflog exists, and non-zero status if it does @@ -132,6 +137,16 @@ Options for `delete` `--dry-run`, and `--verbose`, with the same meanings as when they are used with `expire`. +Options for `drop` +~~~~~~~~~~~~~~~~~~ + +--all:: + Drop the reflogs of all references from all worktrees. + +--single-worktree:: + By default when `--all` is specified, reflogs from all working + trees are dropped. This option limits the processing to reflogs + from the current working tree only. GIT --- diff --git a/Documentation/git-refs.txt b/Documentation/git-refs.adoc index ce31f93061..4d6dc994f9 100644 --- a/Documentation/git-refs.txt +++ b/Documentation/git-refs.adoc @@ -8,9 +8,9 @@ git-refs - Low-level access to refs SYNOPSIS -------- -[verse] -'git refs migrate' --ref-format=<format> [--dry-run] -'git refs verify' [--strict] [--verbose] +[synopsis] +git refs migrate --ref-format=<format> [--no-reflog] [--dry-run] +git refs verify [--strict] [--verbose] DESCRIPTION ----------- @@ -34,7 +34,7 @@ The following options are specific to 'git refs migrate': --ref-format=<format>:: The ref format to migrate the ref store to. Can be one of: + -include::ref-storage-format.txt[] +include::ref-storage-format.adoc[] --dry-run:: Perform the migration, but do not modify the repository. The migrated @@ -43,6 +43,11 @@ include::ref-storage-format.txt[] can be used to double check that the migration works as expected before performing the actual migration. +--reflog:: +--no-reflog:: + Choose between migrating the reflog data to the new backend, + and discarding them. The default is "--reflog", to migrate. + The following options are specific to 'git refs verify': --strict:: @@ -57,8 +62,6 @@ KNOWN LIMITATIONS The ref format migration has several known limitations in its current form: -* It is not possible to migrate repositories that have reflogs. - * It is not possible to migrate repositories that have worktrees. * There is no way to block concurrent writes to the repository during an diff --git a/Documentation/git-remote-ext.txt b/Documentation/git-remote-ext.adoc index b33ee3c9e8..b33ee3c9e8 100644 --- a/Documentation/git-remote-ext.txt +++ b/Documentation/git-remote-ext.adoc diff --git a/Documentation/git-remote-fd.txt b/Documentation/git-remote-fd.adoc index 1dd2648a79..1dd2648a79 100644 --- a/Documentation/git-remote-fd.txt +++ b/Documentation/git-remote-fd.adoc diff --git a/Documentation/git-remote-helpers.txto b/Documentation/git-remote-helpers.adoco index 6f353ebfd3..6f353ebfd3 100644 --- a/Documentation/git-remote-helpers.txto +++ b/Documentation/git-remote-helpers.adoco diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.adoc index 932a5c3ea4..932a5c3ea4 100644 --- a/Documentation/git-remote.txt +++ b/Documentation/git-remote.adoc diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.adoc index c902512a9e..d12c4985f6 100644 --- a/Documentation/git-repack.txt +++ b/Documentation/git-repack.adoc @@ -9,7 +9,9 @@ git-repack - Pack unpacked objects in a repository SYNOPSIS -------- [verse] -'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [-m] [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>] [--write-midx] +'git repack' [-a] [-A] [-d] [-f] [-F] [-l] [-n] [-q] [-b] [-m] + [--window=<n>] [--depth=<n>] [--threads=<n>] [--keep-pack=<pack-name>] + [--write-midx] [--name-hash-version=<n>] [--path-walk] DESCRIPTION ----------- @@ -75,15 +77,18 @@ to the new separate pack will be written. Only useful with `--cruft -d`. --max-cruft-size=<n>:: - Repack cruft objects into packs as large as `<n>` bytes before - creating new packs. As long as there are enough cruft packs - smaller than `<n>`, repacking will cause a new cruft pack to - be created containing objects from any combined cruft packs, - along with any new unreachable objects. Cruft packs larger than - `<n>` will not be modified. When the new cruft pack is larger - than `<n>` bytes, it will be split into multiple packs, all of - which are guaranteed to be at most `<n>` bytes in size. Only - useful with `--cruft -d`. + Overrides `--max-pack-size` for cruft packs. Inherits the value of + `--max-pack-size` (if any) by default. See the documentation for + `--max-pack-size` for more details. + +--combine-cruft-below-size=<n>:: + When generating cruft packs without pruning, only repack + existing cruft packs whose size is strictly less than `<n>`, + where `<n>` represents a number of bytes, which can optionally + be suffixed with "k", "m", or "g". Cruft packs whose size is + greater than or equal to `<n>` are left as-is and not repacked. + Useful when you want to avoid repacking large cruft pack(s) in + repositories that have many and/or large unreachable objects. --expire-to=<dir>:: Write a cruft pack containing pruned objects (if any) to the @@ -249,6 +254,14 @@ linkgit:git-multi-pack-index[1]). Write a multi-pack index (see linkgit:git-multi-pack-index[1]) containing the non-redundant packs. +--name-hash-version=<n>:: + Provide this argument to the underlying `git pack-objects` process. + See linkgit:git-pack-objects[1] for full details. + +--path-walk:: + Pass the `--path-walk` option to the underlying `git pack-objects` + process. See linkgit:git-pack-objects[1] for full details. + CONFIGURATION ------------- diff --git a/Documentation/git-replace.txt b/Documentation/git-replace.adoc index 0a65460adb..0a65460adb 100644 --- a/Documentation/git-replace.txt +++ b/Documentation/git-replace.adoc diff --git a/Documentation/git-replay.txt b/Documentation/git-replay.adoc index 8f3300c683..0b12bf8aa4 100644 --- a/Documentation/git-replay.txt +++ b/Documentation/git-replay.adoc @@ -49,7 +49,7 @@ the new commits (in other words, this mimics a cherry-pick operation). to. See "Specifying Ranges" in linkgit:git-rev-parse[1] and the "Commit Limiting" options below. -include::rev-list-options.txt[] +include::rev-list-options.adoc[] OUTPUT ------ diff --git a/Documentation/git-request-pull.txt b/Documentation/git-request-pull.adoc index 15dcbb6d91..15dcbb6d91 100644 --- a/Documentation/git-request-pull.txt +++ b/Documentation/git-request-pull.adoc diff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.adoc index 992b469270..992b469270 100644 --- a/Documentation/git-rerere.txt +++ b/Documentation/git-rerere.adoc diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.adoc index 79ad5643ee..53ab88c545 100644 --- a/Documentation/git-reset.txt +++ b/Documentation/git-reset.adoc @@ -7,23 +7,23 @@ git-reset - Reset current HEAD to the specified state SYNOPSIS -------- -[verse] -'git reset' [-q] [<tree-ish>] [--] <pathspec>... -'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>] -'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...] -'git reset' [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>] +[synopsis] +git reset [-q] [<tree-ish>] [--] <pathspec>... +git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>] +git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>...] +git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>] DESCRIPTION ----------- -In the first three forms, copy entries from `<tree-ish>` to the index. -In the last form, set the current branch head (`HEAD`) to `<commit>`, +In the first three forms, copy entries from _<tree-ish>_ to the index. +In the last form, set the current branch head (`HEAD`) to _<commit>_, optionally modifying index and working tree to match. -The `<tree-ish>`/`<commit>` defaults to `HEAD` in all forms. +The _<tree-ish>_/_<commit>_ defaults to `HEAD` in all forms. -'git reset' [-q] [<tree-ish>] [--] <pathspec>...:: -'git reset' [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]:: +`git reset [-q] [<tree-ish>] [--] <pathspec>...`:: +`git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]`:: These forms reset the index entries for all paths that match the - `<pathspec>` to their state at `<tree-ish>`. (It does not affect + _<pathspec>_ to their state at _<tree-ish>_. (It does not affect the working tree or the current branch.) + This means that `git reset <pathspec>` is the opposite of `git add @@ -37,30 +37,30 @@ and specifying a commit with `--source`, you can copy the contents of a path out of a commit to the index and to the working tree in one go. -'git reset' (--patch | -p) [<tree-ish>] [--] [<pathspec>...]:: +`git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>...]`:: Interactively select hunks in the difference between the index - and `<tree-ish>` (defaults to `HEAD`). The chosen hunks are applied + and _<tree-ish>_ (defaults to `HEAD`). The chosen hunks are applied in reverse to the index. + This means that `git reset -p` is the opposite of `git add -p`, i.e. -you can use it to selectively reset hunks. See the ``Interactive Mode'' +you can use it to selectively reset hunks. See the "Interactive Mode" section of linkgit:git-add[1] to learn how to operate the `--patch` mode. -'git reset' [<mode>] [<commit>]:: - This form resets the current branch head to `<commit>` and - possibly updates the index (resetting it to the tree of `<commit>`) and - the working tree depending on `<mode>`. Before the operation, `ORIG_HEAD` - is set to the tip of the current branch. If `<mode>` is omitted, - defaults to `--mixed`. The `<mode>` must be one of the following: +`git reset [<mode>] [<commit>]`:: + This form resets the current branch head to _<commit>_ and + possibly updates the index (resetting it to the tree of _<commit>_) and + the working tree depending on _<mode>_. Before the operation, `ORIG_HEAD` + is set to the tip of the current branch. If _<mode>_ is omitted, + defaults to `--mixed`. The _<mode>_ must be one of the following: + -- ---soft:: +`--soft`:: Does not touch the index file or the working tree at all (but - resets the head to `<commit>`, just like all modes do). This leaves + resets the head to _<commit>_, just like all modes do). This leaves all your changed files "Changes to be committed", as `git status` would put it. ---mixed:: +`--mixed`:: Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. This is the default action. @@ -68,33 +68,33 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode. If `-N` is specified, removed paths are marked as intent-to-add (see linkgit:git-add[1]). ---hard:: +`--hard`:: Resets the index and working tree. Any changes to tracked files in the - working tree since `<commit>` are discarded. Any untracked files or + working tree since _<commit>_ are discarded. Any untracked files or directories in the way of writing any tracked files are simply deleted. ---merge:: +`--merge`:: Resets the index and updates the files in the working tree that are - different between `<commit>` and `HEAD`, but keeps those which are + different between _<commit>_ and `HEAD`, but keeps those which are different between the index and working tree (i.e. which have changes which have not been added). - If a file that is different between `<commit>` and the index has + If a file that is different between _<commit>_ and the index has unstaged changes, reset is aborted. + In other words, `--merge` does something like a `git read-tree -u -m <commit>`, but carries forward unmerged index entries. ---keep:: +`--keep`:: Resets index entries and updates files in the working tree that are - different between `<commit>` and `HEAD`. - If a file that is different between `<commit>` and `HEAD` has local + different between _<commit>_ and `HEAD`. + If a file that is different between _<commit>_ and `HEAD` has local changes, reset is aborted. ---[no-]recurse-submodules:: - When the working tree is updated, using --recurse-submodules will +`--[no-]recurse-submodules`:: + When the working tree is updated, using `--recurse-submodules` will also recursively reset the working tree of all active submodules according to the commit recorded in the superproject, also setting - the submodules' HEAD to be detached at that commit. + the submodules' `HEAD` to be detached at that commit. -- See "Reset, restore and revert" in linkgit:git[1] for the differences @@ -104,31 +104,31 @@ between the three commands. OPTIONS ------- --q:: ---quiet:: +`-q`:: +`--quiet`:: Be quiet, only report errors. ---refresh:: ---no-refresh:: +`--refresh`:: +`--no-refresh`:: Refresh the index after a mixed reset. Enabled by default. ---pathspec-from-file=<file>:: - Pathspec is passed in `<file>` instead of commandline args. If - `<file>` is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be +`--pathspec-from-file=<file>`:: + Pathspec is passed in _<file>_ instead of commandline args. If + _<file>_ is exactly `-` then standard input is used. Pathspec + elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). -\--:: +`--`:: Do not interpret any more arguments as options. -<pathspec>...:: +`<pathspec>...`:: Limits the paths affected by the operation. + For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. @@ -348,7 +348,7 @@ $ git commit ... <8> ------------ + <1> First, reset the history back one commit so that we remove the original - commit, but leave the working tree with all the changes. The -N ensures + commit, but leave the working tree with all the changes. The `-N` ensures that any new files added with `HEAD` are still marked so that `git add -p` will find them. <2> Next, we interactively select diff hunks to add using the `git add -p` @@ -458,7 +458,7 @@ working index HEAD target working index HEAD --keep B C C .... -`reset --merge` is meant to be used when resetting out of a conflicted +`git reset --merge` is meant to be used when resetting out of a conflicted merge. Any mergy operation guarantees that the working tree file that is involved in the merge does not have a local change with respect to the index before it starts, and that it writes the result out to the working tree. So if @@ -467,7 +467,7 @@ between the index and the working tree, then it means that we are not resetting out from a state that a mergy operation left after failing with a conflict. That is why we disallow `--merge` option in this case. -`reset --keep` is meant to be used when removing some of the last +`git reset --keep` is meant to be used when removing some of the last commits in the current branch while keeping changes in the working tree. If there could be conflicts between the changes in the commit we want to remove and the changes in the working tree we want to keep, diff --git a/Documentation/git-restore.txt b/Documentation/git-restore.adoc index 975825b44a..877b7772e6 100644 --- a/Documentation/git-restore.txt +++ b/Documentation/git-restore.adoc @@ -7,10 +7,10 @@ git-restore - Restore working tree files SYNOPSIS -------- -[verse] -'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>... -'git restore' [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul] -'git restore' (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...] +[synopsis] +git restore [<options>] [--source=<tree>] [--staged] [--worktree] [--] <pathspec>... +git restore [<options>] [--source=<tree>] [--staged] [--worktree] --pathspec-from-file=<file> [--pathspec-file-nul] +git restore (-p|--patch) [<options>] [--source=<tree>] [--staged] [--worktree] [--] [<pathspec>...] DESCRIPTION ----------- @@ -32,8 +32,8 @@ THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. OPTIONS ------- --s <tree>:: ---source=<tree>:: +`-s <tree>`:: +`--source=<tree>`:: Restore the working tree files with the content from the given tree. It is common to specify the source tree by naming a commit, branch or tag associated with it. @@ -41,79 +41,76 @@ OPTIONS If not specified, the contents are restored from `HEAD` if `--staged` is given, otherwise from the index. + -As a special case, you may use `"A...B"` as a shortcut for the -merge base of `A` and `B` if there is exactly one merge base. You can -leave out at most one of `A` and `B`, in which case it defaults to `HEAD`. +As a special case, you may use `"<rev-A>...<rev-B>"` as a shortcut for the +merge base of _<rev-A>_ and _<rev-B>_ if there is exactly one merge base. You can +leave out at most one of _<rev-A>__ and _<rev-B>_, in which case it defaults to `HEAD`. --p:: ---patch:: +`-p`:: +`--patch`:: Interactively select hunks in the difference between the - restore source and the restore location. See the ``Interactive - Mode'' section of linkgit:git-add[1] to learn how to operate + restore source and the restore location. See the "Interactive + Mode" section of linkgit:git-add[1] to learn how to operate the `--patch` mode. -+ -Note that `--patch` can accept no pathspec and will prompt to restore -all modified paths. --W:: ---worktree:: --S:: ---staged:: +`-W`:: +`--worktree`:: +`-S`:: +`--staged`:: Specify the restore location. If neither option is specified, by default the working tree is restored. Specifying `--staged` will only restore the index. Specifying both restores both. --q:: ---quiet:: +`-q`:: +`--quiet`:: Quiet, suppress feedback messages. Implies `--no-progress`. ---progress:: ---no-progress:: +`--progress`:: +`--no-progress`:: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not attached to a terminal, regardless of `--quiet`. ---ours:: ---theirs:: +`--ours`:: +`--theirs`:: When restoring files in the working tree from the index, use - stage #2 ('ours') or #3 ('theirs') for unmerged paths. + stage #2 (`ours`) or #3 (`theirs`) for unmerged paths. This option cannot be used when checking out paths from a tree-ish (i.e. with the `--source` option). + -Note that during `git rebase` and `git pull --rebase`, 'ours' and -'theirs' may appear swapped. See the explanation of the same options +Note that during `git rebase` and `git pull --rebase`, `ours` and +`theirs` may appear swapped. See the explanation of the same options in linkgit:git-checkout[1] for details. --m:: ---merge:: +`-m`:: +`--merge`:: When restoring files on the working tree from the index, recreate the conflicted merge in the unmerged paths. This option cannot be used when checking out paths from a tree-ish (i.e. with the `--source` option). ---conflict=<style>:: +`--conflict=<style>`:: The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the `merge.conflictStyle` configuration variable. Possible values - are "merge" (default), "diff3", and "zdiff3". + are `merge` (default), `diff3`, and `zdiff3`. ---ignore-unmerged:: +`--ignore-unmerged`:: When restoring files on the working tree from the index, do not abort the operation if there are unmerged entries and neither `--ours`, `--theirs`, `--merge` or `--conflict` is specified. Unmerged paths on the working tree are left alone. ---ignore-skip-worktree-bits:: +`--ignore-skip-worktree-bits`:: In sparse checkout mode, the default is to only update entries - matched by `<pathspec>` and sparse patterns in - $GIT_DIR/info/sparse-checkout. This option ignores the sparse + matched by _<pathspec>_ and sparse patterns in + `$GIT_DIR/info/sparse-checkout`. This option ignores the sparse patterns and unconditionally restores any files in - `<pathspec>`. + _<pathspec>_. ---recurse-submodules:: ---no-recurse-submodules:: - If `<pathspec>` names an active submodule and the restore location +`--recurse-submodules`:: +`--no-recurse-submodules`:: + If _<pathspec>_ names an active submodule and the restore location includes the working tree, the submodule will only be updated if this option is given, in which case its working tree will be restored to the commit recorded in the superproject, and any local @@ -122,30 +119,30 @@ in linkgit:git-checkout[1] for details. not be updated. Just like linkgit:git-checkout[1], this will detach `HEAD` of the submodule. ---overlay:: ---no-overlay:: - In overlay mode, the command never removes files when - restoring. In no-overlay mode, tracked files that do not - appear in the `--source` tree are removed, to make them match - `<tree>` exactly. The default is no-overlay mode. - ---pathspec-from-file=<file>:: - Pathspec is passed in `<file>` instead of commandline args. If - `<file>` is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be +`--overlay`:: +`--no-overlay`:: + In overlay mode, never remove files when restoring. In no-overlay mode, + remove tracked files that do not appear in the _<tree>_ of + `--source=<tree>`, to make them match _<tree>_ exactly. The default + is no-overlay mode. + +`--pathspec-from-file=<file>`:: + Pathspec is passed in _<file>_ instead of commandline args. If + _<file>_ is exactly `-` then standard input is used. Pathspec + elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). -\--:: +`--`:: Do not interpret any more arguments as options. -<pathspec>...:: +`<pathspec>...`:: Limits the paths affected by the operation. + For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. @@ -154,7 +151,7 @@ EXAMPLES -------- The following sequence switches to the `master` branch, reverts the -`Makefile` to two revisions back, deletes hello.c by mistake, and gets +`Makefile` to two revisions back, deletes `hello.c` by mistake, and gets it back from the index. ------------ @@ -165,7 +162,7 @@ $ git restore hello.c <2> ------------ <1> take a file out of another commit -<2> restore hello.c from the index +<2> restore `hello.c` from the index If you want to restore _all_ C source files to match the version in the index, you can say diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.adoc index 2e05c4b510..f582491dd4 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.adoc @@ -15,7 +15,7 @@ DESCRIPTION ----------- :git-rev-list: 1 -include::rev-list-description.txt[] +include::rev-list-description.adoc[] 'rev-list' is an essential Git command, since it provides the ability to build and traverse commit ancestry graphs. For @@ -27,9 +27,9 @@ OPTIONS ------- :git-rev-list: 1 -include::rev-list-options.txt[] +include::rev-list-options.adoc[] -include::pretty-formats.txt[] +include::pretty-formats.adoc[] EXAMPLES -------- diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.adoc index dc12d38534..cc32b4b4f0 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.adoc @@ -351,7 +351,7 @@ Other Options Flags and parameters to be parsed. -include::revisions.txt[] +include::revisions.adoc[] PARSEOPT -------- diff --git a/Documentation/git-revert.txt b/Documentation/git-revert.adoc index 568925db53..ffba365e63 100644 --- a/Documentation/git-revert.txt +++ b/Documentation/git-revert.adoc @@ -112,7 +112,7 @@ effect to your index in a row. Pass the merge strategy-specific option through to the merge strategy. See linkgit:git-merge[1] for details. -include::rerere-options.txt[] +include::rerere-options.adoc[] --reference:: Instead of starting the body of the log message with "This @@ -125,7 +125,7 @@ include::rerere-options.txt[] SEQUENCER SUBCOMMANDS --------------------- -include::sequencer.txt[] +include::sequencer.adoc[] EXAMPLES -------- @@ -155,9 +155,9 @@ Please consider rewording these to be shorter and more unique. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/revert.txt[] +include::config/revert.adoc[] SEE ALSO -------- diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.adoc index 363a26934f..b5ead86796 100644 --- a/Documentation/git-rm.txt +++ b/Documentation/git-rm.adoc @@ -7,10 +7,10 @@ git-rm - Remove files from the working tree and from the index SYNOPSIS -------- -[verse] -'git rm' [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] - [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]] - [--] [<pathspec>...] +[synopsis] +git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] + [--quiet] [--pathspec-from-file=<file> [--pathspec-file-nul]] + [--] [<pathspec>...] DESCRIPTION ----------- @@ -30,7 +30,7 @@ sparse-checkouts are in use (see linkgit:git-sparse-checkout[1]), OPTIONS ------- -<pathspec>...:: +`<pathspec>...`:: Files to remove. A leading directory name (e.g. `dir` to remove `dir/file1` and `dir/file2`) can be given to remove all files in the directory, and recursively all sub-directories, but this @@ -43,57 +43,57 @@ directories `d` and `d2`, there is a difference between using `git rm 'd*'` and `git rm 'd/*'`, as the former will also remove all of directory `d2`. + -For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. +For more details, see the _<pathspec>_ entry in linkgit:gitglossary[7]. --f:: ---force:: +`-f`:: +`--force`:: Override the up-to-date check. --n:: ---dry-run:: +`-n`:: +`--dry-run`:: Don't actually remove any file(s). Instead, just show if they exist in the index and would otherwise be removed by the command. --r:: +`-r`:: Allow recursive removal when a leading directory name is given. -\--:: +`--`:: This option can be used to separate command-line options from the list of files, (useful when filenames might be mistaken for command-line options). ---cached:: +`--cached`:: Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone. ---ignore-unmatch:: +`--ignore-unmatch`:: Exit with a zero status even if no files matched. ---sparse:: +`--sparse`:: Allow updating index entries outside of the sparse-checkout cone. Normally, `git rm` refuses to update index entries whose paths do not fit within the sparse-checkout cone. See linkgit:git-sparse-checkout[1] for more. --q:: ---quiet:: +`-q`:: +`--quiet`:: `git rm` normally outputs one line (in the form of an `rm` command) for each file removed. This option suppresses that output. ---pathspec-from-file=<file>:: - Pathspec is passed in `<file>` instead of commandline args. If - `<file>` is exactly `-` then standard input is used. Pathspec - elements are separated by LF or CR/LF. Pathspec elements can be +`--pathspec-from-file=<file>`:: + Pathspec is passed in _<file>_ instead of args. If + _<file>_ is exactly `-` then standard input is used. Pathspec + elements are separated by _LF_ or _CR_/_LF_. Pathspec elements can be quoted as explained for the configuration variable `core.quotePath` (see linkgit:git-config[1]). See also `--pathspec-file-nul` and global `--literal-pathspecs`. ---pathspec-file-nul:: +`--pathspec-file-nul`:: Only meaningful with `--pathspec-from-file`. Pathspec elements are - separated with NUL character and all other characters are taken + separated with _NUL_ character and all other characters are taken literally (including newlines and quotes). @@ -153,15 +153,15 @@ SUBMODULES ---------- Only submodules using a gitfile (which means they were cloned with a Git version 1.7.8 or newer) will be removed from the work -tree, as their repository lives inside the .git directory of the +tree, as their repository lives inside the `.git` directory of the superproject. If a submodule (or one of those nested inside it) -still uses a .git directory, `git rm` will move the submodules +still uses a `.git` directory, `git rm` moves the submodules git directory into the superprojects git directory to protect -the submodule's history. If it exists the submodule.<name> section +the submodule's history. If it exists the `submodule.<name>` section in the linkgit:gitmodules[5] file will also be removed and that file -will be staged (unless --cached or -n are used). +will be staged (unless `--cached` or `-n` are used). -A submodule is considered up to date when the HEAD is the same as +A submodule is considered up to date when the `HEAD` is the same as recorded in the index, no tracked files are modified and no untracked files that aren't ignored are present in the submodule's work tree. Ignored files are deemed expendable and won't stop a submodule's work diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.adoc index bc3ef45acb..7bd09c254b 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.adoc @@ -21,7 +21,7 @@ Takes the patches given on the command line and emails them out. Patches can be specified as files, directories (which will send all files in the directory), or directly as a revision list. In the last case, any format accepted by linkgit:git-format-patch[1] can -be passed to git send-email, as well as options understood by +be passed to `git send-email`, as well as options understood by linkgit:git-format-patch[1]. The header of the email is configurable via command-line options. If not @@ -35,11 +35,11 @@ There are two formats accepted for patch files: This is what linkgit:git-format-patch[1] generates. Most headers and MIME formatting are ignored. -2. The original format used by Greg Kroah-Hartman's 'send_lots_of_email.pl' +2. The original format used by Greg Kroah-Hartman's `send_lots_of_email.pl` script + -This format expects the first line of the file to contain the "Cc:" value -and the "Subject:" of the message as the second line. +This format expects the first line of the file to contain the `Cc:` value +and the `Subject:` of the message as the second line. OPTIONS @@ -54,13 +54,13 @@ Composing `sendemail.multiEdit`. --bcc=<address>,...:: - Specify a "Bcc:" value for each email. Default is the value of + Specify a `Bcc:` value for each email. Default is the value of `sendemail.bcc`. + This option may be specified multiple times. --cc=<address>,...:: - Specify a starting "Cc:" value for each email. + Specify a starting `Cc:` value for each email. Default is the value of `sendemail.cc`. + This option may be specified multiple times. @@ -69,14 +69,14 @@ This option may be specified multiple times. Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1]) to edit an introductory message for the patch series. + -When `--compose` is used, git send-email will use the From, To, Cc, Bcc, -Subject, Reply-To, and In-Reply-To headers specified in the message. If -the body of the message (what you type after the headers and a blank -line) only contains blank (or Git: prefixed) lines, the summary won't be +When `--compose` is used, `git send-email` will use the `From`, `To`, `Cc`, +`Bcc`, `Subject`, `Reply-To`, and `In-Reply-To` headers specified in the +message. If the body of the message (what you type after the headers and a +blank line) only contains blank (or `Git:` prefixed) lines, the summary won't be sent, but the headers mentioned above will be used unless they are removed. + -Missing From or In-Reply-To headers will be prompted for. +Missing `From` or `In-Reply-To` headers will be prompted for. + See the CONFIGURATION section for `sendemail.multiEdit`. @@ -85,13 +85,13 @@ See the CONFIGURATION section for `sendemail.multiEdit`. the value of the `sendemail.from` configuration option is used. If neither the command-line option nor `sendemail.from` are set, then the user will be prompted for the value. The default for the prompt will be - the value of GIT_AUTHOR_IDENT, or GIT_COMMITTER_IDENT if that is not - set, as returned by "git var -l". + the value of `GIT_AUTHOR_IDENT`, or `GIT_COMMITTER_IDENT` if that is not + set, as returned by `git var -l`. --reply-to=<address>:: Specify the address where replies from recipients should go to. Use this if replies to messages should go to another address than what - is specified with the --from parameter. + is specified with the `--from` parameter. --in-reply-to=<identifier>:: Make the first mail (or all the mails with `--no-thread`) appear as a @@ -112,19 +112,32 @@ illustration below where `[PATCH v2 0/3]` is in reply to `[PATCH 0/2]`: [PATCH v2 2/3] New tests [PATCH v2 3/3] Implementation + -Only necessary if --compose is also set. If --compose +Only necessary if `--compose` is also set. If `--compose` is not set, this will be prompted for. +--[no-]outlook-id-fix:: + Microsoft Outlook SMTP servers discard the Message-ID sent via email and + assign a new random Message-ID, thus breaking threads. ++ +With `--outlook-id-fix`, `git send-email` uses a mechanism specific to +Outlook servers to learn the Message-ID the server assigned to fix the +threading. Use it only when you know that the server reports the +rewritten Message-ID the same way as Outlook servers do. ++ +Without this option specified, the fix is done by default when talking +to 'smtp.office365.com' or 'smtp-mail.outlook.com'. Use +`--no-outlook-id-fix` to disable even when talking to these two servers. + --subject=<string>:: Specify the initial subject of the email thread. - Only necessary if --compose is also set. If --compose + Only necessary if `--compose` is also set. If `--compose` is not set, this will be prompted for. --to=<address>,...:: Specify the primary recipient of the emails generated. Generally, this will be the upstream maintainer of the project involved. Default is the value of the `sendemail.to` configuration value; if that is unspecified, - and --to-cmd is not specified, this will be prompted for. + and `--to-cmd` is not specified, this will be prompted for. + This option may be specified multiple times. @@ -132,30 +145,30 @@ This option may be specified multiple times. When encountering a non-ASCII message or subject that does not declare its encoding, add headers/quoting to indicate it is encoded in <encoding>. Default is the value of the - 'sendemail.assume8bitEncoding'; if that is unspecified, this + `sendemail.assume8bitEncoding`; if that is unspecified, this will be prompted for if any non-ASCII files are encountered. + Note that no attempts whatsoever are made to validate the encoding. --compose-encoding=<encoding>:: Specify encoding of compose message. Default is the value of the - 'sendemail.composeEncoding'; if that is unspecified, UTF-8 is assumed. + `sendemail.composeEncoding`; if that is unspecified, UTF-8 is assumed. --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto):: Specify the transfer encoding to be used to send the message over SMTP. - 7bit will fail upon encountering a non-ASCII message. quoted-printable + `7bit` will fail upon encountering a non-ASCII message. `quoted-printable` can be useful when the repository contains files that contain carriage - returns, but makes the raw patch email file (as saved from a MUA) much - harder to inspect manually. base64 is even more fool proof, but also - even more opaque. auto will use 8bit when possible, and quoted-printable - otherwise. + returns, but makes the raw patch email file (as saved from an MUA) much + harder to inspect manually. `base64` is even more fool proof, but also + even more opaque. `auto` will use `8bit` when possible, and + `quoted-printable` otherwise. + Default is the value of the `sendemail.transferEncoding` configuration value; if that is unspecified, default to `auto`. --xmailer:: --no-xmailer:: - Add (or prevent adding) the "X-Mailer:" header. By default, + Add (or prevent adding) the `X-Mailer:` header. By default, the header is added, but it can be turned off by setting the `sendemail.xmailer` configuration variable to `false`. @@ -165,9 +178,9 @@ Sending --envelope-sender=<address>:: Specify the envelope sender used to send the emails. This is useful if your default address is not the address that is - subscribed to a list. In order to use the 'From' address, set the - value to "auto". If you use the sendmail binary, you must have - suitable privileges for the -f parameter. Default is the value of the + subscribed to a list. In order to use the `From` address, set the + value to `auto`. If you use the `sendmail` binary, you must have + suitable privileges for the `-f` parameter. Default is the value of the `sendemail.envelopeSender` configuration variable; if that is unspecified, choosing the envelope sender is left to your MTA. @@ -176,27 +189,27 @@ Sending be sendmail-like; specifically, it must support the `-i` option. The command will be executed in the shell if necessary. Default is the value of `sendemail.sendmailCmd`. If unspecified, and if - --smtp-server is also unspecified, git-send-email will search - for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH. + `--smtp-server` is also unspecified, `git send-email` will search + for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH`. --smtp-encryption=<encryption>:: Specify in what way encrypting begins for the SMTP connection. - Valid values are 'ssl' and 'tls'. Any other value reverts to plain + Valid values are `ssl` and `tls`. Any other value reverts to plain (unencrypted) SMTP, which defaults to port 25. Despite the names, both values will use the same newer version of TLS, - but for historic reasons have these names. 'ssl' refers to "implicit" + but for historic reasons have these names. `ssl` refers to "implicit" encryption (sometimes called SMTPS), that uses port 465 by default. - 'tls' refers to "explicit" encryption (often known as STARTTLS), + `tls` refers to "explicit" encryption (often known as STARTTLS), that uses port 25 by default. Other ports might be used by the SMTP server, which are not the default. Commonly found alternative port for - 'tls' and unencrypted is 587. You need to check your provider's + `tls` and unencrypted is 587. You need to check your provider's documentation or your server configuration to make sure for your own case. Default is the value of `sendemail.smtpEncryption`. --smtp-domain=<FQDN>:: Specifies the Fully Qualified Domain Name (FQDN) used in the HELO/EHLO command to the SMTP server. Some servers require the - FQDN to match your IP address. If not set, git send-email attempts + FQDN to match your IP address. If not set, `git send-email` attempts to determine your FQDN automatically. Default is the value of `sendemail.smtpDomain`. @@ -210,10 +223,10 @@ $ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ... + If at least one of the specified mechanisms matches the ones advertised by the SMTP server and if it is supported by the utilized SASL library, the mechanism -is used for authentication. If neither 'sendemail.smtpAuth' nor `--smtp-auth` +is used for authentication. If neither `sendemail.smtpAuth` nor `--smtp-auth` is specified, all mechanisms supported by the SASL library can be used. The -special value 'none' maybe specified to completely disable authentication -independently of `--smtp-user` +special value `none` maybe specified to completely disable authentication +independently of `--smtp-user`. --smtp-pass[=<password>]:: Password for SMTP-AUTH. The argument is optional: If no @@ -225,16 +238,16 @@ Furthermore, passwords need not be specified in configuration files or on the command line. If a username has been specified (with `--smtp-user` or a `sendemail.smtpUser`), but no password has been specified (with `--smtp-pass` or `sendemail.smtpPass`), then -a password is obtained using 'git-credential'. +a password is obtained using linkgit:git-credential[1]. --no-smtp-auth:: - Disable SMTP authentication. Short hand for `--smtp-auth=none` + Disable SMTP authentication. Short hand for `--smtp-auth=none`. --smtp-server=<host>:: If set, specifies the outgoing SMTP server to use (e.g. `smtp.example.com` or a raw IP address). If unspecified, and if `--sendmail-cmd` is also unspecified, the default is to search - for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a + for `sendmail` in `/usr/sbin`, `/usr/lib` and `$PATH` if such a program is available, falling back to `localhost` otherwise. + For backward compatibility, this option can also specify a full pathname @@ -247,7 +260,7 @@ instead. Specifies a port different from the default port (SMTP servers typically listen to smtp port 25, but may also listen to submission port 587, or the common SSL smtp port 465); - symbolic port names (e.g. "submission" instead of 587) + symbolic port names (e.g. `submission` instead of 587) are also accepted. The port can also be set with the `sendemail.smtpServerPort` configuration variable. @@ -256,17 +269,17 @@ instead. Default value can be specified by the `sendemail.smtpServerOption` configuration option. + -The --smtp-server-option option must be repeated for each option you want +The `--smtp-server-option` option must be repeated for each option you want to pass to the server. Likewise, different lines in the configuration files must be used for each option. --smtp-ssl:: - Legacy alias for '--smtp-encryption ssl'. + Legacy alias for `--smtp-encryption ssl`. --smtp-ssl-cert-path:: Path to a store of trusted CA certificates for SMTP SSL/TLS certificate validation (either a directory that has been processed - by 'c_rehash', or a single file containing one or more PEM format + by `c_rehash`, or a single file containing one or more PEM format certificates concatenated together: see verify(1) -CAfile and -CApath for more information on these). Set it to an empty string to disable certificate verification. Defaults to the value of the @@ -285,18 +298,18 @@ must be used for each option. connection and authentication problems. --batch-size=<num>:: - Some email servers (e.g. smtp.163.com) limit the number emails to be + Some email servers (e.g. 'smtp.163.com') limit the number of emails to be sent per session (connection) and this will lead to a failure when sending many messages. With this option, send-email will disconnect after - sending $<num> messages and wait for a few seconds (see --relogin-delay) - and reconnect, to work around such a limit. You may want to - use some form of credential helper to avoid having to retype - your password every time this happens. Defaults to the + sending _<num>_ messages and wait for a few seconds + (see `--relogin-delay`) and reconnect, to work around such a limit. + You may want to use some form of credential helper to avoid having to + retype your password every time this happens. Defaults to the `sendemail.smtpBatchSize` configuration variable. --relogin-delay=<int>:: - Waiting $<int> seconds before reconnecting to SMTP server. Used together - with --batch-size option. Defaults to the `sendemail.smtpReloginDelay` + Waiting _<int>_ seconds before reconnecting to SMTP server. Used together + with `--batch-size` option. Defaults to the `sendemail.smtpReloginDelay` configuration variable. Automating @@ -305,7 +318,7 @@ Automating --no-to:: --no-cc:: --no-bcc:: - Clears any list of "To:", "Cc:", "Bcc:" addresses previously + Clears any list of `To:`, `Cc:`, `Bcc:` addresses previously set via config. --no-identity:: @@ -314,13 +327,13 @@ Automating --to-cmd=<command>:: Specify a command to execute once per patch file which - should generate patch file specific "To:" entries. + should generate patch file specific `To:` entries. Output of this command must be single email address per line. - Default is the value of 'sendemail.toCmd' configuration value. + Default is the value of `sendemail.toCmd` configuration value. --cc-cmd=<command>:: Specify a command to execute once per patch file which - should generate patch file specific "Cc:" entries. + should generate patch file specific `Cc:` entries. Output of this command must be single email address per line. Default is the value of `sendemail.ccCmd` configuration value. @@ -328,7 +341,7 @@ Automating Specify a command that is executed once per outgoing message and output RFC 2822 style header lines to be inserted into them. When the `sendemail.headerCmd` configuration variable is - set, its value is always used. When --header-cmd is provided + set, its value is always used. When `--header-cmd` is provided at the command line, its value takes precedence over the `sendemail.headerCmd` configuration variable. @@ -337,7 +350,7 @@ Automating --[no-]chain-reply-to:: If this is set, each email will be sent as a reply to the previous - email sent. If disabled with "--no-chain-reply-to", all emails after + email sent. If disabled with `--no-chain-reply-to`, all emails after the first will be sent as replies to the first email sent. When using this, it is recommended that the first file given be an overview of the entire patch series. Disabled by default, but the `sendemail.chainReplyTo` @@ -345,79 +358,80 @@ Automating --identity=<identity>:: A configuration identity. When given, causes values in the - 'sendemail.<identity>' subsection to take precedence over - values in the 'sendemail' section. The default identity is + `sendemail.<identity>` subsection to take precedence over + values in the `sendemail` section. The default identity is the value of `sendemail.identity`. --[no-]signed-off-by-cc:: - If this is set, add emails found in the `Signed-off-by` trailer or Cc: lines to the - cc list. Default is the value of `sendemail.signedOffByCc` configuration - value; if that is unspecified, default to --signed-off-by-cc. + If this is set, add emails found in the `Signed-off-by` trailer or `Cc:` + lines to the cc list. Default is the value of `sendemail.signedOffByCc` + configuration value; if that is unspecified, default to + `--signed-off-by-cc`. --[no-]cc-cover:: - If this is set, emails found in Cc: headers in the first patch of + If this is set, emails found in `Cc:` headers in the first patch of the series (typically the cover letter) are added to the cc list - for each email set. Default is the value of 'sendemail.ccCover' - configuration value; if that is unspecified, default to --no-cc-cover. + for each email set. Default is the value of `sendemail.ccCover` + configuration value; if that is unspecified, default to `--no-cc-cover`. --[no-]to-cover:: - If this is set, emails found in To: headers in the first patch of + If this is set, emails found in `To:` headers in the first patch of the series (typically the cover letter) are added to the to list - for each email set. Default is the value of 'sendemail.toCover' - configuration value; if that is unspecified, default to --no-to-cover. + for each email set. Default is the value of `sendemail.toCover` + configuration value; if that is unspecified, default to `--no-to-cover`. --suppress-cc=<category>:: Specify an additional category of recipients to suppress the auto-cc of: + -- -- 'author' will avoid including the patch author. -- 'self' will avoid including the sender. -- 'cc' will avoid including anyone mentioned in Cc lines in the patch header - except for self (use 'self' for that). -- 'bodycc' will avoid including anyone mentioned in Cc lines in the - patch body (commit message) except for self (use 'self' for that). -- 'sob' will avoid including anyone mentioned in the Signed-off-by trailers except - for self (use 'self' for that). -- 'misc-by' will avoid including anyone mentioned in Acked-by, +- `author` will avoid including the patch author. +- `self` will avoid including the sender. +- `cc` will avoid including anyone mentioned in Cc lines in the patch header + except for self (use `self` for that). +- `bodycc` will avoid including anyone mentioned in Cc lines in the + patch body (commit message) except for self (use `self` for that). +- `sob` will avoid including anyone mentioned in the Signed-off-by trailers except + for self (use `self` for that). +- `misc-by` will avoid including anyone mentioned in Acked-by, Reviewed-by, Tested-by and other "-by" lines in the patch body, - except Signed-off-by (use 'sob' for that). -- 'cccmd' will avoid running the --cc-cmd. -- 'body' is equivalent to 'sob' + 'bodycc' + 'misc-by'. -- 'all' will suppress all auto cc values. + except Signed-off-by (use `sob` for that). +- `cccmd` will avoid running the --cc-cmd. +- `body` is equivalent to `sob` + `bodycc` + `misc-by`. +- `all` will suppress all auto cc values. -- + Default is the value of `sendemail.suppressCc` configuration value; if -that is unspecified, default to 'self' if --suppress-from is -specified, as well as 'body' if --no-signed-off-cc is specified. +that is unspecified, default to `self` if `--suppress-from` is +specified, as well as `body` if `--no-signed-off-cc` is specified. --[no-]suppress-from:: - If this is set, do not add the From: address to the cc: list. + If this is set, do not add the `From:` address to the `Cc:` list. Default is the value of `sendemail.suppressFrom` configuration - value; if that is unspecified, default to --no-suppress-from. + value; if that is unspecified, default to `--no-suppress-from`. --[no-]thread:: - If this is set, the In-Reply-To and References headers will be + If this is set, the `In-Reply-To` and `References` headers will be added to each email sent. Whether each mail refers to the - previous email (`deep` threading per 'git format-patch' + previous email (`deep` threading per `git format-patch` wording) or to the first email (`shallow` threading) is - governed by "--[no-]chain-reply-to". + governed by `--[no-]chain-reply-to`. + -If disabled with "--no-thread", those headers will not be added -(unless specified with --in-reply-to). Default is the value of the +If disabled with `--no-thread`, those headers will not be added +(unless specified with `--in-reply-to`). Default is the value of the `sendemail.thread` configuration value; if that is unspecified, -default to --thread. +default to `--thread`. + It is up to the user to ensure that no In-Reply-To header already -exists when 'git send-email' is asked to add it (especially note that -'git format-patch' can be configured to do the threading itself). +exists when `git send-email` is asked to add it (especially note that +`git format-patch` can be configured to do the threading itself). Failure to do so may not produce the expected result in the recipient's MUA. --[no-]mailmap:: Use the mailmap file (see linkgit:gitmailmap[5]) to map all addresses to their canonical real name and email address. Additional - mailmap data specific to git-send-email may be provided using the + mailmap data specific to `git send-email` may be provided using the `sendemail.mailmap.file` or `sendemail.mailmap.blob` configuration values. Defaults to `sendemail.mailmap`. @@ -428,17 +442,17 @@ Administering Confirm just before sending: + -- -- 'always' will always confirm before sending -- 'never' will never confirm before sending -- 'cc' will confirm before sending when send-email has automatically - added addresses from the patch to the Cc list -- 'compose' will confirm before sending the first message when using --compose. -- 'auto' is equivalent to 'cc' + 'compose' +- `always` will always confirm before sending. +- `never` will never confirm before sending. +- `cc` will confirm before sending when send-email has automatically + added addresses from the patch to the Cc list. +- `compose` will confirm before sending the first message when using --compose. +- `auto` is equivalent to `cc` + `compose`. -- + Default is the value of `sendemail.confirm` configuration value; if that -is unspecified, default to 'auto' unless any of the suppress options -have been specified, in which case default to 'compose'. +is unspecified, default to `auto` unless any of the suppress options +have been specified, in which case default to `compose`. --dry-run:: Do everything except actually send the emails. @@ -447,10 +461,10 @@ have been specified, in which case default to 'compose'. When an argument may be understood either as a reference or as a file name, choose to understand it as a format-patch argument (`--format-patch`) or as a file name (`--no-format-patch`). By default, when such a conflict - occurs, git send-email will fail. + occurs, `git send-email` will fail. --quiet:: - Make git-send-email less verbose. One line per email should be + Make `git send-email` less verbose. One line per email should be all that is output. --[no-]validate:: @@ -461,7 +475,7 @@ have been specified, in which case default to 'compose'. * Invoke the sendemail-validate hook if present (see linkgit:githooks[5]). * Warn of patches that contain lines longer than 998 characters unless a suitable transfer encoding - ('auto', 'base64', or 'quoted-printable') is used; + (`auto`, `base64`, or `quoted-printable`) is used; this is due to SMTP limits as described by https://www.ietf.org/rfc/rfc5322.txt. -- @@ -480,28 +494,28 @@ Information Instead of the normal operation, dump the shorthand alias names from the configured alias file(s), one per line in alphabetical order. Note that this only includes the alias name and not its expanded email addresses. - See 'sendemail.aliasesFile' for more information about aliases. + See `sendemail.aliasesFile` for more information about aliases. --translate-aliases:: Instead of the normal operation, read from standard input and interpret each line as an email alias. Translate it according to the configured alias file(s). Output each translated name and email - address to standard output, one per line. See 'sendemail.aliasFile' + address to standard output, one per line. See `sendemail.aliasFile` for more information about aliases. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/sendemail.txt[] +include::config/sendemail.adoc[] -EXAMPLES --------- -Use gmail as the smtp server +EXAMPLES OF SMTP SERVERS +------------------------ +Use Gmail as the SMTP Server ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To use 'git send-email' to send your patches through the GMail SMTP server, -edit ~/.gitconfig to specify your account settings: +To use `git send-email` to send your patches through the Gmail SMTP server, +edit `~/.gitconfig` to specify your account settings: ---- [sendemail] @@ -511,10 +525,52 @@ edit ~/.gitconfig to specify your account settings: smtpServerPort = 587 ---- +Gmail does not allow using your regular password for `git send-email`. If you have multi-factor authentication set up on your Gmail account, you can -generate an app-specific password for use with 'git send-email'. Visit +generate an app-specific password for use with `git send-email`. Visit https://security.google.com/settings/security/apppasswords to create it. +Alternatively, instead of using an app-specific password, you can use +OAuth2.0 authentication with Gmail. OAuth2.0 is more secure than +app-specific passwords, and works regardless of whether you have multi-factor +authentication set up. `OAUTHBEARER` and `XOAUTH2` are common mechanisms used +for this type of authentication. Gmail supports both of them. As an example, +if you want to use `OAUTHBEARER`, edit your `~/.gitconfig` file and add +`smtpAuth = OAUTHBEARER` to your account settings: + +---- +[sendemail] + smtpEncryption = tls + smtpServer = smtp.gmail.com + smtpUser = yourname@gmail.com + smtpServerPort = 587 + smtpAuth = OAUTHBEARER +---- + +Another alternative is using a tool developed by Google known as +https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail[sendgmail] +to send emails using `git send-email`. + +Use Microsoft Outlook as the SMTP Server +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Unlike Gmail, Microsoft Outlook no longer supports app-specific passwords. +Therefore, OAuth2.0 authentication must be used for Outlook. Also, it only +supports `XOAUTH2` authentication mechanism. + +Edit `~/.gitconfig` to specify your account settings for Outlook and use its +SMTP server with `git send-email`: + +---- +[sendemail] + smtpEncryption = tls + smtpServer = smtp.office365.com + smtpUser = yourname@outlook.com + smtpServerPort = 587 + smtpAuth = XOAUTH2 +---- + +SENDING PATCHES +--------------- Once your commits are ready to be sent to the mailing list, run the following commands: @@ -523,15 +579,40 @@ following commands: $ git send-email outgoing/* The first time you run it, you will be prompted for your credentials. Enter the -app-specific or your regular password as appropriate. If you have credential -helper configured (see linkgit:git-credential[1]), the password will be saved in -the credential store so you won't have to type it the next time. +app-specific or your regular password as appropriate. + +If you have a credential helper configured (see linkgit:git-credential[1]), the +password will be saved in the credential store so you won't have to type it the +next time. + +If you are using OAuth2.0 authentication, you need to use an access token in +place of a password when prompted. Various OAuth2.0 token generators are +available online. Community maintained credential helpers are also available: + + - https://github.com/AdityaGarg8/git-credential-email[git-credential-gmail] + (cross platform, dedicated helper for authenticating Gmail accounts) + + - https://github.com/AdityaGarg8/git-credential-email[git-credential-outlook] + (cross platform, dedicated helper for authenticating Microsoft Outlook accounts) + + - https://github.com/AdityaGarg8/git-credential-email[git-credential-yahoo] + (cross platform, dedicated helper for authenticating Yahoo accounts) + +You can also see linkgit:gitcredentials[7] for more OAuth based authentication +helpers. Note: the following core Perl modules that may be installed with your distribution of Perl are required: -MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP. + +https://metacpan.org/pod/MIME::Base64[MIME::Base64], +https://metacpan.org/pod/MIME::QuotedPrint[MIME::QuotedPrint], +https://metacpan.org/pod/Net::Domain[Net::Domain] and +https://metacpan.org/pod/Net::SMTP[Net::SMTP]. + These additional Perl modules are also required: -Authen::SASL and Mail::Address. + +https://metacpan.org/pod/Authen::SASL[Authen::SASL] and +https://metacpan.org/pod/Mail::Address[Mail::Address]. SEE ALSO diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.adoc index b9e73f2e77..b9e73f2e77 100644 --- a/Documentation/git-send-pack.txt +++ b/Documentation/git-send-pack.adoc diff --git a/Documentation/git-sh-i18n--envsubst.txt b/Documentation/git-sh-i18n--envsubst.adoc index 2ffaf9392e..2ffaf9392e 100644 --- a/Documentation/git-sh-i18n--envsubst.txt +++ b/Documentation/git-sh-i18n--envsubst.adoc diff --git a/Documentation/git-sh-i18n.txt b/Documentation/git-sh-i18n.adoc index 60cf49cb2a..60cf49cb2a 100644 --- a/Documentation/git-sh-i18n.txt +++ b/Documentation/git-sh-i18n.adoc diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.adoc index bdaf6e5fc4..bdaf6e5fc4 100644 --- a/Documentation/git-sh-setup.txt +++ b/Documentation/git-sh-setup.adoc diff --git a/Documentation/git-shell.txt b/Documentation/git-shell.adoc index 11361f33e9..11361f33e9 100644 --- a/Documentation/git-shell.txt +++ b/Documentation/git-shell.adoc diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.adoc index 7d0277d033..d8ab38dcc1 100644 --- a/Documentation/git-shortlog.txt +++ b/Documentation/git-shortlog.adoc @@ -114,7 +114,7 @@ Paths may need to be prefixed with `--` to separate them from options or the revision range, when confusion arises. :git-shortlog: 1 -include::rev-list-options.txt[] +include::rev-list-options.adoc[] MAPPING AUTHORS --------------- diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.adoc index bc31d8b6d3..7e86d54a24 100644 --- a/Documentation/git-show-branch.txt +++ b/Documentation/git-show-branch.adoc @@ -202,9 +202,9 @@ topologically related to each other. CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/showbranch.txt[] +include::config/showbranch.adoc[] GIT --- diff --git a/Documentation/git-show-index.txt b/Documentation/git-show-index.adoc index e49318a5a0..00b3a908cd 100644 --- a/Documentation/git-show-index.txt +++ b/Documentation/git-show-index.adoc @@ -9,7 +9,7 @@ git-show-index - Show packed archive index SYNOPSIS -------- [verse] -'git show-index' [--object-format=<hash-algorithm>] +'git show-index' [--object-format=<hash-algorithm>] < <pack-idx-file> DESCRIPTION @@ -45,7 +45,7 @@ OPTIONS algorithm for the current repository (set by `extensions.objectFormat`), or 'sha1' if no value is set or outside a repository.. + -include::object-format-disclaimer.txt[] +include::object-format-disclaimer.adoc[] GIT --- diff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.adoc index 616d919655..616d919655 100644 --- a/Documentation/git-show-ref.txt +++ b/Documentation/git-show-ref.adoc diff --git a/Documentation/git-show.txt b/Documentation/git-show.adoc index 5eb67439af..51044c814f 100644 --- a/Documentation/git-show.txt +++ b/Documentation/git-show.adoc @@ -39,10 +39,10 @@ OPTIONS For a more complete list of ways to spell object names, see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7]. -include::pretty-options.txt[] +include::pretty-options.adoc[] -include::pretty-formats.txt[] +include::pretty-formats.adoc[] DIFF FORMATTING @@ -52,9 +52,9 @@ diff output. :git-log: 1 :diff-merges-default: `dense-combined` -include::diff-options.txt[] +include::diff-options.adoc[] -include::diff-generate-patch.txt[] +include::diff-generate-patch.adoc[] EXAMPLES @@ -83,7 +83,7 @@ EXAMPLES DISCUSSION ---------- -include::i18n.txt[] +include::i18n.adoc[] GIT --- diff --git a/Documentation/git-sparse-checkout.txt b/Documentation/git-sparse-checkout.adoc index 529a8edd9c..529a8edd9c 100644 --- a/Documentation/git-sparse-checkout.txt +++ b/Documentation/git-sparse-checkout.adoc diff --git a/Documentation/git-stage.txt b/Documentation/git-stage.adoc index 2f6aaa75b9..2f6aaa75b9 100644 --- a/Documentation/git-stage.txt +++ b/Documentation/git-stage.adoc diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.adoc index 06fb7f1d18..e5e6c9d37f 100644 --- a/Documentation/git-stash.txt +++ b/Documentation/git-stash.adoc @@ -23,6 +23,8 @@ SYNOPSIS 'git stash' clear 'git stash' create [<message>] 'git stash' store [(-m | --message) <message>] [-q | --quiet] <commit> +'git stash' export (--print | --to-ref <ref>) [<stash>...] +'git stash' import <commit> DESCRIPTION ----------- @@ -154,6 +156,18 @@ store:: reflog. This is intended to be useful for scripts. It is probably not the command you want to use; see "push" above. +export ( --print | --to-ref <ref> ) [<stash>...]:: + + Export the specified stashes, or all of them if none are specified, to + a chain of commits which can be transferred using the normal fetch and + push mechanisms, then imported using the `import` subcommand. + +import <commit>:: + + Import the specified stashes from the specified commit, which must have been + created by `export`, and add them to the list of stashes. To replace the + existing stashes, use `clear` first. + OPTIONS ------- -a:: @@ -242,6 +256,19 @@ literally (including newlines and quotes). + Quiet, suppress feedback messages. +--print:: + This option is only valid for the `export` command. ++ +Create the chain of commits representing the exported stashes without +storing it anywhere in the ref namespace and print the object ID to +standard output. This is designed for scripts. + +--to-ref:: + This option is only valid for the `export` command. ++ +Create the chain of commits representing the exported stashes and store +it to the specified ref. + \--:: This option is only valid for `push` command. + @@ -259,7 +286,7 @@ For more details, see the 'pathspec' entry in linkgit:gitglossary[7]. <stash>:: This option is only valid for `apply`, `branch`, `drop`, `pop`, - `show` commands. + `show`, and `export` commands. + A reference of the form `stash@{<revision>}`. When no `<stash>` is given, the latest stash is assumed (that is, `stash@{0}`). @@ -388,9 +415,9 @@ xargs git log --merges --no-walk --grep=WIP CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/stash.txt[] +include::config/stash.adoc[] SEE ALSO diff --git a/Documentation/git-status.txt b/Documentation/git-status.adoc index 9a376886a5..9a376886a5 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.adoc diff --git a/Documentation/git-stripspace.txt b/Documentation/git-stripspace.adoc index a293327581..37287f211f 100644 --- a/Documentation/git-stripspace.txt +++ b/Documentation/git-stripspace.adoc @@ -37,7 +37,8 @@ OPTIONS ------- -s:: --strip-comments:: - Skip and remove all lines starting with a comment character (default '#'). + Skip and remove all lines starting with a comment character + (`core.commentChar`, default `#`). -c:: --comment-lines:: diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.adoc index 87d8e0f0c5..87d8e0f0c5 100644 --- a/Documentation/git-submodule.txt +++ b/Documentation/git-submodule.adoc diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.adoc index bcf7d84a87..bcf7d84a87 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.adoc diff --git a/Documentation/git-switch.txt b/Documentation/git-switch.adoc index f38e4c8afa..9f62abf9e2 100644 --- a/Documentation/git-switch.txt +++ b/Documentation/git-switch.adoc @@ -7,11 +7,11 @@ git-switch - Switch branches SYNOPSIS -------- -[verse] -'git switch' [<options>] [--no-guess] <branch> -'git switch' [<options>] --detach [<start-point>] -'git switch' [<options>] (-c|-C) <new-branch> [<start-point>] -'git switch' [<options>] --orphan <new-branch> +[synopsis] +git switch [<options>] [--no-guess] <branch> +git switch [<options>] --detach [<start-point>] +git switch [<options>] (-c|-C) <new-branch> [<start-point>] +git switch [<options>] --orphan <new-branch> DESCRIPTION ----------- @@ -33,33 +33,33 @@ THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. OPTIONS ------- -<branch>:: +_<branch>_:: Branch to switch to. -<new-branch>:: +_<new-branch>_:: Name for the new branch. -<start-point>:: +_<start-point>_:: The starting point for the new branch. Specifying a - `<start-point>` allows you to create a branch based on some - other point in history than where HEAD currently points. (Or, + _<start-point>_ allows you to create a branch based on some + other point in history than where `HEAD` currently points. (Or, in the case of `--detach`, allows you to inspect and detach from some other point.) + -You can use the `@{-N}` syntax to refer to the N-th last -branch/commit switched to using "git switch" or "git checkout" +You can use the `@{-<N>}` syntax to refer to the _<N>_-th last +branch/commit switched to using `git switch` or `git checkout` operation. You may also specify `-` which is synonymous to `@{-1}`. This is often used to switch quickly between two branches, or to undo a branch switch by mistake. + -As a special case, you may use `A...B` as a shortcut for the merge -base of `A` and `B` if there is exactly one merge base. You can leave -out at most one of `A` and `B`, in which case it defaults to `HEAD`. - --c <new-branch>:: ---create <new-branch>:: - Create a new branch named `<new-branch>` starting at - `<start-point>` before switching to the branch. This is the +As a special case, you may use `<rev-a>...<rev-b>` as a shortcut for the merge +base of _<rev-a>_ and _<rev-b>_ if there is exactly one merge base. You can leave +out at most one of _<rev-a>_ and _<rev-b>_, in which case it defaults to `HEAD`. + +`-c <new-branch>`:: +`--create <new-branch>`:: + Create a new branch named _<new-branch>_ starting at + _<start-point>_ before switching to the branch. This is the transactional equivalent of + ------------ @@ -67,32 +67,32 @@ $ git branch <new-branch> $ git switch <new-branch> ------------ + -that is to say, the branch is not reset/created unless "git switch" is +that is to say, the branch is not reset/created unless `git switch` is successful (e.g., when the branch is in use in another worktree, not just the current branch stays the same, but the branch is not reset to the start-point, either). --C <new-branch>:: ---force-create <new-branch>:: - Similar to `--create` except that if `<new-branch>` already - exists, it will be reset to `<start-point>`. This is a +`-C <new-branch>`:: +`--force-create <new-branch>`:: + Similar to `--create` except that if _<new-branch>_ already + exists, it will be reset to _<start-point>_. This is a convenient shortcut for: + ------------ -$ git branch -f <new-branch> -$ git switch <new-branch> +$ git branch -f _<new-branch>_ +$ git switch _<new-branch>_ ------------ --d:: ---detach:: +`-d`:: +`--detach`:: Switch to a commit for inspection and discardable experiments. See the "DETACHED HEAD" section in linkgit:git-checkout[1] for details. ---guess:: ---no-guess:: - If `<branch>` is not found but there does exist a tracking - branch in exactly one remote (call it `<remote>`) with a +`--guess`:: +`--no-guess`:: + If _<branch>_ is not found but there does exist a tracking + branch in exactly one remote (call it _<remote>_) with a matching name, treat as equivalent to + ------------ @@ -101,9 +101,9 @@ $ git switch -c <branch> --track <remote>/<branch> + If the branch exists in multiple remotes and one of them is named by the `checkout.defaultRemote` configuration variable, we'll use that -one for the purposes of disambiguation, even if the `<branch>` isn't +one for the purposes of disambiguation, even if the _<branch>_ isn't unique across all remotes. Set it to e.g. `checkout.defaultRemote=origin` -to always checkout remote branches from there if `<branch>` is +to always checkout remote branches from there if _<branch>_ is ambiguous but exists on the 'origin' remote. See also `checkout.defaultRemote` in linkgit:git-config[1]. + @@ -112,19 +112,19 @@ ambiguous but exists on the 'origin' remote. See also The default behavior can be set via the `checkout.guess` configuration variable. --f:: ---force:: +`-f`:: +`--force`:: An alias for `--discard-changes`. ---discard-changes:: +`--discard-changes`:: Proceed even if the index or the working tree differs from `HEAD`. Both the index and working tree are restored to match the switching target. If `--recurse-submodules` is specified, submodule content is also restored to match the switching target. This is used to throw away local changes. --m:: ---merge:: +`-m`:: +`--merge`:: If you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in @@ -138,25 +138,25 @@ paths are left unmerged, and you need to resolve the conflicts and mark the resolved paths with `git add` (or `git rm` if the merge should result in deletion of the path). ---conflict=<style>:: +`--conflict=<style>`:: The same as `--merge` option above, but changes the way the conflicting hunks are presented, overriding the `merge.conflictStyle` configuration variable. Possible values are - "merge" (default), "diff3", and "zdiff3". + `merge` (default), `diff3`, and `zdiff3`. --q:: ---quiet:: +`-q`:: +`--quiet`:: Quiet, suppress feedback messages. ---progress:: ---no-progress:: +`--progress`:: +`--no-progress`:: Progress status is reported on the standard error stream by default when it is attached to a terminal, unless `--quiet` is specified. This flag enables progress reporting even if not attached to a terminal, regardless of `--quiet`. --t:: ---track [direct|inherit]:: +`-t`:: +`--track[ (direct|inherit)]`:: When creating a new branch, set up "upstream" configuration. `-c` is implied. See `--track` in linkgit:git-branch[1] for details. @@ -171,22 +171,22 @@ given name has no slash, or the above guessing results in an empty name, the guessing is aborted. You can explicitly give a name with `-c` in such a case. ---no-track:: +`--no-track`:: Do not set up "upstream" configuration, even if the `branch.autoSetupMerge` configuration variable is true. ---orphan <new-branch>:: - Create a new unborn branch, named `<new-branch>`. All +`--orphan <new-branch>`:: + Create a new unborn branch, named _<new-branch>_. All tracked files are removed. ---ignore-other-worktrees:: +`--ignore-other-worktrees`:: `git switch` refuses when the wanted ref is already checked out by another worktree. This option makes it check the ref out anyway. In other words, the ref can be held by more than one worktree. ---recurse-submodules:: ---no-recurse-submodules:: +`--recurse-submodules`:: +`--no-recurse-submodules`:: Using `--recurse-submodules` will update the content of all active submodules according to the commit recorded in the superproject. If nothing (or `--no-recurse-submodules`) is @@ -239,7 +239,7 @@ $ git switch - ------------ You can grow a new branch from any commit. For example, switch to -"HEAD~3" and create branch "fixup": +"`HEAD~3`" and create branch "`fixup`": ------------ $ git switch -c fixup HEAD~3 @@ -251,8 +251,8 @@ name: ------------ $ git switch new-topic -Branch 'new-topic' set up to track remote branch 'new-topic' from 'origin' -Switched to a new branch 'new-topic' +Branch `new-topic` set up to track remote branch `new-topic` from `origin` +Switched to a new branch `new-topic` ------------ To check out commit `HEAD~3` for temporary inspection or experiment @@ -273,9 +273,9 @@ $ git switch -c good-surprises CONFIGURATION ------------- -include::includes/cmd-config-section-all.txt[] +include::includes/cmd-config-section-all.adoc[] -include::config/checkout.txt[] +include::config/checkout.adoc[] SEE ALSO -------- diff --git a/Documentation/git-symbolic-ref.txt b/Documentation/git-symbolic-ref.adoc index 761b154bcb..33ca381fde 100644 --- a/Documentation/git-symbolic-ref.txt +++ b/Documentation/git-symbolic-ref.adoc @@ -73,6 +73,10 @@ default. symbolic ref were printed correctly, with status 1 if the requested name is not a symbolic ref, or 128 if another error occurs. +SEE ALSO +-------- +linkgit:git-update-ref[1] + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.adoc index 4494729f5e..a4b1c0ec05 100644 --- a/Documentation/git-tag.txt +++ b/Documentation/git-tag.adoc @@ -391,7 +391,7 @@ For example: $ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1 ------------ -include::date-formats.txt[] +include::date-formats.adoc[] FILES ----- @@ -406,7 +406,7 @@ FILES NOTES ----- -include::ref-reachability-filters.txt[] +include::ref-reachability-filters.adoc[] SEE ALSO -------- diff --git a/Documentation/git-tools.txt b/Documentation/git-tools.adoc index d0fec4cddd..d0fec4cddd 100644 --- a/Documentation/git-tools.txt +++ b/Documentation/git-tools.adoc diff --git a/Documentation/git-unpack-file.txt b/Documentation/git-unpack-file.adoc index e9f148a00d..e9f148a00d 100644 --- a/Documentation/git-unpack-file.txt +++ b/Documentation/git-unpack-file.adoc diff --git a/Documentation/git-unpack-objects.txt b/Documentation/git-unpack-objects.adoc index b3de50d710..b3de50d710 100644 --- a/Documentation/git-unpack-objects.txt +++ b/Documentation/git-unpack-objects.adoc diff --git a/Documentation/git-update-index.txt b/Documentation/git-update-index.adoc index 7128aed540..7128aed540 100644 --- a/Documentation/git-update-index.txt +++ b/Documentation/git-update-index.adoc diff --git a/Documentation/git-update-ref.txt b/Documentation/git-update-ref.adoc index afcf33cf60..9310ce9768 100644 --- a/Documentation/git-update-ref.txt +++ b/Documentation/git-update-ref.adoc @@ -7,8 +7,10 @@ git-update-ref - Update the object name stored in a ref safely SYNOPSIS -------- -[verse] -'git update-ref' [-m <reason>] [--no-deref] (-d <ref> [<old-oid>] | [--create-reflog] <ref> <new-oid> [<old-oid>] | --stdin [-z]) +[synopsis] +git update-ref [-m <reason>] [--no-deref] -d <ref> [<old-oid>] +git update-ref [-m <reason>] [--no-deref] [--create-reflog] <ref> <new-oid> [<old-oid>] +git update-ref [-m <reason>] [--no-deref] --stdin [-z] [--batch-updates] DESCRIPTION ----------- @@ -25,37 +27,16 @@ value is <old-oid>. You can specify 40 "0" or an empty string as <old-oid> to make sure that the ref you are creating does not exist. -It also allows a "ref" file to be a symbolic pointer to another -ref file by starting with the four-byte header sequence of -"ref:". - -More importantly, it allows the update of a ref file to follow -these symbolic pointers, whether they are symlinks or these -"regular file symbolic refs". It follows *real* symlinks only -if they start with "refs/": otherwise it will just try to read -them and update them as a regular file (i.e. it will allow the -filesystem to follow them, but will overwrite such a symlink to -somewhere else with a regular filename). +The final arguments are object names; this command without any options +does not support updating a symbolic ref to point to another ref (see +linkgit:git-symbolic-ref[1]). But `git update-ref --stdin` does have +the `symref-*` commands so that regular refs and symbolic refs can be +committed in the same transaction. If --no-deref is given, <ref> itself is overwritten, rather than the result of following the symbolic pointers. -In general, using - - git update-ref HEAD "$head" - -should be a _lot_ safer than doing - - echo "$head" > "$GIT_DIR/HEAD" - -both from a symlink following standpoint *and* an error checking -standpoint. The "refs/" rule for symlinks means that symlinks -that point to "outside" the tree are safe: they'll be followed -for reading but not for writing (so we'll never write through a -ref symlink to some other tree, if you have copied a whole -archive by creating a symlink tree). - -With `-d` flag, it deletes the named <ref> after verifying it +With `-d`, it deletes the named <ref> after verifying that it still contains <old-oid>. With `--stdin`, update-ref reads instructions from standard input and @@ -78,6 +59,14 @@ performs all modifications together. Specify commands of the form: With `--create-reflog`, update-ref will create a reflog for each ref even if one would not ordinarily be created. +With `--batch-updates`, update-ref executes the updates in a batch but allows +individual updates to fail due to invalid or incorrect user input, applying only +the successful updates. However, system-related errors—such as I/O failures or +memory issues—will result in a full failure of all batched updates. Any failed +updates will be reported in the following format: + + rejected SP (<old-oid> | <old-target>) SP (<new-oid> | <new-target>) SP <rejection-reason> LF + Quote fields containing whitespace as if they were strings in C source code; i.e., surrounded by double-quotes and with backslash escapes. Use 40 "0" characters or the empty string to specify a zero value. To @@ -114,11 +103,11 @@ update:: ref does not exist before the update. create:: - Create <ref> with <new-oid> after verifying it does not + Create <ref> with <new-oid> after verifying that it does not exist. The given <new-oid> may not be zero. delete:: - Delete <ref> after verifying it exists with <old-oid>, if + Delete <ref> after verifying that it exists with <old-oid>, if given. If given, <old-oid> may not be zero. symref-update:: @@ -131,11 +120,11 @@ verify:: <old-oid> is zero or missing, the ref must not exist. symref-create: - Create symbolic ref <ref> with <new-target> after verifying + Create symbolic ref <ref> with <new-target> after verifying that it does not exist. symref-delete:: - Delete <ref> after verifying it exists with <old-target>, if given. + Delete <ref> after verifying that it exists with <old-target>, if given. symref-verify:: Verify symbolic <ref> against <old-target> but do not change it. @@ -200,6 +189,21 @@ An update will fail (without changing <ref>) if the current user is unable to create a new log file, append to the existing log file or does not have committer information available. +NOTES +----- + +Symbolic refs were initially implemented using symbolic links. This is +now deprecated since not all filesystems support symbolic links. + +This command follows *real* symlinks only if they start with "refs/": +otherwise it will just try to read them and update them as a regular +file (i.e. it will allow the filesystem to follow them, but will +overwrite such a symlink to somewhere else with a regular filename). + +SEE ALSO +-------- +linkgit:git-symbolic-ref[1] + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.adoc index 6bc9b50d89..6bc9b50d89 100644 --- a/Documentation/git-update-server-info.txt +++ b/Documentation/git-update-server-info.adoc diff --git a/Documentation/git-upload-archive.txt b/Documentation/git-upload-archive.adoc index e8eb10baad..e8eb10baad 100644 --- a/Documentation/git-upload-archive.txt +++ b/Documentation/git-upload-archive.adoc diff --git a/Documentation/git-upload-pack.txt b/Documentation/git-upload-pack.adoc index 516d1639d9..516d1639d9 100644 --- a/Documentation/git-upload-pack.txt +++ b/Documentation/git-upload-pack.adoc diff --git a/Documentation/git-var.txt b/Documentation/git-var.adoc index 0680568dfd..b606c2d649 100644 --- a/Documentation/git-var.txt +++ b/Documentation/git-var.adoc @@ -8,8 +8,8 @@ git-var - Show a Git logical variable SYNOPSIS -------- -[verse] -'git var' (-l | <variable>) +[synopsis] +git var (-l | <variable>) DESCRIPTION ----------- @@ -18,7 +18,7 @@ no value. OPTIONS ------- --l:: +`-l`:: Display the logical variables. In addition, all the variables of the Git configuration file .git/config are listed as well. (However, the configuration variables listing functionality @@ -32,58 +32,56 @@ EXAMPLES VARIABLES --------- -GIT_AUTHOR_IDENT:: +`GIT_AUTHOR_IDENT`:: The author of a piece of code. -GIT_COMMITTER_IDENT:: +`GIT_COMMITTER_IDENT`:: The person who put a piece of code into Git. -GIT_EDITOR:: +`GIT_EDITOR`:: Text editor for use by Git commands. The value is meant to be interpreted by the shell when it is used. Examples: `~/bin/vi`, `$SOME_ENVIRONMENT_VARIABLE`, `"C:\Program Files\Vim\gvim.exe" - --nofork`. The order of preference is the `$GIT_EDITOR` - environment variable, then `core.editor` configuration, then - `$VISUAL`, then `$EDITOR`, and then the default chosen at compile + --nofork`. The order of preference is `$GIT_EDITOR`, then + `core.editor` configuration value, then `$VISUAL`, then + `$EDITOR`, and then the default chosen at compile time, which is usually 'vi'. ifdef::git-default-editor[] The build you are using chose '{git-default-editor}' as the default. endif::git-default-editor[] -GIT_SEQUENCE_EDITOR:: +`GIT_SEQUENCE_EDITOR`:: Text editor used to edit the 'todo' file while running `git rebase -i`. Like `GIT_EDITOR`, the value is meant to be interpreted by - the shell when it is used. The order of preference is the - `$GIT_SEQUENCE_EDITOR` environment variable, then - `sequence.editor` configuration, and then the value of `git var - GIT_EDITOR`. + the shell when it is used. The order of preference is + `$GIT_SEQUENCE_EDITOR`, then `sequence.editor` configuration value, + and then the value of `git var GIT_EDITOR`. -GIT_PAGER:: +`GIT_PAGER`:: Text viewer for use by Git commands (e.g., 'less'). The value is meant to be interpreted by the shell. The order of preference - is the `$GIT_PAGER` environment variable, then `core.pager` - configuration, then `$PAGER`, and then the default chosen at - compile time (usually 'less'). + is `$GIT_PAGER`, then the value of `core.pager` configuration, then + `$PAGER`, and then the default chosen at compile time (usually `less`). ifdef::git-default-pager[] The build you are using chose '{git-default-pager}' as the default. endif::git-default-pager[] -GIT_DEFAULT_BRANCH:: +`GIT_DEFAULT_BRANCH`:: The name of the first branch created in newly initialized repositories. -GIT_SHELL_PATH:: +`GIT_SHELL_PATH`:: The path of the binary providing the POSIX shell for commands which use the shell. -GIT_ATTR_SYSTEM:: +`GIT_ATTR_SYSTEM`:: The path to the system linkgit:gitattributes[5] file, if one is enabled. -GIT_ATTR_GLOBAL:: +`GIT_ATTR_GLOBAL`:: The path to the global (per-user) linkgit:gitattributes[5] file. -GIT_CONFIG_SYSTEM:: +`GIT_CONFIG_SYSTEM`:: The path to the system configuration file, if one is enabled. -GIT_CONFIG_GLOBAL:: +`GIT_CONFIG_GLOBAL`:: The path to the global (per-user) configuration files, if any. Most path values contain only one value. However, some can contain multiple diff --git a/Documentation/git-verify-commit.txt b/Documentation/git-verify-commit.adoc index aee4c40eac..ff5b8b97ef 100644 --- a/Documentation/git-verify-commit.txt +++ b/Documentation/git-verify-commit.adoc @@ -7,26 +7,24 @@ git-verify-commit - Check the GPG signature of commits SYNOPSIS -------- -[verse] -'git verify-commit' [-v | --verbose] [--raw] <commit>... +[synopsis] +git verify-commit [-v | --verbose] [--raw] <commit>... DESCRIPTION ----------- -Validates the GPG signature created by 'git commit -S'. +Validates the GPG signature created by `git commit -S` +on the commit objects given on the command line. OPTIONS ------- ---raw:: +`--raw`:: Print the raw gpg status output to standard error instead of the normal human-readable output. --v:: ---verbose:: +`-v`:: +`--verbose`:: Print the contents of the commit object before validating it. -<commit>...:: - SHA-1 identifiers of Git commit objects. - GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.adoc index d7e886918a..b0462d8db3 100644 --- a/Documentation/git-verify-pack.txt +++ b/Documentation/git-verify-pack.adoc @@ -8,43 +8,39 @@ git-verify-pack - Validate packed Git archive files SYNOPSIS -------- -[verse] -'git verify-pack' [-v | --verbose] [-s | --stat-only] [--] <pack>.idx... +[synopsis] +git verify-pack [-v | --verbose] [-s | --stat-only] [--] <pack>.idx... DESCRIPTION ----------- -Reads given idx file for packed Git archive created with the -'git pack-objects' command and verifies the idx file and the -corresponding pack file. +Read each idx file for packed Git archive given on the command line, +and verify the idx file and the corresponding pack file. OPTIONS ------- -<pack>.idx ...:: - The idx files to verify. - --v:: ---verbose:: +`-v`:: +`--verbose`:: After verifying the pack, show the list of objects contained in the pack and a histogram of delta chain length. --s:: ---stat-only:: +`-s`:: +`--stat-only`:: Do not verify the pack contents; only show the histogram of delta chain length. With `--verbose`, the list of objects is also shown. -\--:: +`--`:: Do not interpret any more arguments as options. OUTPUT FORMAT ------------- -When specifying the -v option the format used is: +When specifying the `-v` option the format used is: - SHA-1 type size size-in-packfile offset-in-packfile + object-name type size size-in-packfile offset-in-packfile for objects that are not deltified in the pack, and - SHA-1 type size size-in-packfile offset-in-packfile depth base-SHA-1 + object-name type size size-in-packfile offset-in-packfile depth base-object-name for objects that are deltified. diff --git a/Documentation/git-verify-tag.txt b/Documentation/git-verify-tag.adoc index 81d50ecc4c..b3721a86f4 100644 --- a/Documentation/git-verify-tag.txt +++ b/Documentation/git-verify-tag.adoc @@ -7,26 +7,24 @@ git-verify-tag - Check the GPG signature of tags SYNOPSIS -------- -[verse] -'git verify-tag' [-v | --verbose] [--format=<format>] [--raw] <tag>... +[synopsis] +git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>... DESCRIPTION ----------- -Validates the gpg signature created by 'git tag'. +Validates the gpg signature created by `git tag` in the tag +objects listed on the command line. OPTIONS ------- ---raw:: +`--raw`:: Print the raw gpg status output to standard error instead of the normal human-readable output. --v:: ---verbose:: +`-v`:: +`--verbose`:: Print the contents of the tag object before validating it. -<tag>...:: - SHA-1 identifiers of Git tag objects. - GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-version.txt b/Documentation/git-version.adoc index 80fa7754a6..9462043a14 100644 --- a/Documentation/git-version.txt +++ b/Documentation/git-version.adoc @@ -22,6 +22,14 @@ OPTIONS --build-options:: Include additional information about how git was built for diagnostic purposes. ++ +The libraries used to implement the SHA-1 and SHA-256 algorithms are displayed +in the form `SHA-1: <option>` and `SHA-256: <option>`. Note that the SHA-1 +options `SHA1_APPLE`, `SHA1_OPENSSL`, and `SHA1_BLK` do not use a collision +detection algorithm and thus may be vulnerable to known SHA-1 collision +attacks. When a faster SHA-1 implementation without collision detection is used +for only non-cryptographic purposes, the algorithm is displayed in the form +`non-collision-detecting-SHA-1: <option>`. GIT --- diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.adoc index f2f996cbe1..f2f996cbe1 100644 --- a/Documentation/git-web--browse.txt +++ b/Documentation/git-web--browse.adoc diff --git a/Documentation/git-whatchanged.txt b/Documentation/git-whatchanged.adoc index 8e55e0bb1e..d21484026f 100644 --- a/Documentation/git-whatchanged.txt +++ b/Documentation/git-whatchanged.adoc @@ -8,8 +8,14 @@ git-whatchanged - Show logs with differences each commit introduces SYNOPSIS -------- -[verse] -'git whatchanged' <option>... +[synopsis] +git whatchanged <option>... + +WARNING +------- +`git whatchanged` has been deprecated and is scheduled for removal in +a future version of Git, as it is merely `git log` with different +default; `whatchanged` is not even shorter to type than `log --raw`. DESCRIPTION ----------- diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.adoc index 2a240f53ba..8340b7f028 100644 --- a/Documentation/git-worktree.txt +++ b/Documentation/git-worktree.adoc @@ -157,7 +157,7 @@ will reestablish the connection. If multiple linked worktrees are moved, running `repair` from any worktree with each tree's new `<path>` as an argument, will reestablish the connection to all the specified paths. + -If both the main worktree and linked worktrees have been moved manually, +If both the main worktree and linked worktrees have been moved or copied manually, then running `repair` in the main worktree and specifying the new `<path>` of each linked worktree will reestablish all connections in both directions. @@ -216,6 +216,14 @@ To remove a locked worktree, specify `--force` twice. This can also be set up as the default behaviour by using the `worktree.guessRemote` config option. +--[no-]relative-paths:: + Link worktrees using relative paths or absolute paths (default). + Overrides the `worktree.useRelativePaths` config option, see + linkgit:git-config[1]. ++ +With `repair`, the linking files will be updated if there's an absolute/relative +mismatch, even if the links are correct. + --[no-]track:: When creating a new branch, if `<commit-ish>` is a branch, mark it as "upstream" from the new branch. This is the diff --git a/Documentation/git-write-tree.txt b/Documentation/git-write-tree.adoc index f22041a9dc..4c7100ea1e 100644 --- a/Documentation/git-write-tree.txt +++ b/Documentation/git-write-tree.adoc @@ -8,8 +8,8 @@ git-write-tree - Create a tree object from the current index SYNOPSIS -------- -[verse] -'git write-tree' [--missing-ok] [--prefix=<prefix>/] +[synopsis] +git write-tree [--missing-ok] [--prefix=<prefix>/] DESCRIPTION ----------- @@ -18,23 +18,23 @@ tree object is printed to standard output. The index must be in a fully merged state. -Conceptually, 'git write-tree' sync()s the current index contents +Conceptually, `git write-tree` sync()s the current index contents into a set of tree files. In order to have that match what is actually in your directory right -now, you need to have done a 'git update-index' phase before you did the -'git write-tree'. +now, you need to have done a `git update-index` phase before you did the +`git write-tree`. OPTIONS ------- ---missing-ok:: - Normally 'git write-tree' ensures that the objects referenced by the +`--missing-ok`:: + Normally `git write-tree` ensures that the objects referenced by the directory exist in the object database. This option disables this check. ---prefix=<prefix>/:: +`--prefix=<prefix>/`:: Writes a tree object that represents a subdirectory - `<prefix>`. This can be used to write the tree object + _<prefix>_. This can be used to write the tree object for a subproject that is in the named subdirectory. GIT diff --git a/Documentation/git.txt b/Documentation/git.adoc index d15a869762..743b7b00e4 100644 --- a/Documentation/git.txt +++ b/Documentation/git.adoc @@ -245,17 +245,17 @@ ancillary user utilities. Main porcelain commands ~~~~~~~~~~~~~~~~~~~~~~~ -include::cmds-mainporcelain.txt[] +include::{build_dir}/cmds-mainporcelain.adoc[] Ancillary Commands ~~~~~~~~~~~~~~~~~~ Manipulators: -include::cmds-ancillarymanipulators.txt[] +include::{build_dir}/cmds-ancillarymanipulators.adoc[] Interrogators: -include::cmds-ancillaryinterrogators.txt[] +include::{build_dir}/cmds-ancillaryinterrogators.adoc[] Interacting with Others @@ -264,7 +264,7 @@ Interacting with Others These commands are to interact with foreign SCM and with other people via patch over e-mail. -include::cmds-foreignscminterface.txt[] +include::{build_dir}/cmds-foreignscminterface.adoc[] Reset, restore and revert ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -313,13 +313,13 @@ repositories. Manipulation commands ~~~~~~~~~~~~~~~~~~~~~ -include::cmds-plumbingmanipulators.txt[] +include::{build_dir}/cmds-plumbingmanipulators.adoc[] Interrogation commands ~~~~~~~~~~~~~~~~~~~~~~ -include::cmds-plumbinginterrogators.txt[] +include::{build_dir}/cmds-plumbinginterrogators.adoc[] In general, the interrogate commands do not touch the files in the working tree. @@ -328,12 +328,12 @@ the working tree. Syncing repositories ~~~~~~~~~~~~~~~~~~~~ -include::cmds-synchingrepositories.txt[] +include::{build_dir}/cmds-synchingrepositories.adoc[] The following are helper commands used by the above; end users typically do not use them directly. -include::cmds-synchelpers.txt[] +include::{build_dir}/cmds-synchelpers.adoc[] Internal helper commands @@ -342,14 +342,14 @@ Internal helper commands These are internal helper commands used by other commands; end users typically do not use them directly. -include::cmds-purehelpers.txt[] +include::{build_dir}/cmds-purehelpers.adoc[] Guides ------ The following documentation pages are guides about Git concepts. -include::cmds-guide.txt[] +include::{build_dir}/cmds-guide.adoc[] Repository, command and file interfaces --------------------------------------- @@ -358,7 +358,7 @@ This documentation discusses repository and command interfaces which users are expected to interact with directly. See `--user-formats` in linkgit:git-help[1] for more details on the criteria. -include::cmds-userinterfaces.txt[] +include::{build_dir}/cmds-userinterfaces.adoc[] File formats, protocols and other developer interfaces ------------------------------------------------------ @@ -367,7 +367,7 @@ This documentation discusses file formats, over-the-wire protocols and other git developer interfaces. See `--developer-interfaces` in linkgit:git-help[1]. -include::cmds-developerinterfaces.txt[] +include::{build_dir}/cmds-developerinterfaces.adoc[] Configuration Mechanism ----------------------- @@ -472,11 +472,20 @@ Environment Variables --------------------- Various Git commands pay attention to environment variables and change their behavior. The environment variables marked as "Boolean" take -their values the same way as Boolean valued configuration variables, e.g. -"true", "yes", "on" and positive numbers are taken as "yes". +their values the same way as Boolean valued configuration variables, i.e., +"true", "yes", "on" and positive numbers are taken as "yes", while "false", +"no", "off", and "0" are taken as "no". Here are the variables: +System +~~~~~~ +`HOME`:: + Specifies the path to the user's home directory. On Windows, if + unset, Git will set a process environment variable equal to: + `$HOMEDRIVE$HOMEPATH` if both `$HOMEDRIVE` and `$HOMEPATH` exist; + otherwise `$USERPROFILE` if `$USERPROFILE` exists. + The Git Repository ~~~~~~~~~~~~~~~~~~ These environment variables apply to 'all' core Git commands. Nb: it diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.adoc index e6150595af..f20041a323 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.adoc @@ -513,7 +513,7 @@ If the filter command (a string value) is defined via `filter.<driver>.process` then Git can process all blobs with a single filter invocation for the entire life of a single Git command. This is achieved by using the long-running process protocol -(described in technical/long-running-process-protocol.txt). +(described in Documentation/technical/long-running-process-protocol.adoc). When Git encounters the first file that needs to be cleaned or smudged, it starts the filter and performs the handshake. In the handshake, the @@ -531,13 +531,14 @@ must not send any response before it received the content and the final flush packet. Also note that the "value" of a "key=value" pair can contain the "=" character whereas the key would never contain that character. ------------------------- + +----------------------- packet: git> command=smudge packet: git> pathname=path/testfile.dat packet: git> 0000 packet: git> CONTENT packet: git> 0000 ------------------------- +----------------------- The filter is expected to respond with a list of "key=value" pairs terminated with a flush packet. If the filter does not experience @@ -559,6 +560,7 @@ packet: git< 0000 # empty list, keep "status=success" unchanged! If the result content is empty then the filter is expected to respond with a "success" status and a flush packet to signal the empty content. + ------------------------ packet: git< status=success packet: git< 0000 @@ -568,14 +570,16 @@ packet: git< 0000 # empty list, keep "status=success" unchanged! In case the filter cannot or does not want to process the content, it is expected to respond with an "error" status. ------------------------- + +----------------------- packet: git< status=error packet: git< 0000 ------------------------- +----------------------- If the filter experiences an error during processing, then it can send the status "error" after the content was (partially or completely) sent. + ------------------------ packet: git< status=success packet: git< 0000 @@ -589,10 +593,11 @@ In case the filter cannot or does not want to process the content as well as any future content for the lifetime of the Git process, then it is expected to respond with an "abort" status at any point in the protocol. ------------------------- + +----------------------- packet: git< status=abort packet: git< 0000 ------------------------- +----------------------- Git neither stops nor restarts the filter process in case the "error"/"abort" status is set. However, Git sets its exit code @@ -613,7 +618,8 @@ flag "can-delay" after the filter command and pathname. This flag denotes that the filter can delay filtering the current blob (e.g. to compensate network latencies) by responding with no content but with the status "delayed" and a flush packet. ------------------------- + +----------------------- packet: git> command=smudge packet: git> pathname=path/testfile.dat packet: git> can-delay=1 @@ -622,7 +628,7 @@ packet: git> CONTENT packet: git> 0000 packet: git< status=delayed packet: git< 0000 ------------------------- +----------------------- If the filter supports the "delay" capability then it must support the "list_available_blobs" command. If Git sends this command, then the @@ -647,10 +653,12 @@ packet: git< status=success packet: git< 0000 ------------------------ + After Git received the pathnames, it will request the corresponding blobs again. These requests contain a pathname and an empty content section. The filter is expected to respond with the smudged content in the usual way as explained above. + ------------------------ packet: git> command=smudge packet: git> pathname=path/testfile.dat @@ -701,8 +709,8 @@ where the attribute is not in place would normally cause merge conflicts. To prevent these unnecessary merge conflicts, Git can be told to run a -virtual check-out and check-in of all three stages of a file when -resolving a three-way merge by setting the `merge.renormalize` +virtual check-out and check-in of all three stages of each file that +needs a three-way content merge, by setting the `merge.renormalize` configuration variable. This prevents changes caused by check-in conversion from causing spurious merge conflicts when a converted file is merged with an unconverted file. @@ -1166,7 +1174,7 @@ internal merge and the final merge. The merge driver can learn the pathname in which the merged result will be stored via placeholder `%P`. The conflict labels to be used for the common ancestor, local head and other head can be passed by -using '%S', '%X' and '%Y` respectively. +using `%S`, `%X` and `%Y` respectively. `conflict-marker-size` ^^^^^^^^^^^^^^^^^^^^^^ @@ -1177,11 +1185,11 @@ integer has a meaningful effect. For example, this line in `.gitattributes` can be used to tell the merge machinery to leave much longer (instead of the usual 7-character-long) -conflict markers when merging the file `Documentation/git-merge.txt` +conflict markers when merging the file `Documentation/git-merge.adoc` results in a conflict. ------------------------ -Documentation/git-merge.txt conflict-marker-size=32 +Documentation/git-merge.adoc conflict-marker-size=32 ------------------------ diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.adoc index 7c709324ba..1ea681b59d 100644 --- a/Documentation/gitcli.txt +++ b/Documentation/gitcli.adoc @@ -90,6 +90,15 @@ scripting Git: for long options. An option that takes optional option-argument must be written in the 'stuck' form. + * Despite the above suggestion, when Arg is a path relative to the + home directory of a user, e.g. `~/directory/file` or `~u/d/f`, you + may want to use the separate form, e.g. `git foo --file ~/mine`, + not `git foo --file=~/mine`. The shell will expand `~/` in the + former to your home directory, but most shells keep the tilde in + the latter. Some of our commands know how to tilde-expand the + option value even when given in the stuck form, but not all of + them do. + * When you give a revision parameter to a command, make sure the parameter is not ambiguous with a name of a file in the work tree. E.g. do not write `git log -1 HEAD` but write `git log -1 HEAD --`; the former will not work @@ -152,6 +161,23 @@ can use `--no-track` to override that behaviour. The same goes for `--color` and `--no-color`. +Options trump configuration and environment +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When there is a configuration variable or an environment variable +that tweak the behaviour of an aspect of a Git command, and also a +command line option that tweaks the same, the command line option +overrides what the configuration and/or environment variable say. + +For example, the `user.name` configuration variable is used to +specify the human-readable name used by the `git commit` command to +record the author and the committer name in a newly created commit. +The `GIT_AUTHOR_NAME` environment variable, if set, takes precedence +when deciding what author name to record. The `--author=<author>` +command line option of the `git commit` command, when given, takes +precedence over these two sources of information. + + Aggregating short options ~~~~~~~~~~~~~~~~~~~~~~~~~ Commands that support the enhanced option parser allow you to aggregate short @@ -183,13 +209,13 @@ $ git foo -o Arg However, this is *NOT* allowed for switches with an optional value, where the 'stuck' form must be used: + ---------------------------- $ git describe --abbrev HEAD # correct $ git describe --abbrev=10 HEAD # correct $ git describe --abbrev 10 HEAD # NOT WHAT YOU MEANT ---------------------------- - NOTES ON FREQUENTLY CONFUSED OPTIONS ------------------------------------ diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.adoc index 2122aeb976..2122aeb976 100644 --- a/Documentation/gitcore-tutorial.txt +++ b/Documentation/gitcore-tutorial.adoc diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.adoc index 71dd19731a..3337bb475d 100644 --- a/Documentation/gitcredentials.txt +++ b/Documentation/gitcredentials.adoc @@ -66,18 +66,7 @@ storage provided by the OS or other programs. Alternatively, a credential-generating helper might generate credentials for certain servers via some API. -To use a helper, you must first select one to use. Git currently -includes the following helpers: - -cache:: - - Cache credentials in memory for a short period of time. See - linkgit:git-credential-cache[1] for details. - -store:: - - Store credentials indefinitely on disk. See - linkgit:git-credential-store[1] for details. +To use a helper, you must first select one to use (see below for a list). You may also have third-party helpers installed; search for `credential-*` in the output of `git help -a`, and consult the @@ -106,6 +95,28 @@ $ git config --global credential.helper foo === Available helpers +Git currently includes the following helpers: + +cache:: + + Cache credentials in memory for a short period of time. See + linkgit:git-credential-cache[1] for details. + +store:: + + Store credentials indefinitely on disk. See + linkgit:git-credential-store[1] for details. + +Popular helpers with secure persistent storage include: + + - git-credential-libsecret (Linux) + + - git-credential-osxkeychain (macOS) + + - git-credential-wincred (Windows) + + - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows) + The community maintains a comprehensive list of Git credential helpers at https://git-scm.com/doc/credential-helpers. @@ -116,6 +127,12 @@ OAuth credential helper. Initial authentication opens a browser window to the host. Subsequent authentication happens in the background. Many popular Git hosts support OAuth. +Popular helpers with OAuth support include: + + - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows) + + - https://github.com/hickford/git-credential-oauth[git-credential-oauth] (cross platform, included in many Linux distributions) + CREDENTIAL CONTEXTS ------------------- @@ -242,6 +259,12 @@ Here are some example specifications: [credential] helper = "foo --bar='whitespace arg'" +# store helper (discouraged) with custom location for the db file; +# use `--file ~/.git-secret.txt`, rather than `--file=~/.git-secret.txt`, +# to allow the shell to expand tilde to the home directory. +[credential] + helper = "store --file ~/.git-secret.txt" + # you can also use an absolute path, which will not use the git wrapper [credential] helper = "/path/to/my/helper --with-arguments" diff --git a/Documentation/gitcvs-migration.txt b/Documentation/gitcvs-migration.adoc index 1cd1283d0f..1cd1283d0f 100644 --- a/Documentation/gitcvs-migration.txt +++ b/Documentation/gitcvs-migration.adoc diff --git a/Documentation/gitdiffcore.txt b/Documentation/gitdiffcore.adoc index 642c51227b..642c51227b 100644 --- a/Documentation/gitdiffcore.txt +++ b/Documentation/gitdiffcore.adoc diff --git a/Documentation/giteveryday.txt b/Documentation/giteveryday.adoc index 6cfdd0e07b..6cfdd0e07b 100644 --- a/Documentation/giteveryday.txt +++ b/Documentation/giteveryday.adoc diff --git a/Documentation/gitfaq.txt b/Documentation/gitfaq.adoc index f2917d142c..f2917d142c 100644 --- a/Documentation/gitfaq.txt +++ b/Documentation/gitfaq.adoc diff --git a/Documentation/gitformat-bundle.txt b/Documentation/gitformat-bundle.adoc index 1b75cf71ce..1b75cf71ce 100644 --- a/Documentation/gitformat-bundle.txt +++ b/Documentation/gitformat-bundle.adoc diff --git a/Documentation/gitformat-chunk.txt b/Documentation/gitformat-chunk.adoc index 3315df6201..3315df6201 100644 --- a/Documentation/gitformat-chunk.txt +++ b/Documentation/gitformat-chunk.adoc diff --git a/Documentation/gitformat-commit-graph.txt b/Documentation/gitformat-commit-graph.adoc index 14d1631234..14d1631234 100644 --- a/Documentation/gitformat-commit-graph.txt +++ b/Documentation/gitformat-commit-graph.adoc diff --git a/Documentation/gitformat-index.txt b/Documentation/gitformat-index.adoc index 145cace1fe..145cace1fe 100644 --- a/Documentation/gitformat-index.txt +++ b/Documentation/gitformat-index.adoc diff --git a/Documentation/gitformat-pack.txt b/Documentation/gitformat-pack.adoc index d6ae229be5..d6ae229be5 100644 --- a/Documentation/gitformat-pack.txt +++ b/Documentation/gitformat-pack.adoc diff --git a/Documentation/gitformat-signature.txt b/Documentation/gitformat-signature.adoc index d4d3a31f03..d4d3a31f03 100644 --- a/Documentation/gitformat-signature.txt +++ b/Documentation/gitformat-signature.adoc diff --git a/Documentation/gitglossary.txt b/Documentation/gitglossary.adoc index 571f640f5c..0e85be4847 100644 --- a/Documentation/gitglossary.txt +++ b/Documentation/gitglossary.adoc @@ -12,7 +12,7 @@ SYNOPSIS DESCRIPTION ----------- -include::glossary-content.txt[] +include::glossary-content.adoc[] SEE ALSO -------- diff --git a/Documentation/githooks.txt b/Documentation/githooks.adoc index 0397dec64d..0397dec64d 100644 --- a/Documentation/githooks.txt +++ b/Documentation/githooks.adoc diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.adoc index 5e0964ef41..5e0964ef41 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.adoc diff --git a/Documentation/gitk.txt b/Documentation/gitk.adoc index 35b3996029..58ce40ddb1 100644 --- a/Documentation/gitk.txt +++ b/Documentation/gitk.adoc @@ -98,7 +98,7 @@ linkgit:git-rev-list[1] for a complete list. (See "History simplification" in linkgit:git-log[1] for a more detailed explanation.) -include::line-range-options.txt[] +include::line-range-options.adoc[] <revision range>:: diff --git a/Documentation/gitmailmap.txt b/Documentation/gitmailmap.adoc index 06f4af93fe..06f4af93fe 100644 --- a/Documentation/gitmailmap.txt +++ b/Documentation/gitmailmap.adoc diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.adoc index d9bec8b187..d9bec8b187 100644 --- a/Documentation/gitmodules.txt +++ b/Documentation/gitmodules.adoc diff --git a/Documentation/gitnamespaces.txt b/Documentation/gitnamespaces.adoc index 1c8d2ecc35..06f4d37efa 100644 --- a/Documentation/gitnamespaces.txt +++ b/Documentation/gitnamespaces.adoc @@ -61,7 +61,7 @@ For a simple local test, you can use linkgit:git-remote-ext[1]: git clone ext::'git --namespace=foo %s /tmp/prefixed.git' ---------- -include::transfer-data-leaks.txt[] +include::transfer-data-leaks.adoc[] GIT --- diff --git a/Documentation/gitpacking.txt b/Documentation/gitpacking.adoc index 321154d4e6..a56596e2d1 100644 --- a/Documentation/gitpacking.txt +++ b/Documentation/gitpacking.adoc @@ -136,7 +136,7 @@ chunks of "stableSize" in order of age. The exact configuration for pseudo-merges is as follows: -include::config/bitmap-pseudo-merge.txt[] +include::config/bitmap-pseudo-merge.adoc[] === Examples diff --git a/Documentation/gitprotocol-capabilities.txt b/Documentation/gitprotocol-capabilities.adoc index 2cf7735be4..2cf7735be4 100644 --- a/Documentation/gitprotocol-capabilities.txt +++ b/Documentation/gitprotocol-capabilities.adoc diff --git a/Documentation/gitprotocol-common.txt b/Documentation/gitprotocol-common.adoc index cdc9d6e707..b4a5316ca4 100644 --- a/Documentation/gitprotocol-common.txt +++ b/Documentation/gitprotocol-common.adoc @@ -21,11 +21,13 @@ ABNF Notation ABNF notation as described by RFC 5234 is used within the protocol documents, except the following replacement core rules are used: + ---- HEXDIG = DIGIT / "a" / "b" / "c" / "d" / "e" / "f" ---- We also define the following common rules: + ---- NUL = %x00 zero-id = 40*"0" diff --git a/Documentation/gitprotocol-http.txt b/Documentation/gitprotocol-http.adoc index ec40a550cc..ec40a550cc 100644 --- a/Documentation/gitprotocol-http.txt +++ b/Documentation/gitprotocol-http.adoc diff --git a/Documentation/gitprotocol-pack.txt b/Documentation/gitprotocol-pack.adoc index 837b691c89..837b691c89 100644 --- a/Documentation/gitprotocol-pack.txt +++ b/Documentation/gitprotocol-pack.adoc diff --git a/Documentation/gitprotocol-v2.txt b/Documentation/gitprotocol-v2.adoc index ca83b2ecc5..9a57005d77 100644 --- a/Documentation/gitprotocol-v2.txt +++ b/Documentation/gitprotocol-v2.adoc @@ -54,7 +54,7 @@ In general a client can request to speak protocol v2 by sending `version=2` through the respective side-channel for the transport being used which inevitably sets `GIT_PROTOCOL`. More information can be found in linkgit:gitprotocol-pack[5] and linkgit:gitprotocol-http[5], as well as the -`GIT_PROTOCOL` definition in `git.txt`. In all cases the +`GIT_PROTOCOL` definition in linkgit:git[1]. In all cases the response from the server is the capability advertisement. Git Transport @@ -99,7 +99,7 @@ Uses the `--http-backend-info-refs` option to linkgit:git-upload-pack[1]. The server may need to be configured to pass this header's contents via -the `GIT_PROTOCOL` variable. See the discussion in `git-http-backend.txt`. +the `GIT_PROTOCOL` variable. See the discussion in linkgit:git-http-backend[1]. Capability Advertisement ------------------------ @@ -184,9 +184,13 @@ form `agent=X`) to notify the client that the server is running version the `agent` capability with a value `Y` (in the form `agent=Y`) in its request to the server (but it MUST NOT do so if the server did not advertise the agent capability). The `X` and `Y` strings may contain any -printable ASCII characters except space (i.e., the byte range 32 < x < -127), and are typically of the form "package/version" (e.g., -"git/1.8.3.1"). The agent strings are purely informative for statistics +printable ASCII characters except space (i.e., the byte range 33 <= x <= +126), and are typically of the form "package/version-os" (e.g., +"git/1.8.3.1-Linux") where `os` is the operating system name (e.g., +"Linux"). `X` and `Y` can be configured using the GIT_USER_AGENT +environment variable and it takes priority. The `os` is +retrieved using the 'sysname' field of the `uname(2)` system call +or its equivalent. The agent strings are purely informative for statistics and debugging purposes, and MUST NOT be used to programmatically assume the presence or absence of particular features. @@ -776,11 +780,65 @@ This would allow for optimizing the common case of servers who'd like to provide one "big bundle" containing only their "main" branch, and/or incremental updates thereof. + -A client receiving such a a response MAY assume that they can skip +A client receiving such a response MAY assume that they can skip retrieving the header from a bundle at the indicated URI, and thus save themselves and the server(s) the request(s) needed to inspect the headers of that bundle or bundles. +promisor-remote=<pr-infos> +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The server may advertise some promisor remotes it is using or knows +about to a client which may want to use them as its promisor remotes, +instead of this repository. In this case <pr-infos> should be of the +form: + + pr-infos = pr-info | pr-infos ";" pr-info + + pr-info = "name=" pr-name | "name=" pr-name "," "url=" pr-url + +where `pr-name` is the urlencoded name of a promisor remote, and +`pr-url` the urlencoded URL of that promisor remote. + +In this case, if the client decides to use one or more promisor +remotes the server advertised, it can reply with +"promisor-remote=<pr-names>" where <pr-names> should be of the form: + + pr-names = pr-name | pr-names ";" pr-name + +where `pr-name` is the urlencoded name of a promisor remote the server +advertised and the client accepts. + +Note that, everywhere in this document, `pr-name` MUST be a valid +remote name, and the ';' and ',' characters MUST be encoded if they +appear in `pr-name` or `pr-url`. + +If the server doesn't know any promisor remote that could be good for +a client to use, or prefers a client not to use any promisor remote it +uses or knows about, it shouldn't advertise the "promisor-remote" +capability at all. + +In this case, or if the client doesn't want to use any promisor remote +the server advertised, the client shouldn't advertise the +"promisor-remote" capability at all in its reply. + +The "promisor.advertise" and "promisor.acceptFromServer" configuration +options can be used on the server and client side to control what they +advertise or accept respectively. See the documentation of these +configuration options for more information. + +Note that in the future it would be nice if the "promisor-remote" +protocol capability could be used by the server, when responding to +`git fetch` or `git clone`, to advertise better-connected remotes that +the client can use as promisor remotes, instead of this repository, so +that the client can lazily fetch objects from these other +better-connected remotes. This would require the server to omit in its +response the objects available on the better-connected remotes that +the client has accepted. This hasn't been implemented yet though. So +for now this "promisor-remote" capability is useful only when the +server advertises some promisor remotes it already uses to borrow +objects from. + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/gitremote-helpers.txt b/Documentation/gitremote-helpers.adoc index d0be008e5e..39cdece16e 100644 --- a/Documentation/gitremote-helpers.txt +++ b/Documentation/gitremote-helpers.adoc @@ -498,7 +498,7 @@ set by Git if the remote helper has the 'option' capability. ask for the tag specifically. Some helpers may be able to use this option to avoid a second network connection. -'option dry-run' {'true'|'false'}: +'option dry-run' {'true'|'false'}:: If true, pretend the operation completed successfully, but don't actually change any repository data. For most helpers this only applies to the 'push', if supported. diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.adoc index 949cd8a31e..7421ef956d 100644 --- a/Documentation/gitrepository-layout.txt +++ b/Documentation/gitrepository-layout.adoc @@ -152,8 +152,9 @@ config.worktree:: working directory in multiple working directory setup (see linkgit:git-worktree[1]). +ifndef::with-breaking-changes[] branches:: - A slightly deprecated way to store shorthands to be used + A deprecated way to store shorthands to be used to specify a URL to 'git fetch', 'git pull' and 'git push'. A file can be stored as `branches/<name>` and then 'name' can be given to these commands in place of @@ -162,7 +163,9 @@ branches:: and not likely to be found in modern repositories. This directory is ignored if $GIT_COMMON_DIR is set and "$GIT_COMMON_DIR/branches" will be used instead. - ++ +Git will stop reading remotes from this directory in Git 3.0. +endif::with-breaking-changes[] hooks:: Hooks are customization scripts used by various Git @@ -230,6 +233,7 @@ info/sparse-checkout:: This file stores sparse checkout patterns. See also: linkgit:git-read-tree[1]. +ifndef::with-breaking-changes[] remotes:: Stores shorthands for URL and default refnames for use when interacting with remote repositories via 'git fetch', @@ -238,6 +242,9 @@ remotes:: and not likely to be found in modern repositories. This directory is ignored if $GIT_COMMON_DIR is set and "$GIT_COMMON_DIR/remotes" will be used instead. ++ +Git will stop reading remotes from this directory in Git 3.0. +endif::with-breaking-changes[] logs:: Records of changes made to refs are stored in this directory. @@ -292,12 +299,13 @@ worktrees/<id>/locked:: worktrees/<id>/config.worktree:: Working directory specific configuration file. -include::technical/repository-version.txt[] +include::technical/repository-version.adoc[] SEE ALSO -------- linkgit:git-init[1], linkgit:git-clone[1], +linkgit:git-config[1], linkgit:git-fetch[1], linkgit:git-pack-refs[1], linkgit:git-gc[1], diff --git a/Documentation/gitrevisions.txt b/Documentation/gitrevisions.adoc index d407b7dee1..7146117de5 100644 --- a/Documentation/gitrevisions.txt +++ b/Documentation/gitrevisions.adoc @@ -24,7 +24,7 @@ linkgit:git-push[1]) can also take revision parameters which denote other objects than commits, e.g. blobs ("files") or trees ("directories of files"). -include::revisions.txt[] +include::revisions.adoc[] SEE ALSO diff --git a/Documentation/gitsubmodules.txt b/Documentation/gitsubmodules.adoc index f7b5a25a0c..f7b5a25a0c 100644 --- a/Documentation/gitsubmodules.txt +++ b/Documentation/gitsubmodules.adoc diff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.adoc index 8bdb7d0bd3..8bdb7d0bd3 100644 --- a/Documentation/gittutorial-2.txt +++ b/Documentation/gittutorial-2.adoc diff --git a/Documentation/gittutorial.txt b/Documentation/gittutorial.adoc index f89ad30cf6..f89ad30cf6 100644 --- a/Documentation/gittutorial.txt +++ b/Documentation/gittutorial.adoc diff --git a/Documentation/gitweb.txt b/Documentation/gitweb.adoc index 5e2b491ec2..4261f9e235 100644 --- a/Documentation/gitweb.txt +++ b/Documentation/gitweb.adoc @@ -103,6 +103,7 @@ You can generate the projects list index file using the project_index action "Generating projects list using gitweb" section below. Example contents: + ----------------------------------------------------------------------- foo.git Joe+R+Hacker+<joe@example.com> foo/bar.git O+W+Ner+<owner@example.org> @@ -124,6 +125,7 @@ Generating projects list using gitweb We assume that GITWEB_CONFIG has its default Makefile value, namely 'gitweb_config.perl'. Put the following in 'gitweb_make_index.perl' file: + ---------------------------------------------------------------------------- read_config_file("gitweb_config.perl"); $projects_list = $projectroot; @@ -518,12 +520,14 @@ rules. If you use the rewrite rules from the example you *might* also need something like the following in your gitweb configuration file (`/etc/gitweb.conf` following example): + ---------------------------------------------------------------------------- @stylesheets = ("/some/absolute/path/gitweb.css"); $my_uri = "/"; $home_link = "/"; $per_request_config = 1; ---------------------------------------------------------------------------- + Nowadays though gitweb should create HTML base tag when needed (to set base URI for relative links), so it should work automatically. @@ -535,6 +539,7 @@ Apache virtual host and gitweb configuration files in the following way. The virtual host configuration (in Apache configuration file) should look like this: + -------------------------------------------------------------------------- <VirtualHost *:80> ServerName git.example.org @@ -575,9 +580,11 @@ like this: Here actual project root is passed to gitweb via `GITWEB_PROJECT_ROOT` environment variable from a web server, so you need to put the following line in gitweb configuration file (`/etc/gitweb.conf` in above example): + -------------------------------------------------------------------------- $projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/pub/git"; -------------------------------------------------------------------------- + *Note* that this requires to be set for each request, so either `$per_request_config` must be false, or the above must be put in code referenced by `$per_request_config`; @@ -604,9 +611,11 @@ the third and the fourth. PATH_INFO usage ~~~~~~~~~~~~~~~ If you enable PATH_INFO usage in gitweb by putting + ---------------------------------------------------------------------------- $feature{'pathinfo'}{'default'} = [1]; ---------------------------------------------------------------------------- + in your gitweb configuration file, it is possible to set up your server so that it consumes and produces URLs in the form @@ -636,6 +645,7 @@ complementary static files (stylesheet, favicon, JavaScript): </Directory> </VirtualHost> ---------------------------------------------------------------------------- + The rewrite rule guarantees that existing static files will be properly served, whereas any other URL will be passed to gitweb as PATH_INFO parameter. @@ -647,6 +657,7 @@ for fetching" section). A possible workaround for the latter is the following: in your project root dir (e.g. `/pub/git`) have the projects named *without* a .git extension (e.g. `/pub/git/project` instead of `/pub/git/project.git`) and configure Apache as follows: + ---------------------------------------------------------------------------- <VirtualHost *:80> ServerAlias git.example.com diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.adoc index 85983587fc..1348e9b125 100644 --- a/Documentation/gitweb.conf.txt +++ b/Documentation/gitweb.conf.adoc @@ -603,6 +603,7 @@ Many gitweb features can be enabled (or disabled) and configured using the Each `%feature` hash element is a hash reference and has the following structure: + ---------------------------------------------------------------------- "<feature-name>" => { "sub" => <feature-sub-(subroutine)>, @@ -613,6 +614,7 @@ structure: Some features cannot be overridden per project. For those features the structure of appropriate `%feature` hash element has a simpler form: + ---------------------------------------------------------------------- "<feature-name>" => { "override" => 0, diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.adoc index 59305265c5..59305265c5 100644 --- a/Documentation/gitworkflows.txt +++ b/Documentation/gitworkflows.adoc diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.adoc index 42afe04869..575c18f776 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.adoc @@ -696,6 +696,11 @@ the `refs/tags/` hierarchy is used to represent local tags.. that each contain very well defined concepts or small incremental yet related changes. +[[def_trailer]]trailer:: + Key-value metadata. Trailers are optionally found at the end of + a commit message. Might be called "footers" or "tags" in other + communities. See linkgit:git-interpret-trailers[1]. + [[def_tree]]tree:: Either a <<def_working_tree,working tree>>, or a <<def_tree_object,tree object>> together with the dependent <<def_blob_object,blob>> and tree objects diff --git a/Documentation/howto/coordinate-embargoed-releases.txt b/Documentation/howto/coordinate-embargoed-releases.adoc index b9cb95e82f..b9cb95e82f 100644 --- a/Documentation/howto/coordinate-embargoed-releases.txt +++ b/Documentation/howto/coordinate-embargoed-releases.adoc diff --git a/Documentation/howto-index.sh b/Documentation/howto/howto-index.sh index 167b363668..ace49830a8 100755 --- a/Documentation/howto-index.sh +++ b/Documentation/howto/howto-index.sh @@ -9,9 +9,9 @@ people describing how they use Git in their workflow. EOF -for txt +for adoc do - title=$(expr "$txt" : '.*/\(.*\)\.txt$') + title=$(expr "$adoc" : '.*/\(.*\)\.adoc$') from=$(sed -ne ' /^$/q /^From:[ ]/{ @@ -21,7 +21,7 @@ do s/^/by / p } - ' "$txt") + ' "$adoc") abstract=$(sed -ne ' /^Abstract:[ ]/{ @@ -39,16 +39,16 @@ do x p q - }' "$txt") + }' "$adoc") - if grep 'Content-type: text/asciidoc' >/dev/null $txt + if grep 'Content-type: text/asciidoc' >/dev/null $adoc then - file=$(expr "$txt" : '\(.*\)\.txt$').html + file=$(expr "$adoc" : '\(.*\)\.adoc$').html else - file="$txt" + file="$adoc" fi - echo "* link:$file[$title] $from + echo "* link:howto/$(basename "$file")[$title] $from $abstract " diff --git a/Documentation/howto/keep-canonical-history-correct.txt b/Documentation/howto/keep-canonical-history-correct.adoc index 5f800fd85a..e98f03275e 100644 --- a/Documentation/howto/keep-canonical-history-correct.txt +++ b/Documentation/howto/keep-canonical-history-correct.adoc @@ -13,7 +13,7 @@ that appears to be "backwards" from what other project developers expect. This howto presents a suggested integration workflow for maintaining a central repository. -Suppose that that central repository has this history: +Suppose that the central repository has this history: ------------ ---o---o---A diff --git a/Documentation/howto/maintain-git.txt b/Documentation/howto/maintain-git.adoc index 45e2599c5d..45e2599c5d 100644 --- a/Documentation/howto/maintain-git.txt +++ b/Documentation/howto/maintain-git.adoc diff --git a/Documentation/howto/meson.build b/Documentation/howto/meson.build new file mode 100644 index 0000000000..81000028c0 --- /dev/null +++ b/Documentation/howto/meson.build @@ -0,0 +1,62 @@ +howto_sources = [ + 'coordinate-embargoed-releases.adoc', + 'keep-canonical-history-correct.adoc', + 'maintain-git.adoc', + 'new-command.adoc', + 'rebase-from-internal-branch.adoc', + 'rebuild-from-update-hook.adoc', + 'recover-corrupted-blob-object.adoc', + 'recover-corrupted-object-harder.adoc', + 'revert-a-faulty-merge.adoc', + 'revert-branch-rebase.adoc', + 'separating-topic-branches.adoc', + 'setup-git-server-over-http.adoc', + 'update-hook-example.adoc', + 'use-git-daemon.adoc', + 'using-merge-subtree.adoc', + 'using-signed-tag-in-pull-request.adoc', +] + +howto_index = custom_target( + command: [ + shell, + meson.current_source_dir() / 'howto-index.sh', + '@INPUT@', + ], + env: script_environment, + capture: true, + input: howto_sources, + output: 'howto-index.adoc', +) + +custom_target( + command: asciidoc_html_options, + input: howto_index, + output: 'howto-index.html', + depends: documentation_deps, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', +) + +foreach howto : howto_sources + howto_stripped = custom_target( + command: [ + sed, + '-e', + '1,/^$/d', + '@INPUT@', + ], + input: howto, + output: fs.stem(howto) + '.stripped', + capture: true, + ) + + custom_target( + command: asciidoc_html_options, + input: howto_stripped, + output: fs.stem(howto_stripped.full_path()) + '.html', + depends: documentation_deps, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc/howto', + ) +endforeach diff --git a/Documentation/howto/new-command.txt b/Documentation/howto/new-command.adoc index 880c51112b..ac73c98be7 100644 --- a/Documentation/howto/new-command.txt +++ b/Documentation/howto/new-command.adoc @@ -48,7 +48,7 @@ binary); this organization makes it easy for people reading the code to find things. See the CodingGuidelines document for other guidance on what we consider -good practice in C and shell, and api-builtin.txt for the support +good practice in C and shell, and builtin.h for the support functions available to built-in commands written in C. What every extension command needs diff --git a/Documentation/howto/rebase-from-internal-branch.txt b/Documentation/howto/rebase-from-internal-branch.adoc index f2e10a7ec8..f2e10a7ec8 100644 --- a/Documentation/howto/rebase-from-internal-branch.txt +++ b/Documentation/howto/rebase-from-internal-branch.adoc diff --git a/Documentation/howto/rebuild-from-update-hook.txt b/Documentation/howto/rebuild-from-update-hook.adoc index db219f5c07..db219f5c07 100644 --- a/Documentation/howto/rebuild-from-update-hook.txt +++ b/Documentation/howto/rebuild-from-update-hook.adoc diff --git a/Documentation/howto/recover-corrupted-blob-object.txt b/Documentation/howto/recover-corrupted-blob-object.adoc index 1b3b188d3c..1b3b188d3c 100644 --- a/Documentation/howto/recover-corrupted-blob-object.txt +++ b/Documentation/howto/recover-corrupted-blob-object.adoc diff --git a/Documentation/howto/recover-corrupted-object-harder.txt b/Documentation/howto/recover-corrupted-object-harder.adoc index 5efb4fe81f..86a1ba75cf 100644 --- a/Documentation/howto/recover-corrupted-object-harder.txt +++ b/Documentation/howto/recover-corrupted-object-harder.adoc @@ -125,7 +125,7 @@ static int try_zlib(unsigned char *buf, int len) { /* make this absurdly large so we don't have to loop */ static unsigned char out[1024*1024]; - z_stream z; + struct z_stream_s z; int ret; memset(&z, 0, sizeof(z)); @@ -278,7 +278,7 @@ int main(int argc, char **argv) static unsigned char buf[25 * 1024 * 1024]; static unsigned char out[25 * 1024 * 1024]; int len; - z_stream z; + struct z_stream_s z; int ret; len = read(0, buf, sizeof(buf)); diff --git a/Documentation/howto/revert-a-faulty-merge.txt b/Documentation/howto/revert-a-faulty-merge.adoc index 19f59cc888..19f59cc888 100644 --- a/Documentation/howto/revert-a-faulty-merge.txt +++ b/Documentation/howto/revert-a-faulty-merge.adoc diff --git a/Documentation/howto/revert-branch-rebase.txt b/Documentation/howto/revert-branch-rebase.adoc index a3e5595a56..a3e5595a56 100644 --- a/Documentation/howto/revert-branch-rebase.txt +++ b/Documentation/howto/revert-branch-rebase.adoc diff --git a/Documentation/howto/separating-topic-branches.txt b/Documentation/howto/separating-topic-branches.adoc index 81be0d6115..81be0d6115 100644 --- a/Documentation/howto/separating-topic-branches.txt +++ b/Documentation/howto/separating-topic-branches.adoc diff --git a/Documentation/howto/setup-git-server-over-http.txt b/Documentation/howto/setup-git-server-over-http.adoc index bfe6f9b500..bfe6f9b500 100644 --- a/Documentation/howto/setup-git-server-over-http.txt +++ b/Documentation/howto/setup-git-server-over-http.adoc diff --git a/Documentation/howto/update-hook-example.txt b/Documentation/howto/update-hook-example.adoc index 4e727deedd..4e727deedd 100644 --- a/Documentation/howto/update-hook-example.txt +++ b/Documentation/howto/update-hook-example.adoc diff --git a/Documentation/howto/use-git-daemon.txt b/Documentation/howto/use-git-daemon.adoc index 2cad9b3ca5..2cad9b3ca5 100644 --- a/Documentation/howto/use-git-daemon.txt +++ b/Documentation/howto/use-git-daemon.adoc diff --git a/Documentation/howto/using-merge-subtree.txt b/Documentation/howto/using-merge-subtree.adoc index 3bd581ac35..3bd581ac35 100644 --- a/Documentation/howto/using-merge-subtree.txt +++ b/Documentation/howto/using-merge-subtree.adoc diff --git a/Documentation/howto/using-signed-tag-in-pull-request.txt b/Documentation/howto/using-signed-tag-in-pull-request.adoc index bbf040eda8..bbf040eda8 100644 --- a/Documentation/howto/using-signed-tag-in-pull-request.txt +++ b/Documentation/howto/using-signed-tag-in-pull-request.adoc diff --git a/Documentation/i18n.txt b/Documentation/i18n.adoc index 3a866af4a4..baff780a7e 100644 --- a/Documentation/i18n.txt +++ b/Documentation/i18n.adoc @@ -34,7 +34,7 @@ project find it more convenient to use legacy encodings, Git does not forbid it. However, there are a few things to keep in mind. -. 'git commit' and 'git commit-tree' issue +. `git commit` and `git commit-tree` issue a warning if the commit log message given to it does not look like a valid UTF-8 string, unless you explicitly say your project uses a legacy encoding. The way to say this is to @@ -50,7 +50,7 @@ of `i18n.commitEncoding` in their `encoding` header. This is to help other people who look at them later. Lack of this header implies that the commit log message is encoded in UTF-8. -. 'git log', 'git show', 'git blame' and friends look at the +. `git log`, `git show`, `git blame` and friends look at the `encoding` header of a commit object, and try to re-code the log message into UTF-8 unless otherwise specified. You can specify the desired output encoding with diff --git a/Documentation/includes/cmd-config-section-all.txt b/Documentation/includes/cmd-config-section-all.adoc index 296a239f2a..296a239f2a 100644 --- a/Documentation/includes/cmd-config-section-all.txt +++ b/Documentation/includes/cmd-config-section-all.adoc diff --git a/Documentation/includes/cmd-config-section-rest.txt b/Documentation/includes/cmd-config-section-rest.adoc index b1e7682c1d..b1e7682c1d 100644 --- a/Documentation/includes/cmd-config-section-rest.txt +++ b/Documentation/includes/cmd-config-section-rest.adoc diff --git a/Documentation/install-webdoc.sh b/Documentation/install-webdoc.sh index ed8b4ff3e5..b237b311c3 100755 --- a/Documentation/install-webdoc.sh +++ b/Documentation/install-webdoc.sh @@ -3,10 +3,10 @@ T="$1" for h in \ - *.txt *.html \ - howto/*.txt howto/*.html \ - technical/*.txt technical/*.html \ - RelNotes/*.txt *.css + *.adoc *.html \ + howto/*.adoc howto/*.html \ + technical/*.adoc technical/*.html \ + RelNotes/*.adoc *.css do if test ! -f "$h" then @@ -24,13 +24,13 @@ do done strip_leading=$(echo "$T/" | sed -e 's|.|.|g') for th in \ - "$T"/*.html "$T"/*.txt \ - "$T"/howto/*.txt "$T"/howto/*.html \ - "$T"/technical/*.txt "$T"/technical/*.html + "$T"/*.html "$T"/*.adoc \ + "$T"/howto/*.adoc "$T"/howto/*.html \ + "$T"/technical/*.adoc "$T"/technical/*.html do h=$(expr "$th" : "$strip_leading"'\(.*\)') case "$h" in - RelNotes-*.txt | index.html) continue ;; + RelNotes-*.adoc | index.html) continue ;; esac test -f "$h" && continue echo >&2 "# rm -f $th" diff --git a/Documentation/line-range-format.txt b/Documentation/line-range-format.adoc index 9b51e9fb66..9b51e9fb66 100644 --- a/Documentation/line-range-format.txt +++ b/Documentation/line-range-format.adoc diff --git a/Documentation/line-range-options.txt b/Documentation/line-range-options.adoc index 8e295a62b8..f275df3b69 100644 --- a/Documentation/line-range-options.txt +++ b/Documentation/line-range-options.adoc @@ -12,4 +12,4 @@ (namely `--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`, `--name-only`, `--name-status`, `--check`) are not currently implemented. + -include::line-range-format.txt[] +include::line-range-format.adoc[] diff --git a/Documentation/lint-gitlink.perl b/Documentation/lint-gitlink.perl index 1c61dd9512..aea564dad7 100755 --- a/Documentation/lint-gitlink.perl +++ b/Documentation/lint-gitlink.perl @@ -5,7 +5,7 @@ use warnings; # Parse arguments, a simple state machine for input like: # -# <file-to-check.txt> <valid-files-to-link-to> --section=1 git.txt git-add.txt [...] --to-lint git-add.txt a-file.txt [...] +# <file-to-check.adoc> <valid-files-to-link-to> --section=1 git.adoc git-add.adoc [...] --to-lint git-add.adoc a-file.adoc [...] my %TXT; my %SECTION; my $section; @@ -17,7 +17,7 @@ for my $arg (@ARGV) { next; } - my ($name) = $arg =~ /^(.*?)\.txt$/s; + my ($name) = $arg =~ /^(.*?)\.adoc$/s; unless (defined $section) { $TXT{$name} = $arg; next; diff --git a/Documentation/lint-manpages.sh b/Documentation/lint-manpages.sh index 92cfc0a15a..a0ea572382 100755 --- a/Documentation/lint-manpages.sh +++ b/Documentation/lint-manpages.sh @@ -31,7 +31,7 @@ check_missing_docs () ( git-?*--?* ) continue ;; esac - if ! test -f "$v.txt" + if ! test -f "$v.adoc" then echo "no doc: $v" ret=1 @@ -63,9 +63,9 @@ check_extraneous_docs () { -e 's/[ ].*//' \ -e 's/^/listed /' ../command-list.txt make print-man1 | - grep '\.txt$' | + grep '\.adoc$' | sed -e 's|^|documented |' \ - -e 's/\.txt//' + -e 's/\.adoc//' ) | ( all_commands="$(printf "%s " "$ALL_COMMANDS" "$BUILT_INS" "$EXCLUDED_PROGRAMS" | tr '\n' ' ')" ret=0 diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.adoc index 3eaefc4e94..95ef491be1 100644 --- a/Documentation/merge-options.txt +++ b/Documentation/merge-options.adoc @@ -1,23 +1,23 @@ ---commit:: ---no-commit:: +`--commit`:: +`--no-commit`:: Perform the merge and commit the result. This option can - be used to override --no-commit. + be used to override `--no-commit`. ifdef::git-pull[] Only useful when merging. endif::git-pull[] + -With --no-commit perform the merge and stop just before creating +With `--no-commit` perform the merge and stop just before creating a merge commit, to give the user a chance to inspect and further tweak the merge result before committing. + Note that fast-forward updates do not create a merge commit and -therefore there is no way to stop those merges with --no-commit. +therefore there is no way to stop those merges with `--no-commit`. Thus, if you want to ensure your branch is not changed or updated -by the merge command, use --no-ff with --no-commit. +by the merge command, use `--no-ff` with `--no-commit`. ---edit:: --e:: ---no-edit:: +`--edit`:: +`-e`:: +`--no-edit`:: Invoke an editor before committing successful mechanical merge to further edit the auto-generated merge message, so that the user can explain and justify the merge. The `--no-edit` option can be @@ -35,17 +35,17 @@ they run `git merge`. To make it easier to adjust such scripts to the updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be set to `no` at the beginning of them. ---cleanup=<mode>:: +`--cleanup=<mode>`:: This option determines how the merge message will be cleaned up before committing. See linkgit:git-commit[1] for more details. In addition, if - the '<mode>' is given a value of `scissors`, scissors will be appended + the _<mode>_ is given a value of `scissors`, scissors will be appended to `MERGE_MSG` before being passed on to the commit machinery in the case of a merge conflict. ifdef::git-merge[] ---ff:: ---no-ff:: ---ff-only:: +`--ff`:: +`--no-ff`:: +`--ff-only`:: Specifies how a merge is handled when the merged-in history is already a descendant of the current history. `--ff` is the default unless merging an annotated (and possibly signed) tag @@ -53,13 +53,13 @@ ifdef::git-merge[] hierarchy, in which case `--no-ff` is assumed. endif::git-merge[] ifdef::git-pull[] ---ff-only:: +`--ff-only`:: Only update to the new history if there is no divergent local history. This is the default when no method for reconciling divergent histories is provided (via the --rebase=* flags). ---ff:: ---no-ff:: +`--ff`:: +`--no-ff`:: When merging rather than rebasing, specifies how a merge is handled when the merged-in history is already a descendant of the current history. If merging is requested, `--ff` is the @@ -81,40 +81,43 @@ With `--ff-only`, resolve the merge as a fast-forward when possible. When not possible, refuse to merge and exit with a non-zero status. endif::git-merge[] --S[<keyid>]:: ---gpg-sign[=<keyid>]:: ---no-gpg-sign:: - GPG-sign the resulting merge commit. The `keyid` argument is +`-S[<key-id>]`:: +`--gpg-sign[=<key-id>]`:: +`--no-gpg-sign`:: + GPG-sign the resulting merge commit. The _<key-id>_ argument is optional and defaults to the committer identity; if specified, it must be stuck to the option without a space. `--no-gpg-sign` is useful to countermand both `commit.gpgSign` configuration variable, and earlier `--gpg-sign`. ---log[=<n>]:: ---no-log:: +`--log[=<n>]`:: +`--no-log`:: In addition to branch names, populate the log message with - one-line descriptions from at most <n> actual commits that are being + one-line descriptions from at most _<n>_ actual commits that are being merged. See also linkgit:git-fmt-merge-msg[1]. ifdef::git-pull[] Only useful when merging. endif::git-pull[] + -With --no-log do not list one-line descriptions from the +With `--no-log` do not list one-line descriptions from the actual commits being merged. -include::signoff-option.txt[] +include::signoff-option.adoc[] ---stat:: --n:: ---no-stat:: +`--stat`:: +`-n`:: +`--no-stat`:: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat. + -With -n or --no-stat do not show a diffstat at the end of the +With `-n` or `--no-stat` do not show a diffstat at the end of the merge. ---squash:: ---no-squash:: +`--compact-summary`:: + Show a compact-summary at the end of the merge. + +`--squash`:: +`--no-squash`:: Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit, move the `HEAD`, or record `$GIT_DIR/MERGE_HEAD` @@ -123,16 +126,16 @@ merge. the current branch whose effect is the same as merging another branch (or more in case of an octopus). + -With --no-squash perform the merge and commit the result. This -option can be used to override --squash. +With `--no-squash` perform the merge and commit the result. This +option can be used to override `--squash`. + -With --squash, --commit is not allowed, and will fail. +With `--squash`, `--commit` is not allowed, and will fail. ifdef::git-pull[] + Only useful when merging. endif::git-pull[] ---[no-]verify:: +`--[no-]verify`:: By default, the pre-merge and commit-msg hooks are run. When `--no-verify` is given, these are bypassed. See also linkgit:githooks[5]. @@ -140,21 +143,21 @@ ifdef::git-pull[] Only useful when merging. endif::git-pull[] --s <strategy>:: ---strategy=<strategy>:: +`-s <strategy>`:: +`--strategy=<strategy>`:: Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried. If there is no `-s` option, a built-in list of strategies is used instead (`ort` when merging a single head, `octopus` otherwise). --X <option>:: ---strategy-option=<option>:: +`-X <option>`:: +`--strategy-option=<option>`:: Pass merge strategy specific option through to the merge strategy. ---verify-signatures:: ---no-verify-signatures:: +`--verify-signatures`:: +`--no-verify-signatures`:: Verify that the tip commit of the side branch being merged is signed with a valid key, i.e. a key that has a valid uid: in the default trust model, this means the signing key has been signed by @@ -165,22 +168,22 @@ ifdef::git-pull[] Only useful when merging. endif::git-pull[] ---summary:: ---no-summary:: - Synonyms to --stat and --no-stat; these are deprecated and will be +`--summary`:: +`--no-summary`:: + Synonyms to `--stat` and `--no-stat`; these are deprecated and will be removed in the future. ifndef::git-pull[] --q:: ---quiet:: - Operate quietly. Implies --no-progress. +`-q`:: +`--quiet`:: + Operate quietly. Implies `--no-progress`. --v:: ---verbose:: +`-v`:: +`--verbose`:: Be verbose. ---progress:: ---no-progress:: +`--progress`:: +`--no-progress`:: Turn progress on/off explicitly. If neither is specified, progress is shown if standard error is connected to a terminal. Note that not all merge strategies may support progress @@ -188,8 +191,8 @@ ifndef::git-pull[] endif::git-pull[] ---autostash:: ---no-autostash:: +`--autostash`:: +`--no-autostash`:: Automatically create a temporary stash entry before the operation begins, record it in the ref `MERGE_AUTOSTASH` and apply it after the operation ends. This means @@ -197,13 +200,13 @@ endif::git-pull[] with care: the final stash application after a successful merge might result in non-trivial conflicts. ---allow-unrelated-histories:: +`--allow-unrelated-histories`:: By default, `git merge` command refuses to merge histories that do not share a common ancestor. This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable - this by default exists and will not be added. + this by default exists or will be added. ifdef::git-pull[] + Only useful when merging. diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.adoc index 5fc54ec060..2ba43f84e7 100644 --- a/Documentation/merge-strategies.txt +++ b/Documentation/merge-strategies.adoc @@ -6,7 +6,7 @@ backend 'merge strategies' to be chosen with `-s` option. Some strategies can also take their own options, which can be passed by giving `-X<option>` arguments to `git merge` and/or `git pull`. -ort:: +`ort`:: This is the default merge strategy when pulling or merging one branch. This strategy can only resolve two heads using a 3-way merge algorithm. When there is more than one common @@ -22,26 +22,33 @@ ort:: was written as a replacement for the previous default algorithm, `recursive`. + -The 'ort' strategy can take the following options: +In the case where the path is a submodule, if the submodule commit used on +one side of the merge is a descendant of the submodule commit used on the +other side of the merge, Git attempts to fast-forward to the +descendant. Otherwise, Git will treat this case as a conflict, suggesting +as a resolution a submodule commit that is descendant of the conflicting +ones, if one exists. ++ +The `ort` strategy can take the following options: -ours;; +`ours`;; This option forces conflicting hunks to be auto-resolved cleanly by favoring 'our' version. Changes from the other tree that do not conflict with our side are reflected in the merge result. For a binary file, the entire contents are taken from our side. + -This should not be confused with the 'ours' merge strategy, which does not +This should not be confused with the `ours` merge strategy, which does not even look at what the other tree contains at all. It discards everything the other tree did, declaring 'our' history contains all that happened in it. -theirs;; - This is the opposite of 'ours'; note that, unlike 'ours', there is - no 'theirs' merge strategy to confuse this merge option with. +`theirs`;; + This is the opposite of `ours`; note that, unlike `ours`, there is + no `theirs` merge strategy to confuse this merge option with. -ignore-space-change;; -ignore-all-space;; -ignore-space-at-eol;; -ignore-cr-at-eol;; +`ignore-space-change`;; +`ignore-all-space`;; +`ignore-space-at-eol`;; +`ignore-cr-at-eol`;; Treats lines with the indicated type of whitespace change as unchanged for the sake of a three-way merge. Whitespace changes mixed with other changes to a line are not ignored. @@ -54,97 +61,89 @@ ignore-cr-at-eol;; version includes a substantial change, 'their' version is used; * Otherwise, the merge proceeds in the usual way. -renormalize;; +`renormalize`;; This runs a virtual check-out and check-in of all three stages - of a file when resolving a three-way merge. This option is + of any file which needs a three-way merge. This option is meant to be used when merging branches with different clean filters or end-of-line normalization rules. See "Merging branches with differing checkin/checkout attributes" in linkgit:gitattributes[5] for details. -no-renormalize;; +`no-renormalize`;; Disables the `renormalize` option. This overrides the `merge.renormalize` configuration variable. -find-renames[=<n>];; +`find-renames[=<n>]`;; Turn on rename detection, optionally setting the similarity threshold. This is the default. This overrides the - 'merge.renames' configuration variable. + `merge.renames` configuration variable. See also linkgit:git-diff[1] `--find-renames`. -rename-threshold=<n>;; +`rename-threshold=<n>`;; Deprecated synonym for `find-renames=<n>`. -subtree[=<path>];; - This option is a more advanced form of 'subtree' strategy, where - the strategy makes a guess on how two trees must be shifted to - match with each other when merging. Instead, the specified path - is prefixed (or stripped from the beginning) to make the shape of - two trees to match. +`no-renames`;; + Turn off rename detection. This overrides the `merge.renames` + configuration variable. + See also linkgit:git-diff[1] `--no-renames`. -recursive:: - This can only resolve two heads using a 3-way merge - algorithm. When there is more than one common - ancestor that can be used for 3-way merge, it creates a - merged tree of the common ancestors and uses that as - the reference tree for the 3-way merge. This has been - reported to result in fewer merge conflicts without - causing mismerges by tests done on actual merge commits - taken from Linux 2.6 kernel development history. - Additionally this can detect and handle merges involving - renames. It does not make use of detected copies. This was - the default strategy for resolving two heads from Git v0.99.9k - until v2.33.0. -+ -The 'recursive' strategy takes the same options as 'ort'. However, -there are three additional options that 'ort' ignores (not documented -above) that are potentially useful with the 'recursive' strategy: +`histogram`;; + Deprecated synonym for `diff-algorithm=histogram`. -patience;; +`patience`;; Deprecated synonym for `diff-algorithm=patience`. -diff-algorithm=[patience|minimal|histogram|myers];; +`diff-algorithm=(histogram|minimal|myers|patience)`;; Use a different diff algorithm while merging, which can help avoid mismerges that occur due to unimportant matching lines (such as braces from distinct functions). See also linkgit:git-diff[1] `--diff-algorithm`. Note that `ort` - specifically uses `diff-algorithm=histogram`, while `recursive` - defaults to the `diff.algorithm` config setting. + defaults to `diff-algorithm=histogram`, while regular diffs + currently default to the `diff.algorithm` config setting. -no-renames;; - Turn off rename detection. This overrides the `merge.renames` - configuration variable. - See also linkgit:git-diff[1] `--no-renames`. +`subtree[=<path>]`;; + This option is a more advanced form of 'subtree' strategy, where + the strategy makes a guess on how two trees must be shifted to + match with each other when merging. Instead, the specified path + is prefixed (or stripped from the beginning) to make the shape of + two trees to match. + +`recursive`:: + This is now a synonym for `ort`. It was an alternative + implementation until v2.49.0, but was redirected to mean `ort` + in v2.50.0. The previous recursive strategy was the default + strategy for resolving two heads from Git v0.99.9k until + v2.33.0. -resolve:: +`resolve`:: This can only resolve two heads (i.e. the current branch and another branch you pulled from) using a 3-way merge algorithm. It tries to carefully detect criss-cross merge ambiguities. It does not handle renames. -octopus:: +`octopus`:: This resolves cases with more than two heads, but refuses to do a complex merge that needs manual resolution. It is primarily meant to be used for bundling topic branch heads together. This is the default merge strategy when pulling or merging more than one branch. -ours:: +`ours`:: This resolves any number of heads, but the resulting tree of the merge is always that of the current branch head, effectively ignoring all changes from all other branches. It is meant to be used to supersede old development history of side - branches. Note that this is different from the -Xours option to - the 'recursive' merge strategy. + branches. Note that this is different from the `-Xours` option to + the `ort` merge strategy. -subtree:: +`subtree`:: This is a modified `ort` strategy. When merging trees A and B, if B corresponds to a subtree of A, B is first adjusted to match the tree structure of A, instead of reading the trees at the same level. This adjustment is also done to the common ancestor tree. -With the strategies that use 3-way merge (including the default, 'ort'), +With the strategies that use 3-way merge (including the default, `ort`), if a change is made on both branches, but later reverted on one of the branches, that change will be present in the merged result; some people find this behavior confusing. It occurs because only the heads and the merge base diff --git a/Documentation/mergetools/vimdiff.txt b/Documentation/mergetools/vimdiff.adoc index befa86d692..abfd426f74 100644 --- a/Documentation/mergetools/vimdiff.txt +++ b/Documentation/mergetools/vimdiff.adoc @@ -86,7 +86,7 @@ command. + -- When `MERGED` is not present in the layout, you must "mark" one of the -buffers with an asterisk. That will become the buffer you need to edit and +buffers with an arobase (`@`). That will become the buffer you need to edit and save after resolving the conflicts. .... ------------------------------------------ @@ -183,13 +183,13 @@ latter will be used as fallback if the variant-specific one is not set). In addition, for backwards compatibility with previous Git versions, you can also append `1`, `2` or `3` to either `vimdiff` or any of the variants (ex: `vimdiff3`, `nvimdiff1`, etc...) to use a predefined layout. -In other words, using `--tool=[g,n,]vimdiffx` is the same as using -`--tool=[g,n,]vimdiff` and setting configuration variable -`mergetool.[g,n,]vimdiff.layout` to... +In other words, using `--tool=[g|n]vimdiff<x>` is the same as using +`--tool=[g|n]vimdiff` and setting configuration variable +`mergetool.[g|n]vimdiff.layout` to... - * `x=1`: `"@LOCAL, REMOTE"` - * `x=2`: `"LOCAL, MERGED, REMOTE"` - * `x=3`: `"MERGED"` + * `<x>=1`: `"@LOCAL, REMOTE"` + * `<x>=2`: `"LOCAL, MERGED, REMOTE"` + * `<x>=3`: `"MERGED"` -Example: using `--tool=gvimdiff2` will open `gvim` with three columns (LOCAL, -MERGED and REMOTE). +Example: using `--tool=gvimdiff2` will open `gvim` with three columns (`LOCAL`, +`MERGED` and `REMOTE`). diff --git a/Documentation/meson.build b/Documentation/meson.build new file mode 100644 index 0000000000..2fe1a1369d --- /dev/null +++ b/Documentation/meson.build @@ -0,0 +1,539 @@ +manpages = { + # Category 1. + 'git-add.adoc' : 1, + 'git-am.adoc' : 1, + 'git-annotate.adoc' : 1, + 'git-apply.adoc' : 1, + 'git-archimport.adoc' : 1, + 'git-archive.adoc' : 1, + 'git-backfill.adoc' : 1, + 'git-bisect.adoc' : 1, + 'git-blame.adoc' : 1, + 'git-branch.adoc' : 1, + 'git-bugreport.adoc' : 1, + 'git-bundle.adoc' : 1, + 'git-cat-file.adoc' : 1, + 'git-check-attr.adoc' : 1, + 'git-check-ignore.adoc' : 1, + 'git-check-mailmap.adoc' : 1, + 'git-checkout-index.adoc' : 1, + 'git-checkout.adoc' : 1, + 'git-check-ref-format.adoc' : 1, + 'git-cherry-pick.adoc' : 1, + 'git-cherry.adoc' : 1, + 'git-citool.adoc' : 1, + 'git-clean.adoc' : 1, + 'git-clone.adoc' : 1, + 'git-column.adoc' : 1, + 'git-commit-graph.adoc' : 1, + 'git-commit-tree.adoc' : 1, + 'git-commit.adoc' : 1, + 'git-config.adoc' : 1, + 'git-count-objects.adoc' : 1, + 'git-credential-cache--daemon.adoc' : 1, + 'git-credential-cache.adoc' : 1, + 'git-credential-store.adoc' : 1, + 'git-credential.adoc' : 1, + 'git-cvsexportcommit.adoc' : 1, + 'git-cvsimport.adoc' : 1, + 'git-cvsserver.adoc' : 1, + 'git-daemon.adoc' : 1, + 'git-describe.adoc' : 1, + 'git-diagnose.adoc' : 1, + 'git-diff-files.adoc' : 1, + 'git-diff-index.adoc' : 1, + 'git-diff-pairs.adoc' : 1, + 'git-difftool.adoc' : 1, + 'git-diff-tree.adoc' : 1, + 'git-diff.adoc' : 1, + 'git-fast-export.adoc' : 1, + 'git-fast-import.adoc' : 1, + 'git-fetch-pack.adoc' : 1, + 'git-fetch.adoc' : 1, + 'git-filter-branch.adoc' : 1, + 'git-fmt-merge-msg.adoc' : 1, + 'git-for-each-ref.adoc' : 1, + 'git-for-each-repo.adoc' : 1, + 'git-format-patch.adoc' : 1, + 'git-fsck-objects.adoc' : 1, + 'git-fsck.adoc' : 1, + 'git-fsmonitor--daemon.adoc' : 1, + 'git-gc.adoc' : 1, + 'git-get-tar-commit-id.adoc' : 1, + 'git-grep.adoc' : 1, + 'git-gui.adoc' : 1, + 'git-hash-object.adoc' : 1, + 'git-help.adoc' : 1, + 'git-hook.adoc' : 1, + 'git-http-backend.adoc' : 1, + 'git-http-fetch.adoc' : 1, + 'git-http-push.adoc' : 1, + 'git-imap-send.adoc' : 1, + 'git-index-pack.adoc' : 1, + 'git-init-db.adoc' : 1, + 'git-init.adoc' : 1, + 'git-instaweb.adoc' : 1, + 'git-interpret-trailers.adoc' : 1, + 'git-log.adoc' : 1, + 'git-ls-files.adoc' : 1, + 'git-ls-remote.adoc' : 1, + 'git-ls-tree.adoc' : 1, + 'git-mailinfo.adoc' : 1, + 'git-mailsplit.adoc' : 1, + 'git-maintenance.adoc' : 1, + 'git-merge-base.adoc' : 1, + 'git-merge-file.adoc' : 1, + 'git-merge-index.adoc' : 1, + 'git-merge-one-file.adoc' : 1, + 'git-mergetool--lib.adoc' : 1, + 'git-mergetool.adoc' : 1, + 'git-merge-tree.adoc' : 1, + 'git-merge.adoc' : 1, + 'git-mktag.adoc' : 1, + 'git-mktree.adoc' : 1, + 'git-multi-pack-index.adoc' : 1, + 'git-mv.adoc' : 1, + 'git-name-rev.adoc' : 1, + 'git-notes.adoc' : 1, + 'git-p4.adoc' : 1, + 'git-pack-objects.adoc' : 1, + 'git-pack-refs.adoc' : 1, + 'git-patch-id.adoc' : 1, + 'git-prune-packed.adoc' : 1, + 'git-prune.adoc' : 1, + 'git-pull.adoc' : 1, + 'git-push.adoc' : 1, + 'git-quiltimport.adoc' : 1, + 'git-range-diff.adoc' : 1, + 'git-read-tree.adoc' : 1, + 'git-rebase.adoc' : 1, + 'git-receive-pack.adoc' : 1, + 'git-reflog.adoc' : 1, + 'git-refs.adoc' : 1, + 'git-remote-ext.adoc' : 1, + 'git-remote-fd.adoc' : 1, + 'git-remote.adoc' : 1, + 'git-repack.adoc' : 1, + 'git-replace.adoc' : 1, + 'git-replay.adoc' : 1, + 'git-request-pull.adoc' : 1, + 'git-rerere.adoc' : 1, + 'git-reset.adoc' : 1, + 'git-restore.adoc' : 1, + 'git-revert.adoc' : 1, + 'git-rev-list.adoc' : 1, + 'git-rev-parse.adoc' : 1, + 'git-rm.adoc' : 1, + 'git-send-email.adoc' : 1, + 'git-send-pack.adoc' : 1, + 'git-shell.adoc' : 1, + 'git-sh-i18n--envsubst.adoc' : 1, + 'git-sh-i18n.adoc' : 1, + 'git-shortlog.adoc' : 1, + 'git-show-branch.adoc' : 1, + 'git-show-index.adoc' : 1, + 'git-show-ref.adoc' : 1, + 'git-show.adoc' : 1, + 'git-sh-setup.adoc' : 1, + 'git-sparse-checkout.adoc' : 1, + 'git-stage.adoc' : 1, + 'git-stash.adoc' : 1, + 'git-status.adoc' : 1, + 'git-stripspace.adoc' : 1, + 'git-submodule.adoc' : 1, + 'git-svn.adoc' : 1, + 'git-switch.adoc' : 1, + 'git-symbolic-ref.adoc' : 1, + 'git-tag.adoc' : 1, + 'git-unpack-file.adoc' : 1, + 'git-unpack-objects.adoc' : 1, + 'git-update-index.adoc' : 1, + 'git-update-ref.adoc' : 1, + 'git-update-server-info.adoc' : 1, + 'git-upload-archive.adoc' : 1, + 'git-upload-pack.adoc' : 1, + 'git-var.adoc' : 1, + 'git-verify-commit.adoc' : 1, + 'git-verify-pack.adoc' : 1, + 'git-verify-tag.adoc' : 1, + 'git-version.adoc' : 1, + 'git-web--browse.adoc' : 1, + 'git-worktree.adoc' : 1, + 'git-write-tree.adoc' : 1, + 'git.adoc' : 1, + 'gitk.adoc' : 1, + 'gitweb.adoc' : 1, + 'scalar.adoc' : 1, + + # Category 5. + 'gitattributes.adoc' : 5, + 'gitformat-bundle.adoc' : 5, + 'gitformat-chunk.adoc' : 5, + 'gitformat-commit-graph.adoc' : 5, + 'gitformat-index.adoc' : 5, + 'gitformat-pack.adoc' : 5, + 'gitformat-signature.adoc' : 5, + 'githooks.adoc' : 5, + 'gitignore.adoc' : 5, + 'gitmailmap.adoc' : 5, + 'gitmodules.adoc' : 5, + 'gitprotocol-capabilities.adoc' : 5, + 'gitprotocol-common.adoc' : 5, + 'gitprotocol-http.adoc' : 5, + 'gitprotocol-pack.adoc' : 5, + 'gitprotocol-v2.adoc' : 5, + 'gitrepository-layout.adoc' : 5, + 'gitweb.conf.adoc' : 5, + + # Category 7. + 'gitcli.adoc' : 7, + 'gitcore-tutorial.adoc' : 7, + 'gitcredentials.adoc' : 7, + 'gitcvs-migration.adoc' : 7, + 'gitdiffcore.adoc' : 7, + 'giteveryday.adoc' : 7, + 'gitfaq.adoc' : 7, + 'gitglossary.adoc' : 7, + 'gitpacking.adoc' : 7, + 'gitnamespaces.adoc' : 7, + 'gitremote-helpers.adoc' : 7, + 'gitrevisions.adoc' : 7, + 'gitsubmodules.adoc' : 7, + 'gittutorial-2.adoc' : 7, + 'gittutorial.adoc' : 7, + 'gitworkflows.adoc' : 7, +} + +manpages_breaking_changes = { + 'git-pack-redundant.adoc' : 1, + 'git-whatchanged.adoc' : 1, +} + +if not get_option('breaking_changes') + manpages += manpages_breaking_changes +endif + +docs_backend = get_option('docs_backend') +if docs_backend == 'auto' + if find_program('asciidoc', dirs: program_path, native: true, required: false).found() + docs_backend = 'asciidoc' + elif find_program('asciidoctor', dirs: program_path, native: true, required: false).found() + docs_backend = 'asciidoctor' + else + error('Neither asciidoc nor asciidoctor were found.') + endif +endif + +if docs_backend == 'asciidoc' + asciidoc = find_program('asciidoc', dirs: program_path, native: true) + asciidoc_html = 'xhtml11' + asciidoc_docbook = 'docbook' + xmlto_extra = [ ] + + asciidoc_conf = custom_target( + command: [ + shell, + meson.project_source_root() / 'GIT-VERSION-GEN', + meson.project_source_root(), + '@INPUT@', + '@OUTPUT@', + ], + input: 'asciidoc.conf.in', + output: 'asciidoc.conf', + depends: [git_version_file], + env: version_gen_environment, + ) + + asciidoc_common_options = [ + asciidoc, + '--conf-file=' + asciidoc_conf.full_path(), + '--attribute=build_dir=' + meson.current_build_dir(), + ] + + pager_opt = get_option('default_pager') + if pager_opt != '' and pager_opt != 'less' + asciidoc_common_options += '-agit-default-pager=' + pager_opt + endif + + editor_opt = get_option('default_editor') + if editor_opt != '' and editor_opt != 'vi' + asciidoc_common_options += '-agit-default-editor=' + editor_opt + endif + + documentation_deps = [ + asciidoc_conf, + ] +elif docs_backend == 'asciidoctor' + asciidoctor = find_program('asciidoctor', dirs: program_path, native: true) + asciidoc_html = 'xhtml5' + asciidoc_docbook = 'docbook5' + xmlto_extra = [ + '--skip-validation', + '-x', meson.current_source_dir() / 'manpage.xsl', + ] + + asciidoctor_extensions = custom_target( + command: [ + shell, + meson.project_source_root() / 'GIT-VERSION-GEN', + meson.project_source_root(), + '@INPUT@', + '@OUTPUT@', + ], + input: 'asciidoctor-extensions.rb.in', + output: 'asciidoctor-extensions.rb', + depends: [git_version_file], + env: version_gen_environment, + ) + + asciidoc_common_options = [ + asciidoctor, + '--attribute', 'compat-mode', + '--attribute', 'tabsize=8', + '--attribute', 'litdd=--', + '--attribute', 'docinfo=shared', + '--attribute', 'build_dir=' + meson.current_build_dir(), + '--load-path', meson.current_build_dir(), + '--require', 'asciidoctor-extensions', + ] + + pager_opt = get_option('default_pager') + if pager_opt != '' and pager_opt != 'less' + asciidoc_common_options += '-agit-default-pager=' + pager_opt + endif + + editor_opt = get_option('default_editor') + if editor_opt != '' and editor_opt != 'vi' + asciidoc_common_options += '-agit-default-editor=' + editor_opt + endif + + documentation_deps = [ + asciidoctor_extensions, + ] +endif + +if get_option('breaking_changes') + asciidoc_common_options += ['--attribute', 'with-breaking-changes'] +endif + +xmlto = find_program('xmlto', dirs: program_path, native: true) + +cmd_lists = [ + 'cmds-ancillaryinterrogators.adoc', + 'cmds-ancillarymanipulators.adoc', + 'cmds-mainporcelain.adoc', + 'cmds-plumbinginterrogators.adoc', + 'cmds-plumbingmanipulators.adoc', + 'cmds-synchingrepositories.adoc', + 'cmds-synchelpers.adoc', + 'cmds-guide.adoc', + 'cmds-developerinterfaces.adoc', + 'cmds-userinterfaces.adoc', + 'cmds-purehelpers.adoc', + 'cmds-foreignscminterface.adoc', +] + +documentation_deps += custom_target( + command: [ + shell, + '@INPUT@', + meson.project_source_root(), + meson.current_build_dir(), + ] + cmd_lists, + input: 'cmd-list.sh', + output: cmd_lists +) + +foreach mode : [ 'diff', 'merge' ] + documentation_deps += custom_target( + command: [ + shell, + '@INPUT@', + '..', + mode, + '@OUTPUT@' + ], + env: [ + 'MERGE_TOOLS_DIR=' + meson.project_source_root() / 'mergetools', + ], + input: 'generate-mergetool-list.sh', + output: 'mergetools-' + mode + '.adoc', + ) +endforeach + +foreach manpage, category : manpages + if get_option('docs').contains('man') + manpage_xml_target = custom_target( + command: asciidoc_common_options + [ + '--backend=' + asciidoc_docbook, + '--doctype=manpage', + '--out-file=@OUTPUT@', + '@INPUT@', + ], + depends: documentation_deps, + input: manpage, + output: fs.stem(manpage) + '.xml', + ) + + manpage_path = fs.stem(manpage) + '.' + category.to_string() + manpage_target = custom_target( + command: [ + xmlto, + '-m', '@INPUT0@', + '-m', '@INPUT1@', + '--stringparam', + 'man.base.url.for.relative.links=' + get_option('prefix') / get_option('mandir'), + 'man', + manpage_xml_target, + '-o', + meson.current_build_dir(), + ] + xmlto_extra, + input: [ + 'manpage-normal.xsl', + 'manpage-bold-literal.xsl', + ], + output: manpage_path, + install: true, + install_dir: get_option('mandir') / 'man' + category.to_string(), + ) + endif + + if get_option('docs').contains('html') + custom_target( + command: asciidoc_common_options + [ + '--backend=' + asciidoc_html, + '--doctype=manpage', + '--out-file=@OUTPUT@', + '@INPUT@', + ], + depends: documentation_deps, + input: manpage, + output: fs.stem(manpage) + '.html', + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', + ) + endif +endforeach + +if get_option('docs').contains('html') + configure_file( + input: 'docinfo-html.in', + output: 'docinfo.html', + copy: true, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', + ) + + configure_file( + input: 'docbook-xsl.css', + output: 'docbook-xsl.css', + copy: true, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', + ) + + install_symlink('index.html', + install_dir: get_option('datadir') / 'doc/git-doc', + pointing_to: 'git.html', + ) + + xsltproc = find_program('xsltproc', dirs: program_path, native: true) + + user_manual_xml = custom_target( + command: asciidoc_common_options + [ + '--backend=' + asciidoc_docbook, + '--doctype=book', + '--out-file=@OUTPUT@', + '@INPUT@', + ], + input: 'user-manual.adoc', + output: 'user-manual.xml', + depends: documentation_deps, + ) + + custom_target( + command: [ + xsltproc, + '--xinclude', + '--stringparam', 'html.stylesheet', 'docbook-xsl.css', + '--param', 'generate.consistent.ids', '1', + '--output', '@OUTPUT@', + '@INPUT@', + user_manual_xml, + ], + input: 'docbook.xsl', + output: 'user-manual.html', + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', + ) + + articles = [ + 'BreakingChanges.adoc', + 'DecisionMaking.adoc', + 'MyFirstContribution.adoc', + 'MyFirstObjectWalk.adoc', + 'ReviewingGuidelines.adoc', + 'SubmittingPatches', + 'ToolsForGit.adoc', + 'git-bisect-lk2009.adoc', + 'git-tools.adoc', + ] + + foreach article : articles + custom_target( + command: asciidoc_common_options + [ + '--backend=' + asciidoc_html, + '--out-file=@OUTPUT@', + '@INPUT@', + ], + input: article, + output: fs.stem(article) + '.html', + depends: documentation_deps, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc', + ) + endforeach + + asciidoc_html_options = asciidoc_common_options + [ + '--backend=' + asciidoc_html, + '--out-file=@OUTPUT@', + '--attribute', 'git-relative-html-prefix=../', + '@INPUT@', + ] + + subdir('howto') + subdir('technical') +endif + +# Sanity check that we are not missing any tests present in 't/'. This check +# only runs once at configure time and is thus best-effort, only. Furthermore, +# it only verifies man pages for the sake of simplicity. +configured_manpages = manpages.keys() +configured_manpages += manpages_breaking_changes.keys() +configured_manpages += [ 'git-bisect-lk2009.adoc', 'git-tools.adoc' ] +actual_manpages = run_command(shell, '-c', 'ls git*.adoc scalar.adoc', + check: true, + env: script_environment, +).stdout().strip().split('\n') + +if configured_manpages != actual_manpages + missing_manpage = [ ] + foreach actual_manpage : actual_manpages + if actual_manpage not in configured_manpages + missing_manpage += actual_manpage + endif + endforeach + if missing_manpage.length() > 0 + error('Man page found, but not configured:\n\n - ' + '\n - '.join(missing_manpage)) + endif + + superfluous_manpage = [ ] + foreach configured_manpage : configured_manpages + if configured_manpage not in actual_manpages + superfluous_manpage += configured_manpage + endif + endforeach + if superfluous_manpage.length() > 0 + error('Man page configured, but not found:\n\n - ' + '\n - '.join(superfluous_manpage)) + endif +endif diff --git a/Documentation/object-format-disclaimer.txt b/Documentation/object-format-disclaimer.adoc index e561e6668c..e561e6668c 100644 --- a/Documentation/object-format-disclaimer.txt +++ b/Documentation/object-format-disclaimer.adoc diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.adoc index 8ee940b6a4..07475de8c3 100644 --- a/Documentation/pretty-formats.txt +++ b/Documentation/pretty-formats.adoc @@ -339,10 +339,10 @@ insert an empty string unless we are traversing reflog entries (e.g., by decoration format if `--decorate` was not already provided on the command line. -The boolean options accept an optional value `[=<bool-value>]`. The values -`true`, `false`, `on`, `off` etc. are all accepted. See the "boolean" -sub-section in "EXAMPLES" in linkgit:git-config[1]. If a boolean -option is given with no value, it's enabled. +The boolean options accept an optional value `[=<bool-value>]`. The +values taken by `--type=bool` git-config[1], like `yes` and `off`, +are all accepted. Giving a boolean option without `=<value>` is +equivalent to giving it with `=true`. If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is inserted immediately before the expansion if and only if the diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.adoc index 23888cd612..b36e96abe2 100644 --- a/Documentation/pretty-options.txt +++ b/Documentation/pretty-options.adoc @@ -62,7 +62,12 @@ ifndef::git-rev-list[] --notes[=<ref>]:: Show the notes (see linkgit:git-notes[1]) that annotate the commit, when showing the commit log message. This is the default +ifndef::with-breaking-changes[] for `git log`, `git show` and `git whatchanged` commands when +endif::with-breaking-changes[] +ifdef::with-breaking-changes[] + for `git log` and `git show` commands when +endif::with-breaking-changes[] there is no `--pretty`, `--format`, or `--oneline` option given on the command line. + diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.adoc index d79d2f6065..d79d2f6065 100644 --- a/Documentation/pull-fetch-param.txt +++ b/Documentation/pull-fetch-param.adoc diff --git a/Documentation/ref-reachability-filters.txt b/Documentation/ref-reachability-filters.adoc index 9bae46d84c..9bae46d84c 100644 --- a/Documentation/ref-reachability-filters.txt +++ b/Documentation/ref-reachability-filters.adoc diff --git a/Documentation/ref-storage-format.txt b/Documentation/ref-storage-format.adoc index 14fff8a9c6..14fff8a9c6 100644 --- a/Documentation/ref-storage-format.txt +++ b/Documentation/ref-storage-format.adoc diff --git a/Documentation/rerere-options.txt b/Documentation/rerere-options.adoc index c3321ddea2..b0b920144a 100644 --- a/Documentation/rerere-options.txt +++ b/Documentation/rerere-options.adoc @@ -1,5 +1,5 @@ ---rerere-autoupdate:: ---no-rerere-autoupdate:: +`--rerere-autoupdate`:: +`--no-rerere-autoupdate`:: After the rerere mechanism reuses a recorded resolution on the current conflict to update the files in the working tree, allow it to also update the index with the result of diff --git a/Documentation/rev-list-description.txt b/Documentation/rev-list-description.adoc index a9efa7fa27..a9efa7fa27 100644 --- a/Documentation/rev-list-description.txt +++ b/Documentation/rev-list-description.adoc diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.adoc index 00ccf68744..ae8765644c 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.adoc @@ -361,6 +361,30 @@ ifdef::git-rev-list[] --progress=<header>:: Show progress reports on stderr as objects are considered. The `<header>` text will be printed with each progress update. + +-z:: + Instead of being newline-delimited, each outputted object and its + accompanying metadata is delimited using NUL bytes. Output is printed + in the following form: ++ +----------------------------------------------------------------------- +<OID> NUL [<token>=<value> NUL]... +----------------------------------------------------------------------- ++ +Additional object metadata, such as object paths or boundary objects, is +printed using the `<token>=<value>` form. Token values are printed as-is +without any encoding/truncation. An OID entry never contains a '=' character +and thus is used to signal the start of a new object record. Examples: ++ +----------------------------------------------------------------------- +<OID> NUL +<OID> NUL path=<path> NUL +<OID> NUL boundary=yes NUL +<OID> NUL missing=yes NUL [<token>=<value> NUL]... +----------------------------------------------------------------------- ++ +This mode is only compatible with the `--objects`, `--boundary`, and +`--missing` output options. endif::git-rev-list[] History Simplification @@ -412,7 +436,8 @@ Default mode:: --ancestry-path[=<commit>]:: When given a range of commits to display (e.g. 'commit1..commit2' - or 'commit2 {caret}commit1'), only display commits in that range + or 'commit2 {caret}commit1'), and a commit <commit> in that range, + only display commits in that range that are ancestors of <commit>, descendants of <commit>, or <commit> itself. If no commit is specified, use 'commit1' (the excluded part of the range) as <commit>. Can be passed multiple @@ -428,6 +453,7 @@ filtered for `foo`, they look different and equal, respectively.) In the following, we will always refer to the same example history to illustrate the differences between simplification settings. We assume that you are filtering for a file `foo` in this commit graph: + ----------------------------------------------------------------------- .-A---M---N---O---P---Q / / / / / / @@ -435,6 +461,7 @@ that you are filtering for a file `foo` in this commit graph: \ / / / / / `-------------' X ----------------------------------------------------------------------- + The horizontal line of history A---Q is taken to be the first parent of each merge. The commits are: @@ -639,7 +666,7 @@ commits affected by that topic, we may only want to view the subset of ----------------------------------------------------------------------- E \ - G---H---I---J + C---G---H---I---J \ L--M ----------------------------------------------------------------------- @@ -1023,6 +1050,25 @@ Unexpected missing objects will raise an error. The form '--missing=print' is like 'allow-any', but will also print a list of the missing objects. Object IDs are prefixed with a ``?'' character. + +The form '--missing=print-info' is like 'print', but will also print additional +information about the missing object inferred from its containing object. The +information is all printed on the same line with the missing object ID in the +form: `?<oid> [<token>=<value>]...`. The `<token>=<value>` pairs containing +additional information are separated from each other by a SP. The value is +encoded in a token specific fashion, but SP or LF contained in value are always +expected to be represented in such a way that the resulting encoded value does +not have either of these two problematic bytes. Each `<token>=<value>` may be +one of the following: ++ +-- +* The `path=<path>` shows the path of the missing object inferred from a + containing object. A path containing SP or special characters is enclosed in + double-quotes in the C style as needed. ++ +* The `type=<type>` shows the type of the missing object inferred from a + containing object. +-- ++ If some tips passed to the traversal are missing, they will be considered as missing too, and the traversal will ignore them. In case we cannot get their Object ID though, an error will be raised. @@ -1054,11 +1100,16 @@ Commit Formatting ifdef::git-rev-list[] Using these options, linkgit:git-rev-list[1] will act similar to the -more specialized family of commit log tools: linkgit:git-log[1], -linkgit:git-show[1], and linkgit:git-whatchanged[1] +more specialized family of commit log tools: +ifndef::with-breaking-changes[] +linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-whatchanged[1]. +endif::with-breaking-changes[] +ifdef::with-breaking-changes[] +linkgit:git-log[1] and linkgit:git-show[1]. +endif::with-breaking-changes[] endif::git-rev-list[] -include::pretty-options.txt[] +include::pretty-options.adoc[] --relative-date:: Synonym for `--date=relative`. diff --git a/Documentation/revisions.txt b/Documentation/revisions.adoc index 6ea6c7cead..6ea6c7cead 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.adoc diff --git a/Documentation/scalar.txt b/Documentation/scalar.adoc index 7e4259c674..4bd5b150e8 100644 --- a/Documentation/scalar.txt +++ b/Documentation/scalar.adoc @@ -9,12 +9,12 @@ SYNOPSIS -------- [verse] scalar clone [--single-branch] [--branch <main-branch>] [--full-clone] - [--[no-]src] <url> [<enlistment>] + [--[no-]src] [--[no-]tags] [--[no-]maintenance] <url> [<enlistment>] scalar list -scalar register [<enlistment>] +scalar register [--[no-]maintenance] [<enlistment>] scalar unregister [<enlistment>] scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>] -scalar reconfigure [ --all | <enlistment> ] +scalar reconfigure [--maintenance=(enable|disable|keep)] [ --all | <enlistment> ] scalar diagnose [<enlistment>] scalar delete <enlistment> @@ -97,6 +97,11 @@ cloning. If the HEAD at the remote did not point at any branch when A sparse-checkout is initialized by default. This behavior can be turned off via `--full-clone`. +--[no-]maintenance:: + By default, `scalar clone` configures the enlistment to use Git's + background maintenance feature. Use the `--no-maintenance` to skip + this configuration. + List ~~~~ @@ -117,6 +122,12 @@ Note: when this subcommand is called in a worktree that is called `src/`, its parent directory is considered to be the Scalar enlistment. If the worktree is _not_ called `src/`, it itself will be considered to be the Scalar enlistment. +--[no-]maintenance:: + By default, `scalar register` configures the enlistment to use Git's + background maintenance feature. Use the `--no-maintenance` to skip + this configuration. This does not disable any maintenance that may + already be enabled in other ways. + Unregister ~~~~~~~~~~ @@ -149,8 +160,18 @@ After a Scalar upgrade, or when the configuration of a Scalar enlistment was somehow corrupted or changed by mistake, this subcommand allows to reconfigure the enlistment. -With the `--all` option, all enlistments currently registered with Scalar -will be reconfigured. Use this option after each Scalar upgrade. +--all:: + When `--all` is specified, reconfigure all enlistments currently + registered with Scalar by the `scalar.repo` config key. Use this + option after each upgrade to get the latest features. + +--maintenance=(enable|disable|keep):: + By default, Scalar configures the enlistment to use Git's + background maintenance feature; this is the same as using the + `enable` value for this option. Use the `disable` value to + remove each considered enlistment from background maintenance. + Use `keep' to leave the background maintenance configuration + untouched for these repositories. Diagnose ~~~~~~~~ diff --git a/Documentation/sequencer.txt b/Documentation/sequencer.adoc index 3bceb56474..3bceb56474 100644 --- a/Documentation/sequencer.txt +++ b/Documentation/sequencer.adoc diff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.adoc index d98758f3cb..cddfb225d1 100644 --- a/Documentation/signoff-option.txt +++ b/Documentation/signoff-option.adoc @@ -1,8 +1,8 @@ ifdef::git-commit[] --s:: +`-s`:: endif::git-commit[] ---signoff:: ---no-signoff:: +`--signoff`:: +`--no-signoff`:: Add a `Signed-off-by` trailer by the committer at the end of the commit log message. The meaning of a signoff depends on the project to which you're committing. For example, it may certify that @@ -14,5 +14,5 @@ endif::git-commit[] leadership of the project to which you're contributing to understand how the signoffs are used in that project. + -The --no-signoff option can be used to countermand an earlier --signoff +The `--no-signoff` option can be used to countermand an earlier `--signoff` option on the command line. diff --git a/Documentation/technical/.gitignore b/Documentation/technical/.gitignore index 8aa891daee..3caef14a93 100644 --- a/Documentation/technical/.gitignore +++ b/Documentation/technical/.gitignore @@ -1 +1,2 @@ api-index.txt +api-index.adoc diff --git a/Documentation/technical/api-error-handling.txt b/Documentation/technical/api-error-handling.adoc index 665c4960b4..665c4960b4 100644 --- a/Documentation/technical/api-error-handling.txt +++ b/Documentation/technical/api-error-handling.adoc diff --git a/Documentation/technical/api-index-skel.txt b/Documentation/technical/api-index-skel.adoc index 7780a76b08..7780a76b08 100644 --- a/Documentation/technical/api-index-skel.txt +++ b/Documentation/technical/api-index-skel.adoc diff --git a/Documentation/technical/api-index.sh b/Documentation/technical/api-index.sh index 9c3f4131b8..dd206b1ca4 100755 --- a/Documentation/technical/api-index.sh +++ b/Documentation/technical/api-index.sh @@ -1,28 +1,39 @@ #!/bin/sh +if test $# -ne 2 +then + echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>" + exit 1 +fi + +SOURCE_DIR="$1" +OUTPUT="$2" + ( + cd "$SOURCE_DIR" + c=//////////////////////////////////////////////////////////////// - skel=api-index-skel.txt + skel=api-index-skel.adoc sed -e '/^\/\/ table of contents begin/q' "$skel" echo "$c" - ls api-*.txt | + ls api-*.adoc | while read filename do case "$filename" in - api-index-skel.txt | api-index.txt) continue ;; + api-index-skel.adoc | api-index.adoc) continue ;; esac title=$(sed -e 1q "$filename") - html=${filename%.txt}.html + html=${filename%.adoc}.html echo "* link:$html[$title]" done echo "$c" sed -n -e '/^\/\/ table of contents end/,$p' "$skel" -) >api-index.txt+ +) >"$OUTPUT"+ -if test -f api-index.txt && cmp api-index.txt api-index.txt+ >/dev/null +if test -f "$OUTPUT" && cmp "$OUTPUT" "$OUTPUT"+ >/dev/null then - rm -f api-index.txt+ + rm -f "$OUTPUT"+ else - mv api-index.txt+ api-index.txt + mv "$OUTPUT"+ "$OUTPUT" fi diff --git a/Documentation/technical/api-merge.txt b/Documentation/technical/api-merge.adoc index c2ba01828c..c2ba01828c 100644 --- a/Documentation/technical/api-merge.txt +++ b/Documentation/technical/api-merge.adoc diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.adoc index 61fa6ee167..880eb94642 100644 --- a/Documentation/technical/api-parse-options.txt +++ b/Documentation/technical/api-parse-options.adoc @@ -211,11 +211,13 @@ There are some macros to easily define options: Use of `--no-option` will clear the list of preceding values. `OPT_INTEGER(short, long, &int_var, description)`:: - Introduce an option with integer argument. - The integer is put into `int_var`. + Introduce an option with integer argument. The argument must be a + integer and may include a suffix of 'k', 'm' or 'g' to + scale the provided value by 1024, 1024^2 or 1024^3 respectively. + The scaled value is put into `int_var`. -`OPT_MAGNITUDE(short, long, &unsigned_long_var, description)`:: - Introduce an option with a size argument. The argument must be a +`OPT_UNSIGNED(short, long, &unsigned_long_var, description)`:: + Introduce an option with an unsigned integer argument. The argument must be a non-negative integer and may include a suffix of 'k', 'm' or 'g' to scale the provided value by 1024, 1024^2 or 1024^3 respectively. The scaled value is put into `unsigned_long_var`. diff --git a/Documentation/technical/api-path-walk.adoc b/Documentation/technical/api-path-walk.adoc new file mode 100644 index 0000000000..34c905eb9c --- /dev/null +++ b/Documentation/technical/api-path-walk.adoc @@ -0,0 +1,81 @@ +Path-Walk API +============= + +The path-walk API is used to walk reachable objects, but to visit objects +in batches based on a common path they appear in, or by type. + +For example, all reachable commits are visited in a group. All tags are +visited in a group. Then, all root trees are visited. At some point, all +blobs reachable via a path `my/dir/to/A` are visited. When there are +multiple paths possible to reach the same object, then only one of those +paths is used to visit the object. + +Basics +------ + +To use the path-walk API, include `path-walk.h` and call +`walk_objects_by_path()` with a customized `path_walk_info` struct. The +struct is used to set all of the options for how the walk should proceed. +Let's dig into the different options and their use. + +`path_fn` and `path_fn_data`:: + The most important option is the `path_fn` option, which is a + function pointer to the callback that can execute logic on the + object IDs for objects grouped by type and path. This function + also receives a `data` value that corresponds to the + `path_fn_data` member, for providing custom data structures to + this callback function. + +`revs`:: + To configure the exact details of the reachable set of objects, + use the `revs` member and initialize it using the revision + machinery in `revision.h`. Initialize `revs` using calls such as + `setup_revisions()` or `parse_revision_opt()`. Do not call + `prepare_revision_walk()`, as that will be called within + `walk_objects_by_path()`. ++ +It is also important that you do not specify the `--objects` flag for the +`revs` struct. The revision walk should only be used to walk commits, and +the objects will be walked in a separate way based on those starting +commits. + +`commits`, `blobs`, `trees`, `tags`:: + By default, these members are enabled and signal that the path-walk + API should call the `path_fn` on objects of these types. Specialized + applications could disable some options to make it simpler to walk + the objects or to have fewer calls to `path_fn`. ++ +While it is possible to walk only commits in this way, consumers would be +better off using the revision walk API instead. + +`prune_all_uninteresting`:: + By default, all reachable paths are emitted by the path-walk API. + This option allows consumers to declare that they are not + interested in paths where all included objects are marked with the + `UNINTERESTING` flag. This requires using the `boundary` option in + the revision walk so that the walk emits commits marked with the + `UNINTERESTING` flag. + +`edge_aggressive`:: + For performance reasons, usually only the boundary commits are + explored to find UNINTERESTING objects. However, in the case of + shallow clones it can be helpful to mark all trees and blobs + reachable from UNINTERESTING tip commits as UNINTERESTING. This + matches the behavior of `--objects-edge-aggressive` in the + revision API. + +`pl`:: + This pattern list pointer allows focusing the path-walk search to + a set of patterns, only emitting paths that match the given + patterns. See linkgit:gitignore[5] or + linkgit:git-sparse-checkout[1] for details about pattern lists. + When the pattern list uses cone-mode patterns, then the path-walk + API can prune the set of paths it walks to improve performance. + +Examples +-------- + +See example usages in: + `t/helper/test-path-walk.c`, + `builtin/pack-objects.c`, + `builtin/backfill.c` diff --git a/Documentation/technical/api-simple-ipc.txt b/Documentation/technical/api-simple-ipc.adoc index c4fb152b23..972178b042 100644 --- a/Documentation/technical/api-simple-ipc.txt +++ b/Documentation/technical/api-simple-ipc.adoc @@ -36,7 +36,7 @@ Comparison with sub-process model --------------------------------- The Simple-IPC mechanism differs from the existing `sub-process.c` -model (Documentation/technical/long-running-process-protocol.txt) and +model (Documentation/technical/long-running-process-protocol.adoc) and used by applications like Git-LFS. In the LFS-style sub-process model, the helper is started by the foreground process, communication happens via a pair of file descriptors bound to the stdin/stdout of the diff --git a/Documentation/technical/api-trace2.txt b/Documentation/technical/api-trace2.adoc index 5817b18310..cf493dae03 100644 --- a/Documentation/technical/api-trace2.txt +++ b/Documentation/technical/api-trace2.adoc @@ -140,7 +140,7 @@ $ cat ~/log.event To enable a target, set the corresponding environment variable or system or global config value to one of the following: -include::../trace2-target-values.txt[] +include::../trace2-target-values.adoc[] When trace files are written to a target directory, they will be named according to the last component of the SID (optionally followed by a counter to avoid diff --git a/Documentation/technical/bitmap-format.txt b/Documentation/technical/bitmap-format.adoc index bfb0ec7beb..bfb0ec7beb 100644 --- a/Documentation/technical/bitmap-format.txt +++ b/Documentation/technical/bitmap-format.adoc diff --git a/Documentation/technical/build-systems.adoc b/Documentation/technical/build-systems.adoc new file mode 100644 index 0000000000..3c5237b9fd --- /dev/null +++ b/Documentation/technical/build-systems.adoc @@ -0,0 +1,227 @@ += Build Systems + +The build system is the primary way for both developers and system integrators +to interact with the Git project. As such, being easy to use and extend for +those who are not directly developing Git itself is just as important as other +requirements we have on any potential build system. + +This document outlines the different requirements that we have for the build +system and then compares available build systems using these criteria. + +== Requirements + +The following subsections present a list of requirements that we have for any +potential build system. Sections are sorted by decreasing priority. + +=== Platform support + +The build system must have support for all of our platforms that we continually +test against as outlined by our platform support policy. These platforms are: + + - Linux + - Windows + - macOS + +Furthermore, the build system should have support for the following platforms +that generally have somebody running test pipelines against regularly: + + - AIX + - FreeBSD + - NetBSD + - NonStop + - OpenBSD + +The platforms which must be supported by the tool should be aligned with our +platform support policy (see platform-support.adoc). +// once we lose AsciiDoc compatibility, we can start writing the above as: +// xref:platform-support.adoc#platform-support-policy[platform support policy] +// or something like that, but until then.... + +=== Auto-detection of supported features + +The build system must support auto-detection of features which are or aren't +available on the current platform. Platform maintainers should not be required +to manually configure the complete build. + +Auto-detection of the following items is considered to be important: + + - Check for the existence of headers. + - Check for the existence of libraries. + - Check for the existence of exectuables. + - Check for the runtime behavior of specific functions. + - Check for specific link order requirements when multiple libraries are + involved. + +=== Ease of use + +The build system should be both easy to use and easy to extend. While this is +naturally a subjective metric it is likely not controversial to say that some +build systems are considerably harder to use than others. + +=== IDE support + +The build system should integrate with well-known IDEs. Well-known IDEs include: + + - Microsoft Visual Studio + - Visual Studio Code + - Xcode + +There are four levels of support: + + - Native integration into the IDE. + - Integration into the IDE via a plugin. + - Integration into the IDE via generating a project description with the build + system. + - No integration. + +Native integration is preferable, but integration via either a plugin or by +generating a project description via the build system are considered feasible +alternatives. + +Another important distinction is the level of integration. There are two +features that one generally wants to have: + + - Integration of build targets. + - Automatic setup of features like code completion with detected build + dependencies. + +The first bullet point is the bare minimum, but is not sufficient to be +considered proper integration. + +=== Out-of-tree builds + +The build system should support out-of-tree builds. Out-of-tree builds allow a +developer to configure multiple different build directories with different +configuration, e.g. one "debug" build and one "release" build. + +=== Cross-platform builds + +The build system should support cross-platform builds, e.g. building for arm on +an x86-64 host. + +=== Language support + +The following languages and toolchains are of relevance and should be supported +by the build system: + + - C: the primary compiled language used by Git, must be supported. Relevant + toolchains are GCC, Clang and MSVC. + - Rust: candidate as a second compiled lanugage, should be supported. Relevant + toolchains is the LLVM-based rustc. + +Built-in support for the respective languages is preferred over support that +needs to be wired up manually to avoid unnecessary complexity. Native support +includes the following features: + + - Compiling objects. + - Dependency tracking. + - Detection of available features. + - Discovery of relevant toolchains. + - Linking libraries and executables. + - Templating placeholders in scripts. + +=== Test integration + +It should be possible to integrate tests into the build system such that it is +possible to build and test Git within the build system. Features which are nice +to have: + + - Track build-time dependencies for respective tests. Unit tests have + different requirements than integration tests. + - Allow filtering of which tests to run. + - Allow running tests such that utilities like `test_pause` or `debug` work. + +== Comparison + +The following list of build systems are considered: + +- GNU Make +- autoconf +- CMake +- Meson + +=== GNU Make + +- Platform support: ubitquitous on all platforms, but not well-integrated into Windows. +- Auto-detection: no built-in support for auto-detection of features. +- Ease of use: easy to use, but discovering available options is hard. Makefile + rules can quickly get out of hand once reaching a certain scope. +- IDE support: execution of Makefile targets is supported by many IDEs +- Out-of-tree builds: supported in theory, not wired up in practice. +- Cross-platform builds: supported in theory, not wired up in practice. +- Language support: + - C: Limited built-in support, many parts need to be wired up manually. + - Rust: No built-in support, needs to be wired up manually. +- Test integration: partially supported, many parts need to be wired up + manually. + +=== autoconf + +- Platform support: ubiquitous on all platforms, but not well-integrated into Windows. +- Auto-detection: supported. +- Ease of use: easy to use, discovering available options is comparatively + easy. The autoconf syntax is prohibitively hard to extend though due to its + complex set of interacting files and the hard-to-understand M4 language. +- IDE support: no integration into IDEs at generation time. The generated + Makefiles have the same level of support as GNU Make. +- Out-of-tree builds: supported in theory, not wired up in practice. +- Cross-platform builds: supported. +- Language support: + - C: Limited built-in support, many parts need to be wired up manually. + - Rust: No built-in support, needs to be wired up manually. +- Test integration: partially supported, many parts need to be wired up + manually. + +=== CMake + +- Platform support: not as extensive as GNU Make or autoconf, but all major + platforms are supported. + - AIX + - Cygwin + - FreeBSD + - Linux + - OpenBSD + - Solaris + - Windows + - macOS +- Ease of use: easy to use, discovering available options is not always + trivial. The scripting language used by CMake is somewhat cumbersome to use, + but extending CMake build instructions is doable. +- IDE support: natively integrated into Microsoft Visual Studio. Can generate + project descriptions for Xcode. An extension is available for Visual Studio + Code. Many other IDEs have plugins for CMake. +- Out-of-tree builds: supported. +- Cross-platform builds: supported. +- Language support: + - C: Supported for GCC, Clang, MSVC and other toolchains. + - Rust: No built-in support, needs to be wired up manually. +- Test integration: supported, even though test dependencies are a bit + cumbersome to use via "test fixtures". Interactive test runs are not + supported. + +=== Meson + +- Platform: not as extensive as GNU Make or autoconf, but all major platforms + and some smaller ones are supported. + - AIX + - Cygwin + - DragonflyBSD + - FreeBSD + - Haiku + - Linux + - NetBSD + - OpenBSD + - Solaris + - Windows + - macOS +- Ease of use: easy to use, discovering available options is easy. The + scripting language is straight-forward to use. +- IDE support: Supports generating build instructions for Xcode and Microsoft + Visual Studio, a plugin exists for Visual Studio Code. +- Out-of-tree builds: supported. +- Cross-platform builds: supported. +- Language support: + - C: Supported for GCC, Clang, MSVC and other toolchains. + - Rust: Supported for rustc. +- Test integration: supported. Interactive tests are supported starting with + Meson 1.5.0 via the `--interactive` flag. diff --git a/Documentation/technical/bundle-uri.txt b/Documentation/technical/bundle-uri.adoc index 91d3a13e32..12283fa9ed 100644 --- a/Documentation/technical/bundle-uri.txt +++ b/Documentation/technical/bundle-uri.adoc @@ -232,13 +232,13 @@ will interact with bundle URIs according to the following flow: are present in the client repository. If some are missing, then the client delays unbundling until other bundles have been unbundled, making those OIDs present. When all required OIDs are present, the - client unbundles that data using a refspec. The default refspec is - `+refs/heads/*:refs/bundles/*`, but this can be configured. These refs - are stored so that later `git fetch` negotiations can communicate each - bundled ref as a `have`, reducing the size of the fetch over the Git - protocol. To allow pruning refs from this ref namespace, Git may - introduce a numbered namespace (such as `refs/bundles/<i>/*`) such that - stale bundle refs can be deleted. + client unbundles that data using a refspec. The refspec used is + `+refs/*:refs/bundles/*`. These refs are stored so that later + `git fetch` negotiations can communicate each bundled ref as a `have`, + reducing the size of the fetch over the Git protocol. To allow pruning + refs from this ref namespace, Git may introduce a numbered namespace + (such as `refs/bundles/<i>/*`) such that stale bundle refs can be + deleted. 3. If the file is instead a bundle list, then the client inspects the `bundle.mode` to see if the list is of the `all` or `any` form. diff --git a/Documentation/technical/commit-graph.txt b/Documentation/technical/commit-graph.adoc index 2c26e95e51..2c26e95e51 100644 --- a/Documentation/technical/commit-graph.txt +++ b/Documentation/technical/commit-graph.adoc diff --git a/Documentation/technical/directory-rename-detection.txt b/Documentation/technical/directory-rename-detection.adoc index 029ee2cedc..029ee2cedc 100644 --- a/Documentation/technical/directory-rename-detection.txt +++ b/Documentation/technical/directory-rename-detection.adoc diff --git a/Documentation/technical/hash-function-transition.txt b/Documentation/technical/hash-function-transition.adoc index ed57481089..f047fd80ca 100644 --- a/Documentation/technical/hash-function-transition.txt +++ b/Documentation/technical/hash-function-transition.adoc @@ -148,8 +148,8 @@ Detailed Design Repository format extension ~~~~~~~~~~~~~~~~~~~~~~~~~~~ A SHA-256 repository uses repository format version `1` (see -Documentation/technical/repository-version.txt) with extensions -`objectFormat` and `compatObjectFormat`: +linkgit:gitrepository-layout[5]) with `extensions.objectFormat` and +`extensions.compatObjectFormat` (see linkgit:git-config[1]) set to: [core] repositoryFormatVersion = 1 @@ -394,7 +394,7 @@ inflated again in step 3, for a total of two inflations. Step 4 is probably necessary for good read-time performance. "git pack-objects" on the server optimizes the pack file for good data -locality (see Documentation/technical/pack-heuristics.txt). +locality (see Documentation/technical/pack-heuristics.adoc). Details of this process are likely to change. It will take some experimenting to get this to perform well. diff --git a/Documentation/technical/large-object-promisors.adoc b/Documentation/technical/large-object-promisors.adoc new file mode 100644 index 0000000000..dea8dafa66 --- /dev/null +++ b/Documentation/technical/large-object-promisors.adoc @@ -0,0 +1,656 @@ +Large Object Promisors +====================== + +Since Git has been created, users have been complaining about issues +with storing large files in Git. Some solutions have been created to +help, but they haven't helped much with some issues. + +Git currently supports multiple promisor remotes, which could help +with some of these remaining issues, but it's very hard to use them to +help, because a number of important features are missing. + +The goal of the effort described in this document is to add these +important features. + +We will call a "Large Object Promisor", or "LOP" in short, a promisor +remote which is used to store only large blobs and which is separate +from the main remote that should store the other Git objects and the +rest of the repos. + +By extension, we will also call "Large Object Promisor", or LOP, the +effort described in this document to add a set of features to make it +easier to handle large blobs/files in Git by using LOPs. + +This effort aims to especially improve things on the server side, and +especially for large blobs that are already compressed in a binary +format. + +This effort aims to provide an alternative to Git LFS +(https://git-lfs.com/) and similar tools like git-annex +(https://git-annex.branchable.com/) for handling large files, even +though a complete alternative would very likely require other efforts +especially on the client side, where it would likely help to implement +a new object representation for large blobs as discussed in: + +https://lore.kernel.org/git/xmqqbkdometi.fsf@gitster.g/ + +0) Non goals +------------ + +- We will not discuss those client side improvements here, as they + would require changes in different parts of Git than this effort. ++ +So we don't pretend to fully replace Git LFS with only this effort, +but we nevertheless believe that it can significantly improve the +current situation on the server side, and that other separate +efforts could also improve the situation on the client side. + +- In the same way, we are not going to discuss all the possible ways + to implement a LOP or their underlying object storage, or to + optimize how LOP works. ++ +Our opinion is that the simplest solution for now is for LOPs to use +object storage through a remote helper (see section II.2 below for +more details) to store their objects. So we consider that this is the +default implementation. If there are improvements on top of this, +that's great, but our opinion is that such improvements are not +necessary for LOPs to already be useful. Such improvements are likely +a different technical topic, and can be taken care of separately +anyway. ++ +So in particular we are not going to discuss pluggable ODBs or other +object database backends that could chunk large blobs, dedup the +chunks and store them efficiently. Sure, that would be a nice +improvement to store large blobs on the server side, but we believe +it can just be a separate effort as it's also not technically very +related to this effort. ++ +We are also not going to discuss data transfer improvements between +LOPs and clients or servers. Sure, there might be some easy and very +effective optimizations there (as we know that objects on LOPs are +very likely incompressible and not deltifying well), but this can be +dealt with separately in a separate effort. + +In other words, the goal of this document is not to talk about all the +possible ways to optimize how Git could handle large blobs, but to +describe how a LOP based solution can already work well and alleviate +a number of current issues in the context of Git clients and servers +sharing Git objects. + +Even if LOPs are used not very efficiently, they can still be useful +and worth using in some cases, as we will see in more details +later in this document: + + - they can make it simpler for clients to use promisor remotes and + therefore avoid fetching a lot of large blobs they might not need + locally, + + - they can make it significantly cheaper or easier for servers to + host a significant part of the current repository content, and + even more to host content with larger blobs or more large blobs + than currently. + +I) Issues with the current situation +------------------------------------ + +- Some statistics made on GitLab repos have shown that more than 75% + of the disk space is used by blobs that are larger than 1MB and + often in a binary format. + +- So even if users could use Git LFS or similar tools to store a lot + of large blobs out of their repos, it's a fact that in practice they + don't do it as much as they probably should. + +- On the server side ideally, the server should be able to decide for + itself how it stores things. It should not depend on users deciding + to use tools like Git LFS on some blobs or not. + +- It's much more expensive to store large blobs that don't delta + compress well on regular fast seeking drives (like SSDs) than on + object storage (like Amazon S3 or GCP Buckets). Using fast drives + for regular Git repos makes sense though, as serving regular Git + content (blobs containing text or code) needs drives where seeking + is fast, but the content is relatively small. On the other hand, + object storage for Git LFS blobs makes sense as seeking speed is not + as important when dealing with large files, while costs are more + important. So the fact that users don't use Git LFS or similar tools + for a significant number of large blobs has likely some bad + consequences on the cost of repo storage for most Git hosting + platforms. + +- Having large blobs handled in the same way as other blobs and Git + objects in Git repos instead of on object storage also has a cost in + increased memory and CPU usage, and therefore decreased performance, + when creating packfiles. (This is because Git tries to use delta + compression or zlib compression which is unlikely to work well on + already compressed binary content.) So it's not just a storage cost + increase. + +- When a large blob has been committed into a repo, it might not be + possible to remove this blob from the repo without rewriting + history, even if the user then decides to use Git LFS or a similar + tool to handle it. + +- In fact Git LFS and similar tools are not very flexible in letting + users change their minds about the blobs they should handle or not. + +- Even when users are using Git LFS or similar tools, they are often + complaining that these tools require significant effort to set up, + learn and use correctly. + +II) Main features of the "Large Object Promisors" solution +---------------------------------------------------------- + +The main features below should give a rough overview of how the +solution may work. Details about needed elements can be found in +following sections. + +Even if each feature below is very useful for the full solution, it is +very likely to be also useful on its own in some cases where the full +solution is not required. However, we'll focus primarily on the big +picture here. + +Also each feature doesn't need to be implemented entirely in Git +itself. Some could be scripts, hooks or helpers that are not part of +the Git repo. It would be helpful if those could be shared and +improved on collaboratively though. So we want to encourage sharing +them. + +1) Large blobs are stored on LOPs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Large blobs should be stored on special promisor remotes that we will +call "Large Object Promisors" or LOPs. These LOPs should be additional +remotes dedicated to contain large blobs especially those in binary +format. They should be used along with main remotes that contain the +other objects. + +Note 1 +++++++ + +To clarify, a LOP is a normal promisor remote, except that: + +- it should store only large blobs, + +- it should be separate from the main remote, so that the main remote + can focus on serving other objects and the rest of the repos (see + feature 4) below) and can use the LOP as a promisor remote for + itself. + +Note 2 +++++++ + +Git already makes it possible for a main remote to also be a promisor +remote storing both regular objects and large blobs for a client that +clones from it with a filter on blob size. But here we explicitly want +to avoid that. + +Rationale ++++++++++ + +LOPs aim to be good at handling large blobs while main remotes are +already good at handling other objects. + +Implementation +++++++++++++++ + +Git already has support for multiple promisor remotes, see +link:partial-clone.html#using-many-promisor-remotes[the partial clone documentation]. + +Also, Git already has support for partial clone using a filter on the +size of the blobs (with `git clone --filter=blob:limit=<size>`). Most +of the other main features below are based on these existing features +and are about making them easy and efficient to use for the purpose of +better handling large blobs. + +2) LOPs can use object storage +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +LOPs can be implemented using object storage, like an Amazon S3 or GCP +Bucket or MinIO (which is open source under the GNU AGPLv3 license) to +actually store the large blobs, and can be accessed through a Git +remote helper (see linkgit:gitremote-helpers[7]) which makes the +underlying object storage appear like a remote to Git. + +Note +++++ + +A LOP can be a promisor remote accessed using a remote helper by +both some clients and the main remote. + +Rationale ++++++++++ + +This looks like the simplest way to create LOPs that can cheaply +handle many large blobs. + +Implementation +++++++++++++++ + +Remote helpers are quite easy to write as shell scripts, but it might +be more efficient and maintainable to write them using other languages +like Go. + +Some already exist under open source licenses, for example: + + - https://github.com/awslabs/git-remote-s3 + - https://gitlab.com/eric.p.ju/git-remote-gs + +Other ways to implement LOPs are certainly possible, but the goal of +this document is not to discuss how to best implement a LOP or its +underlying object storage (see the "0) Non goals" section above). + +3) LOP object storage can be Git LFS storage +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The underlying object storage that a LOP uses could also serve as +storage for large files handled by Git LFS. + +Rationale ++++++++++ + +This would simplify the server side if it wants to both use a LOP and +act as a Git LFS server. + +4) A main remote can offload to a LOP with a configurable threshold +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +On the server side, a main remote should have a way to offload to a +LOP all its blobs with a size over a configurable threshold. + +Rationale ++++++++++ + +This makes it easy to set things up and to clean things up. For +example, an admin could use this to manually convert a repo not using +LOPs to a repo using a LOP. On a repo already using a LOP but where +some users would sometimes push large blobs, a cron job could use this +to regularly make sure the large blobs are moved to the LOP. + +Implementation +++++++++++++++ + +Using something based on `git repack --filter=...` to separate the +blobs we want to offload from the other Git objects could be a good +idea. The missing part is to connect to the LOP, check if the blobs we +want to offload are already there and if not send them. + +5) A main remote should try to remain clean from large blobs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A main remote should try to avoid containing a lot of oversize +blobs. For that purpose, it should offload as needed to a LOP and it +should have ways to prevent oversize blobs to be fetched, and also +perhaps pushed, into it. + +Rationale ++++++++++ + +A main remote containing many oversize blobs would defeat the purpose +of LOPs. + +Implementation +++++++++++++++ + +The way to offload to a LOP discussed in 4) above can be used to +regularly offload oversize blobs. About preventing oversize blobs from +being fetched into the repo see 6) below. About preventing oversize +blob pushes, a pre-receive hook could be used. + +Also there are different scenarios in which large blobs could get +fetched into the main remote, for example: + +- A client that doesn't implement the "promisor-remote" protocol + (described in 6) below) clones from the main remote. + +- The main remote gets a request for information about a large blob + and is not able to get that information without fetching the blob + from the LOP. + +It might not be possible to completely prevent all these scenarios +from happening. So the goal here should be to implement features that +make the fetching of large blobs less likely. For example adding a +`remote-object-info` command in the `git cat-file --batch` protocol +and its variants might make it possible for a main repo to respond to +some requests about large blobs without fetching them. + +6) A protocol negotiation should happen when a client clones +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When a client clones from a main repo, there should be a protocol +negotiation so that the server can advertise one or more LOPs and so +that the client and the server can discuss if the client could +directly use a LOP the server is advertising. If the client and the +server can agree on that, then the client would be able to get the +large blobs directly from the LOP and the server would not need to +fetch those blobs from the LOP to be able to serve the client. + +Note +++++ + +For fetches instead of clones, a protocol negotiation might not always +happen, see the "What about fetches?" FAQ entry below for details. + +Rationale ++++++++++ + +Security, configurability and efficiency of setting things up. + +Implementation +++++++++++++++ + +A "promisor-remote" protocol v2 capability looks like a good way to +implement this. The way the client and server use this capability +could be controlled by configuration variables. + +Information that the server could send to the client through that +protocol could be things like: LOP name, LOP URL, filter-spec (for +example `blob:limit=<size>`) or just size limit that should be used as +a filter when cloning, token to be used with the LOP, etc. + +7) A client can offload to a LOP +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When a client is using a LOP that is also a LOP of its main remote, +the client should be able to offload some large blobs it has fetched, +but might not need anymore, to the LOP. + +Note +++++ + +It might depend on the context if it should be OK or not for clients +to offload large blobs they have created, instead of fetched, directly +to the LOP without the main remote checking them in some ways +(possibly using hooks or other tools). + +This should be discussed and refined when we get closer to +implementing this feature. + +Rationale ++++++++++ + +On the client, the easiest way to deal with unneeded large blobs is to +offload them. + +Implementation +++++++++++++++ + +This is very similar to what 4) above is about, except on the client +side instead of the server side. So a good solution to 4) could likely +be adapted to work on the client side too. + +There might be some security issues here, as there is no negotiation, +but they might be mitigated if the client can reuse a token it got +when cloning (see 6) above). Also if the large blobs were fetched from +a LOP, it is likely, and can easily be confirmed, that the LOP still +has them, so that they can just be removed from the client. + +III) Benefits of using LOPs +--------------------------- + +Many benefits are related to the issues discussed in "I) Issues with +the current situation" above: + +- No need to rewrite history when deciding which blobs are worth + handling separately than other objects, or when moving or removing + the threshold. + +- If the protocol between client and server is developed and secured + enough, then many details might be setup on the server side only and + all the clients could then easily get all the configuration + information and use it to set themselves up mostly automatically. + +- Storage costs benefits on the server side. + +- Reduced memory and CPU needs on main remotes on the server side. + +- Reduced storage needs on the client side. + +IV) FAQ +------- + +What about using multiple LOPs on the server and client side? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +That could perhaps be useful in some cases, but for now it's more +likely that in most cases a single LOP will be advertised by the +server and should be used by the client. + +A case where it could be useful for a server to advertise multiple +LOPs is if a LOP is better for some users while a different LOP is +better for other users. For example some clients might have a better +connection to a LOP than others. + +In those cases it's the responsibility of the server to have some +documentation to help clients. It could say for example something like +"Users in this part of the world might want to pick only LOP A as it +is likely to be better connected to them, while users in other parts +of the world should pick only LOP B for the same reason." + +When should we trust or not trust the LOPs advertised by the server? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In some contexts, like in corporate setup where the server and all the +clients are parts of an internal network in a company where admins +have all the rights on every system, it's OK, and perhaps even a good +thing, if the clients fully trust the server, as it can help ensure +that all the clients are on the same page. + +There are also contexts in which clients trust a code hosting platform +serving them some repos, but might not fully trust other users +managing or contributing to some of these repos. For example, the code +hosting platform could have hooks in place to check that any object it +receives doesn't contain malware or otherwise bad content. In this +case it might be OK for the client to use a main remote and its LOP if +they are both hosted by the code hosting platform, but not if the LOP +is hosted elsewhere (where the content is not checked). + +In other contexts, a client should just not trust a server. + +So there should be different ways to configure how the client should +behave when a server advertises a LOP to it at clone time. + +As the basic elements that a server can advertise about a LOP are a +LOP name and a LOP URL, the client should base its decision about +accepting a LOP on these elements. + +One simple way to be very strict in the LOP it accepts is for example +for the client to check that the LOP is already configured on the +client with the same name and URL as what the server advertises. + +In general default and "safe" settings should require that the LOP are +configured on the client separately from the "promisor-remote" +protocol and that the client accepts a LOP only when information about +it from the protocol matches what has been already configured +separately. + +What about LOP names? +~~~~~~~~~~~~~~~~~~~~~ + +In some contexts, for example if the clients sometimes fetch from each +other, it can be a good idea for all the clients to use the same names +for all the remotes they use, including LOPs. + +In other contexts, each client might want to be able to give the name +it wants to each remote, including each LOP, it interacts with. + +So there should be different ways to configure how the client accepts +or not the LOP name the server advertises. + +If a default or "safe" setting is used, then as such a setting should +require that the LOP be configured separately, then the name would be +configured separately and there is no risk that the server could +dictate a name to a client. + +Could the main remote be bogged down by old or paranoid clients? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Yes, it could happen if there are too many clients that are either +unwilling to trust the main remote or that just don't implement the +"promisor-remote" protocol because they are too old or not fully +compatible with the 'git' client. + +When serving such a client, the main remote has no other choice than +to first fetch from its LOP, to then be able to provide to the client +everything it requested. So the main remote, even if it has cleanup +mechanisms (see section II.4 above), would be burdened at least +temporarily with the large blobs it had to fetch from its LOP. + +Not behaving like this would be breaking backward compatibility, and +could be seen as segregating clients. For example, it might be +possible to implement a special mode that allows the server to just +reject clients that don't implement the "promisor-remote" protocol or +aren't willing to trust the main remote. This mode might be useful in +a special context like a corporate environment. There is no plan to +implement such a mode though, and this should be discussed separately +later anyway. + +A better way to proceed is probably for the main remote to show a +message telling clients that don't implement the protocol or are +unwilling to accept the advertised LOP(s) that they would get faster +clone and fetches by upgrading client software or properly setting +them up to accept LOP(s). + +Waiting for clients to upgrade, monitoring these upgrades and limiting +the use of LOPs to repos that are not very frequently accessed might +be other good ways to make sure that some benefits are still reaped +from LOPs. Over time, as more and more clients upgrade and benefit +from LOPs, using them in more and more frequently accessed repos will +become worth it. + +Corporate environments, where it might be easier to make sure that all +the clients are up-to-date and properly configured, could hopefully +benefit more and earlier from using LOPs. + +What about fetches? +~~~~~~~~~~~~~~~~~~~ + +There are different kinds of fetches. A regular fetch happens when +some refs have been updated on the server and the client wants the ref +updates and possibly the new objects added with them. A "backfill" or +"lazy" fetch, on the contrary, happens when the client needs to use +some objects it already knows about but doesn't have because they are +on a promisor remote. + +Regular fetch ++++++++++++++ + +In a regular fetch, the client will contact the main remote and a +protocol negotiation will happen between them. It's a good thing that +a protocol negotiation happens every time, as the configuration on the +client or the main remote could have changed since the previous +protocol negotiation. In this case, the new protocol negotiation +should ensure that the new fetch will happen in a way that satisfies +the new configuration of both the client and the server. + +In most cases though, the configurations on the client and the main +remote will not have changed between 2 fetches or between the initial +clone and a subsequent fetch. This means that the result of a new +protocol negotiation will be the same as the previous result, so the +new fetch will happen in the same way as the previous clone or fetch, +using, or not using, the same LOP(s) as last time. + +"Backfill" or "lazy" fetch +++++++++++++++++++++++++++ + +When there is a backfill fetch, the client doesn't necessarily contact +the main remote first. It will try to fetch from its promisor remotes +in the order they appear in the config file, except that a remote +configured using the `extensions.partialClone` config variable will be +tried last. See +link:partial-clone.html#using-many-promisor-remotes[the partial clone documentation]. + +This is not new with this effort. In fact this is how multiple remotes +have already been working for around 5 years. + +When using LOPs, having the main remote configured using +`extensions.partialClone`, so it's tried last, makes sense, as missing +objects should only be large blobs that are on LOPs. + +This means that a protocol negotiation will likely not happen as the +missing objects will be fetched from the LOPs, and then there will be +nothing left to fetch from the main remote. + +To secure that, it could be a good idea for LOPs to require a token +from the client when it fetches from them. The client could get the +token when performing a protocol negotiation with the main remote (see +section II.6 above). + +V) Future improvements +---------------------- + +It is expected that at the beginning using LOPs will be mostly worth +it either in a corporate context where the Git version that clients +use can easily be controlled, or on repos that are infrequently +accessed. (See the "Could the main remote be bogged down by old or +paranoid clients?" section in the FAQ above.) + +Over time, as more and more clients upgrade to a version that +implements the "promisor-remote" protocol v2 capability described +above in section II.6), it will be worth it to use LOPs more widely. + +A lot of improvements may also help using LOPs more widely. Some of +these improvements are part of the scope of this document like the +following: + + - Implementing a "remote-object-info" command in the + `git cat-file --batch` protocol and its variants to allow main + remotes to respond to requests about large blobs without fetching + them. (Eric Ju has started working on this based on previous work + by Calvin Wan.) + + - Creating better cleanup and offload mechanisms for main remotes + and clients to prevent accumulation of large blobs. + + - Developing more sophisticated protocol negotiation capabilities + between clients and servers for handling LOPs, for example adding + a filter-spec (e.g., blob:limit=<size>) or size limit for + filtering when cloning, or adding a token for LOP authentication. + + - Improving security measures for LOP access, particularly around + token handling and authentication. + + - Developing standardized ways to configure and manage multiple LOPs + across different environments. Especially in the case where + different LOPs serve the same content to clients in different + geographical locations, there is a need for replication or + synchronization between LOPs. + +Some improvements, including some that have been mentioned in the "0) +Non Goals" section of this document, are out of the scope of this +document: + + - Implementing a new object representation for large blobs on the + client side. + + - Developing pluggable ODBs or other object database backends that + could chunk large blobs, dedup the chunks and store them + efficiently. + + - Optimizing data transfer between LOPs and clients/servers, + particularly for incompressible and non-deltifying content. + + - Creating improved client side tools for managing large objects + more effectively, for example tools for migrating from Git LFS or + git-annex, or tools to find which objects could be offloaded and + how much disk space could be reclaimed by offloading them. + +Some improvements could be seen as part of the scope of this document, +but might already have their own separate projects from the Git +project, like: + + - Improving existing remote helpers to access object storage or + developing new ones. + + - Improving existing object storage solutions or developing new + ones. + +Even though all the above improvements may help, this document and the +LOP effort should try to focus, at least first, on a relatively small +number of improvements mostly those that are in its current scope. + +For example introducing pluggable ODBs and a new object database +backend is likely a multi-year effort on its own that can happen +separately in parallel. It has different technical requirements, +touches other part of the Git code base and should have its own design +document(s). diff --git a/Documentation/technical/long-running-process-protocol.txt b/Documentation/technical/long-running-process-protocol.adoc index 6f33654b42..6f33654b42 100644 --- a/Documentation/technical/long-running-process-protocol.txt +++ b/Documentation/technical/long-running-process-protocol.adoc diff --git a/Documentation/technical/meson.build b/Documentation/technical/meson.build new file mode 100644 index 0000000000..a13aafcfbb --- /dev/null +++ b/Documentation/technical/meson.build @@ -0,0 +1,67 @@ +api_docs = [ + 'api-error-handling.adoc', + 'api-merge.adoc', + 'api-parse-options.adoc', + 'api-simple-ipc.adoc', + 'api-trace2.adoc', +] + +articles = [ + 'bitmap-format.adoc', + 'build-systems.adoc', + 'bundle-uri.adoc', + 'commit-graph.adoc', + 'directory-rename-detection.adoc', + 'hash-function-transition.adoc', + 'long-running-process-protocol.adoc', + 'multi-pack-index.adoc', + 'packfile-uri.adoc', + 'pack-heuristics.adoc', + 'parallel-checkout.adoc', + 'partial-clone.adoc', + 'platform-support.adoc', + 'racy-git.adoc', + 'reftable.adoc', + 'remembering-renames.adoc', + 'repository-version.adoc', + 'rerere.adoc', + 'scalar.adoc', + 'send-pack-pipeline.adoc', + 'shallow.adoc', + 'sparse-checkout.adoc', + 'sparse-index.adoc', + 'trivial-merge.adoc', + 'unit-tests.adoc', +] + +api_index = custom_target( + command: [ + shell, + meson.current_source_dir() / 'api-index.sh', + meson.current_source_dir(), + '@OUTPUT@', + ], + env: script_environment, + input: api_docs, + output: 'api-index.adoc', +) + +custom_target( + command: asciidoc_html_options, + input: api_index, + output: 'api-index.html', + depends: documentation_deps, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc/technical', +) + +foreach article : api_docs + articles + custom_target( + command: asciidoc_html_options, + input: article, + output: fs.stem(article) + '.html', + depends: documentation_deps, + install: true, + install_dir: get_option('datadir') / 'doc/git-doc/technical', + ) +endforeach diff --git a/Documentation/technical/multi-pack-index.txt b/Documentation/technical/multi-pack-index.adoc index cc063b30be..ffda70aa13 100644 --- a/Documentation/technical/multi-pack-index.txt +++ b/Documentation/technical/multi-pack-index.adoc @@ -164,19 +164,81 @@ objects_nr($H2) + objects_nr($H1) + i (in the C implementation, this is often computed as `i + m->num_objects_in_base`). +=== Pseudo-pack order for incremental MIDXs + +The original implementation of multi-pack reachability bitmaps defined +the pseudo-pack order in linkgit:gitformat-pack[5] (see the section +titled "multi-pack-index reverse indexes") roughly as follows: + +____ +In short, a MIDX's pseudo-pack is the de-duplicated concatenation of +objects in packs stored by the MIDX, laid out in pack order, and the +packs arranged in MIDX order (with the preferred pack coming first). +____ + +In the incremental MIDX design, we extend this definition to include +objects from multiple layers of the MIDX chain. The pseudo-pack order +for incremental MIDXs is determined by concatenating the pseudo-pack +ordering for each layer of the MIDX chain in order. Formally two objects +`o1` and `o2` are compared as follows: + +1. If `o1` appears in an earlier layer of the MIDX chain than `o2`, then + `o1` sorts ahead of `o2`. + +2. Otherwise, if `o1` and `o2` appear in the same MIDX layer, and that + MIDX layer has no base, then if one of `pack(o1)` and `pack(o2)` is + preferred and the other is not, then the preferred one sorts ahead of + the non-preferred one. If there is a base layer (i.e. the MIDX layer + is not the first layer in the chain), then if `pack(o1)` appears + earlier in that MIDX layer's pack order, then `o1` sorts ahead of + `o2`. Likewise if `pack(o2)` appears earlier, then the opposite is + true. + +3. Otherwise, `o1` and `o2` appear in the same pack, and thus in the + same MIDX layer. Sort `o1` and `o2` by their offset within their + containing packfile. + +Note that the preferred pack is a property of the MIDX chain, not the +individual layers themselves. Fundamentally we could introduce a +per-layer preferred pack, but this is less relevant now that we can +perform multi-pack reuse across the set of packs in a MIDX. + +=== Reachability bitmaps and incremental MIDXs + +Each layer of an incremental MIDX chain may have its objects (and the +objects from any previous layer in the same MIDX chain) represented in +its own `*.bitmap` file. + +The structure of a `*.bitmap` file belonging to an incremental MIDX +chain is identical to that of a non-incremental MIDX bitmap, or a +classic single-pack bitmap. Since objects are added to the end of the +incremental MIDX's pseudo-pack order (see above), it is possible to +extend a bitmap when appending to the end of a MIDX chain. + +(Note: it is possible likewise to compress a contiguous sequence of MIDX +incremental layers, and their `*.bitmap` files into a single layer and +`*.bitmap`, but this is not yet implemented.) + +The object positions used are global within the pseudo-pack order, so +subsequent layers will have, for example, `m->num_objects_in_base` +number of `0` bits in each of their four type bitmaps. This follows from +the fact that we only write type bitmap entries for objects present in +the layer immediately corresponding to the bitmap). + +Note also that only the bitmap pertaining to the most recent layer in an +incremental MIDX chain is used to store reachability information about +the interesting and uninteresting objects in a reachability query. +Earlier bitmap layers are only used to look up commit and pseudo-merge +bitmaps from that layer, as well as the type-level bitmaps for objects +in that layer. + +To simplify the implementation, type-level bitmaps are iterated +simultaneously, and their results are OR'd together to avoid recursively +calling internal bitmap functions. + Future Work ----------- -- The multi-pack-index allows many packfiles, especially in a context - where repacking is expensive (such as a very large repo), or - unexpected maintenance time is unacceptable (such as a high-demand - build machine). However, the multi-pack-index needs to be rewritten - in full every time. We can extend the format to be incremental, so - writes are fast. By storing a small "tip" multi-pack-index that - points to large "base" MIDX files, we can keep writes fast while - still reducing the number of binary searches required for object - lookups. - - If the multi-pack-index is extended to store a "stable object order" (a function Order(hash) = integer that is constant for a given hash, even as the multi-pack-index is updated) then MIDX bitmaps could be diff --git a/Documentation/technical/pack-heuristics.txt b/Documentation/technical/pack-heuristics.adoc index 95a07db6e8..95a07db6e8 100644 --- a/Documentation/technical/pack-heuristics.txt +++ b/Documentation/technical/pack-heuristics.adoc diff --git a/Documentation/technical/packfile-uri.txt b/Documentation/technical/packfile-uri.adoc index 9d453d4765..9d453d4765 100644 --- a/Documentation/technical/packfile-uri.txt +++ b/Documentation/technical/packfile-uri.adoc diff --git a/Documentation/technical/parallel-checkout.txt b/Documentation/technical/parallel-checkout.adoc index b4a144e5f4..b4a144e5f4 100644 --- a/Documentation/technical/parallel-checkout.txt +++ b/Documentation/technical/parallel-checkout.adoc diff --git a/Documentation/technical/partial-clone.txt b/Documentation/technical/partial-clone.adoc index cd948b0072..e513e391ea 100644 --- a/Documentation/technical/partial-clone.txt +++ b/Documentation/technical/partial-clone.adoc @@ -85,7 +85,7 @@ See "filter" in linkgit:gitprotocol-pack[5]. server to request filtering during packfile construction. + There are various filters available to accommodate different situations. -See "--filter=<filter-spec>" in Documentation/rev-list-options.txt. +See "--filter=<filter-spec>" in Documentation/rev-list-options.adoc. - On the server pack-objects applies the requested filter-spec as it creates "filtered" packfiles for the client. @@ -102,7 +102,7 @@ or commits that reference missing trees. - On the client a repository extension is added to the local config to prevent older versions of git from failing mid-operation because of missing objects that they cannot handle. - See "extensions.partialClone" in Documentation/technical/repository-version.txt" + See `extensions.partialClone` in linkgit:git-config[1]. Handling Missing Objects diff --git a/Documentation/technical/platform-support.txt b/Documentation/technical/platform-support.adoc index 0a2fb28d62..0a2fb28d62 100644 --- a/Documentation/technical/platform-support.txt +++ b/Documentation/technical/platform-support.adoc diff --git a/Documentation/technical/racy-git.txt b/Documentation/technical/racy-git.adoc index 59bea66c0f..59bea66c0f 100644 --- a/Documentation/technical/racy-git.txt +++ b/Documentation/technical/racy-git.adoc diff --git a/Documentation/technical/reftable.txt b/Documentation/technical/reftable.adoc index dd0b37c4e3..dd0b37c4e3 100644 --- a/Documentation/technical/reftable.txt +++ b/Documentation/technical/reftable.adoc diff --git a/Documentation/technical/remembering-renames.txt b/Documentation/technical/remembering-renames.adoc index 73f41761e2..73f41761e2 100644 --- a/Documentation/technical/remembering-renames.txt +++ b/Documentation/technical/remembering-renames.adoc diff --git a/Documentation/technical/repository-version.txt b/Documentation/technical/repository-version.adoc index 47281420fc..b9bb81a81f 100644 --- a/Documentation/technical/repository-version.txt +++ b/Documentation/technical/repository-version.adoc @@ -65,44 +65,6 @@ Note that if no extensions are specified in the config file, then provides no benefit, and makes the repository incompatible with older implementations of git). -This document will serve as the master list for extensions. Any -implementation wishing to define a new extension should make a note of -it here, in order to claim the name. - -The defined extensions are: - -==== `noop` - -This extension does not change git's behavior at all. It is useful only -for testing format-1 compatibility. - -==== `preciousObjects` - -When the config key `extensions.preciousObjects` is set to `true`, -objects in the repository MUST NOT be deleted (e.g., by `git-prune` or -`git repack -d`). - -==== `partialClone` - -When the config key `extensions.partialClone` is set, it indicates -that the repo was created with a partial clone (or later performed -a partial fetch) and that the remote may have omitted sending -certain unwanted objects. Such a remote is called a "promisor remote" -and it promises that all such omitted objects can be fetched from it -in the future. - -The value of this key is the name of the promisor remote. - -==== `worktreeConfig` - -If set, by default "git config" reads from both "config" and -"config.worktree" files from GIT_DIR in that order. In -multiple working directory mode, "config" file is shared while -"config.worktree" is per-working directory (i.e., it's in -GIT_COMMON_DIR/worktrees/<id>/config.worktree) - -==== `refStorage` - -Specifies the file format for the ref database. The valid values are -`files` (loose references with a packed-refs file) and `reftable` (see -Documentation/technical/reftable.txt). +The defined extensions are given in the `extensions.*` section of +linkgit:git-config[1]. Any implementation wishing to define a new +extension should make a note of it there, in order to claim the name. diff --git a/Documentation/technical/rerere.txt b/Documentation/technical/rerere.adoc index 580f23360a..580f23360a 100644 --- a/Documentation/technical/rerere.txt +++ b/Documentation/technical/rerere.adoc diff --git a/Documentation/technical/scalar.txt b/Documentation/technical/scalar.adoc index 921cb104c3..921cb104c3 100644 --- a/Documentation/technical/scalar.txt +++ b/Documentation/technical/scalar.adoc diff --git a/Documentation/technical/send-pack-pipeline.txt b/Documentation/technical/send-pack-pipeline.adoc index 9b5a0bc186..9b5a0bc186 100644 --- a/Documentation/technical/send-pack-pipeline.txt +++ b/Documentation/technical/send-pack-pipeline.adoc diff --git a/Documentation/technical/shallow.txt b/Documentation/technical/shallow.adoc index f3738baa0f..f3738baa0f 100644 --- a/Documentation/technical/shallow.txt +++ b/Documentation/technical/shallow.adoc diff --git a/Documentation/technical/sparse-checkout.txt b/Documentation/technical/sparse-checkout.adoc index d968659354..0f750ef3e3 100644 --- a/Documentation/technical/sparse-checkout.txt +++ b/Documentation/technical/sparse-checkout.adoc @@ -66,7 +66,7 @@ sparsity patterns: patterns from $GIT_DIR/info/sparse-checkout used to reasons: (1) users in cone mode specify directories rather than patterns (their directories are transformed into patterns, but users may think you are talking about non-cone mode if you use the - word "patterns"), and (b) the sparse specification might + word "patterns"), and (2) the sparse specification might transiently differ in the working tree or index from the sparsity patterns (see "Sparse specification vs. sparsity patterns"). @@ -356,8 +356,6 @@ understanding these differences can be beneficial. The behavior for these commands somewhat depends upon the merge strategy being used: * `ort` behaves as described above - * `recursive` tries to not vivify files unnecessarily, but does sometimes - vivify files without conflicts. * `octopus` and `resolve` will always vivify any file changed in the merge relative to the first parent, which is rather suboptimal. @@ -442,7 +440,7 @@ understanding these differences can be beneficial. * blame (only matters when one or more -C flags are passed) * and annotate * log - * whatchanged + * whatchanged (may not exist anymore) * ls-files * diff-index * diff-tree diff --git a/Documentation/technical/sparse-index.txt b/Documentation/technical/sparse-index.adoc index 3b24c1a219..3b24c1a219 100644 --- a/Documentation/technical/sparse-index.txt +++ b/Documentation/technical/sparse-index.adoc diff --git a/Documentation/technical/trivial-merge.txt b/Documentation/technical/trivial-merge.adoc index 1f1c33d0da..1f1c33d0da 100644 --- a/Documentation/technical/trivial-merge.txt +++ b/Documentation/technical/trivial-merge.adoc diff --git a/Documentation/technical/unit-tests.txt b/Documentation/technical/unit-tests.adoc index 5a432b7b29..5a432b7b29 100644 --- a/Documentation/technical/unit-tests.txt +++ b/Documentation/technical/unit-tests.adoc diff --git a/Documentation/trace2-target-values.txt b/Documentation/trace2-target-values.adoc index 06f1953313..06f1953313 100644 --- a/Documentation/trace2-target-values.txt +++ b/Documentation/trace2-target-values.adoc diff --git a/Documentation/transfer-data-leaks.txt b/Documentation/transfer-data-leaks.adoc index 914bacc39e..914bacc39e 100644 --- a/Documentation/transfer-data-leaks.txt +++ b/Documentation/transfer-data-leaks.adoc diff --git a/Documentation/urls-remotes.txt b/Documentation/urls-remotes.adoc index bf17012241..9b10151198 100644 --- a/Documentation/urls-remotes.txt +++ b/Documentation/urls-remotes.adoc @@ -1,4 +1,4 @@ -include::urls.txt[] +include::urls.adoc[] REMOTES[[REMOTES]] ------------------ diff --git a/Documentation/urls.txt b/Documentation/urls.adoc index 7cec85aef1..9c871e716a 100644 --- a/Documentation/urls.txt +++ b/Documentation/urls.adoc @@ -10,19 +10,19 @@ Git supports ssh, git, http, and https protocols (in addition, ftp and ftps can be used for fetching, but this is inefficient and deprecated; do not use them). -The native transport (i.e. git:// URL) does no authentication and +The native transport (i.e. `git://` URL) does no authentication and should be used with caution on unsecured networks. The following syntaxes may be used with them: -- ++ssh://++{startsb}__<user>__++@++{endsb}__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__ -- ++git://++__<host>__{startsb}:__<port>__{endsb}++/++__<path-to-git-repo>__ -- ++http++{startsb}++s++{endsb}++://++__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__ -- ++ftp++{startsb}++s++{endsb}++://++__<host>__{startsb}++:++__<port>__{endsb}++/++__<path-to-git-repo>__ +- `ssh://[<user>@]<host>[:<port>]/<path-to-git-repo>` +- `git://<host>[:<port>]/<path-to-git-repo>` +- `http[s]://<host>[:<port>]/<path-to-git-repo>` +- `ftp[s]://<host>[:<port>]/<path-to-git-repo>` An alternative scp-like syntax may also be used with the ssh protocol: -- {startsb}__<user>__++@++{endsb}__<host>__++:/++__<path-to-git-repo>__ +- `[<user>@]<host>:/<path-to-git-repo>` This syntax is only recognized if there are no slashes before the first colon. This helps differentiate a local path that contains a @@ -30,17 +30,17 @@ colon. For example the local path `foo:bar` could be specified as an absolute path or `./foo:bar` to avoid being misinterpreted as an ssh url. -The ssh and git protocols additionally support ++~++__<username>__ expansion: +The ssh and git protocols additionally support `~<username>` expansion: -- ++ssh://++{startsb}__<user>__++@++{endsb}__<host>__{startsb}++:++__<port>__{endsb}++/~++__<user>__++/++__<path-to-git-repo>__ -- ++git://++__<host>__{startsb}++:++__<port>__{endsb}++/~++__<user>__++/++__<path-to-git-repo>__ -- {startsb}__<user>__++@++{endsb}__<host>__++:~++__<user>__++/++__<path-to-git-repo>__ +- `ssh://[<user>@]<host>[:<port>]/~<user>/<path-to-git-repo>` +- `git://<host>[:<port>]/~<user>/<path-to-git-repo>` +- `[<user>@]<host>:~<user>/<path-to-git-repo>` For local repositories, also supported by Git natively, the following syntaxes may be used: - `/path/to/repo.git/` -- ++file:///path/to/repo.git/++ +- `file:///path/to/repo.git/` ifndef::git-clone[] These two syntaxes are mostly equivalent, except when cloning, when @@ -57,11 +57,11 @@ endif::git-clone[] accept a suitable bundle file. See linkgit:git-bundle[1]. When Git doesn't know how to handle a certain transport protocol, it -attempts to use the `remote-`{empty}__<transport>__ remote helper, if one +attempts to use the `remote-<transport>` remote helper, if one exists. To explicitly request a remote helper, the following syntax may be used: -- _<transport>_::__<address>__ +- `<transport>::<address>` where _<address>_ may be a path, a server and path, or an arbitrary URL-like string recognized by the specific remote helper being diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.adoc index 90a4189358..8d00a9e822 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.adoc @@ -4240,7 +4240,7 @@ command `git`. The source side of a builtin is - an entry in `BUILTIN_OBJECTS` in the `Makefile`. Sometimes, more than one builtin is contained in one source file. For -example, `cmd_whatchanged()` and `cmd_log()` both reside in `builtin/log.c`, +example, `cmd_show()` and `cmd_log()` both reside in `builtin/log.c`, since they share quite a bit of code. In that case, the commands which are _not_ named like the `.c` file in which they live have to be listed in `BUILT_INS` in the `Makefile`. @@ -4301,11 +4301,11 @@ Now, for the meat: ----------------------------------------------------------------------------- case 0: - buf = read_object_with_reference(sha1, argv[1], &size, NULL); + buf = odb_read_object_peeled(r->objects, sha1, argv[1], &size, NULL); ----------------------------------------------------------------------------- This is how you read a blob (actually, not only a blob, but any type of -object). To know how the function `read_object_with_reference()` actually +object). To know how the function `odb_read_object_peeled()` actually works, find the source code for it (something like `git grep read_object_with | grep ":[a-z]"` in the Git repository), and read the source. @@ -4354,7 +4354,7 @@ itself! [[git-explained]] === Git explained -include::glossary-content.txt[] +include::glossary-content.adoc[] [[git-quick-start]] [appendix] diff --git a/Documentation/user-manual.conf b/Documentation/user-manual.conf deleted file mode 100644 index 0148f126dc..0000000000 --- a/Documentation/user-manual.conf +++ /dev/null @@ -1,11 +0,0 @@ -[titles] - underlines="__","==","--","~~","^^" - -[attributes] -caret=^ -startsb=[ -endsb=] -tilde=~ - -[linkgit-inlinemacro] -<ulink url="{target}.html">{target}{0?({0})}</ulink> |
