git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] doc: git-checkout: reorganize examples

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 18, 2023, 07:00 UTC
Message-ID
<20230418070048.2209469-3-felipe.contreras@gmail.com>
In-Reply-To
<20230418070048.2209469-1-felipe.contreras@gmail.com>

The examples are an ordered list, however, they are complex enough that a callout is inside example 1, and that confuses the parsers as the list continuation (`+`) is unclear (are we continuing the previous list item, or the previous callout?).

We could use an open block as the asciidoctor documentation suggests, but that has a tiny formatting issue (a newline is missing).

To simplify things for everyone (the reader, the writer, and the parser) let's use subsections.

After this change, the HTML documentation generated with asciidoc has the right indentation.

Cc: Jeff King <peff@peff.net>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 Documentation/git-checkout.txt | 50 +++++++++++++++++++---------------
 1 file changed, 28 insertions(+), 22 deletions(-)
diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt
index 8ddeec63dd..4af0904f47 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -516,10 +516,12 @@ to checkout these paths out of the index.
 EXAMPLES
 --------
 
-. The following sequence checks out the `master` branch, reverts
-  the `Makefile` to two revisions back, deletes `hello.c` by
-  mistake, and gets it back from the index.
-+
+=== 1. Paths
+
+The following sequence checks out the `master` branch, reverts
+the `Makefile` to two revisions back, deletes `hello.c` by
+mistake, and gets it back from the index.
+
 ------------
 $ git checkout master             <1>
 $ git checkout master~2 Makefile  <2>
@@ -529,70 +531,74 @@ $ git checkout hello.c            <3>
 <1> switch branch
 <2> take a file out of another commit
 <3> restore `hello.c` from the index
-+
+
 If you want to check out _all_ C source files out of the index,
 you can say
-+
+
 ------------
 $ git checkout -- '*.c'
 ------------
-+
+
 Note the quotes around `*.c`.  The file `hello.c` will also be
 checked out, even though it is no longer in the working tree,
 because the file globbing is used to match entries in the index
 (not in the working tree by the shell).
-+
+
 If you have an unfortunate branch that is named `hello.c`, this
 step would be confused as an instruction to switch to that branch.
 You should instead write:
-+
+
 ------------
 $ git checkout -- hello.c
 ------------
 
-. After working in the wrong branch, switching to the correct
-  branch would be done using:
-+
+=== 2. Merge
+
+After working in the wrong branch, switching to the correct
+branch would be done using:
+
 ------------
 $ git checkout mytopic
 ------------
-+
+
 However, your "wrong" branch and correct `mytopic` branch may
 differ in files that you have modified locally, in which case
 the above checkout would fail like this:
-+
+
 ------------
 $ git checkout mytopic
 error: You have local changes to 'frotz'; not switching branches.
 ------------
-+
+
 You can give the `-m` flag to the command, which would try a
 three-way merge:
-+
+
 ------------
 $ git checkout -m mytopic
 Auto-merging frotz
 ------------
-+
+
 After this three-way merge, the local modifications are _not_
 registered in your index file, so `git diff` would show you what
 changes you made since the tip of the new branch.
 
-. When a merge conflict happens during switching branches with
-  the `-m` option, you would see something like this:
-+
+=== 3. Merge conflict
+
+When a merge conflict happens during switching branches with
+the `-m` option, you would see something like this:
+
 ------------
 $ git checkout -m mytopic
 Auto-merging frotz
 ERROR: Merge conflict in frotz
 fatal: merge program failed
 ------------
-+
+
 At this point, `git diff` shows the changes cleanly merged as in
 the previous example, as well as the changes in the conflicted
 files.  Edit and resolve the conflict and mark it resolved with
 `git add` as usual:
-+
+
 ------------
 $ edit frotz
 $ git add frotz
-- 
2.40.0+fc1
Previous: Felipe ContrerasNext: Junio C Hamano
Message 14 of 15 in “doc: git-checkout: trivial style improvements”
  1. 0/2 doc: git-checkout: trivial style improvementsFelipe Contreras, Apr 18, 2023
  2. 1/2 doc: git-checkout: trivial callout cleanupFelipe Contreras, Apr 18, 2023
  3. Junio C HamanoApr 19, 2023
  4. Felipe ContrerasApr 24, 2023
  5. Junio C HamanoApr 25, 2023
  6. Jeff KingApr 25, 2023
  7. Felipe ContrerasApr 27, 2023
  8. Jeff KingMay 2, 2023
  9. Felipe ContrerasMay 2, 2023
  10. Junio C HamanoMay 3, 2023
  11. Felipe ContrerasMay 3, 2023
  12. Junio C HamanoMay 3, 2023
  13. Felipe ContrerasApr 27, 2023
  14. 2/2 doc: git-checkout: reorganize examplesFelipe Contreras, Apr 18, 2023
  15. Junio C HamanoApr 19, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.