mbox series

[v2,0/2] fix up example code in MyFirstObjectWalk tutorial

Message ID pull.1063.v2.git.1635530296.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series fix up example code in MyFirstObjectWalk tutorial | expand

Message

Jean-Noël Avila via GitGitGadget Oct. 29, 2021, 5:58 p.m. UTC
MyFirstObjectWalk tutorial was missing directives to add some header files.
Also fixes some initialization code.

Changes since v1:

 * added back ticks to header file names
 * wrapped overly long lines

John Cai (2):
  docs: fix places that break compilation in MyFirstObjectWalk
  docs: add headers in MyFirstObjectWalk

 Documentation/MyFirstObjectWalk.txt | 31 ++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)


base-commit: e9e5ba39a78c8f5057262d49e261b42a8660d5b9
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1063%2Fjohn-cai%2Fjc-fix-my-first-object-walk-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1063/john-cai/jc-fix-my-first-object-walk-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1063

Range-diff vs v1:

 1:  6c95f11f110 ! 1:  5c9deaf0bcc docs: fix places that break compliation in MyFirstObjectWalk
     @@ Metadata
      Author: John Cai <johncai86@gmail.com>
      
       ## Commit message ##
     -    docs: fix places that break compliation in MyFirstObjectWalk
     +    docs: fix places that break compilation in MyFirstObjectWalk
      
          Two errors in the example code caused compilation failures due to
     -    a missing semi-colon as well as initialization with an empty struct.
     +    a missing semicolon as well as initialization with an empty struct.
          This commit fixes that to make the MyFirstObjectWalk tutorial easier to
          follow.
      
          Signed-off-by: John Cai <johncai86@gmail.com>
      
       ## Documentation/MyFirstObjectWalk.txt ##
     +@@ Documentation/MyFirstObjectWalk.txt: running, enable trace output by setting the environment variable `GIT_TRACE`.
     + 
     + Add usage text and `-h` handling, like all subcommands should consistently do
     + (our test suite will notice and complain if you fail to do so).
     ++We'll need to include the `parse-options.h` header.
     + 
     + ----
     + int cmd_walken(int argc, const char **argv, const char *prefix)
      @@ Documentation/MyFirstObjectWalk.txt: int cmd_walken(int argc, const char **argv, const char *prefix)
       	const char * const walken_usage[] = {
       		N_("git walken"),
     @@ Documentation/MyFirstObjectWalk.txt: int cmd_walken(int argc, const char **argv,
       	struct option options[] = {
       		OPT_END()
       	};
     +@@ Documentation/MyFirstObjectWalk.txt: Similarly to the default values, we don't have anything to do here yet
     + ourselves; however, we should call `git_default_config()` if we aren't calling
     + any other existing config callbacks.
     + 
     +-Add a new function to `builtin/walken.c`:
     ++Add a new function to `builtin/walken.c`.
     ++We'll also need to include the `config.h` header:
     + 
     + ----
     + static int git_walken_config(const char *var, const char *value, void *cb)
     +@@ Documentation/MyFirstObjectWalk.txt: typically done by calling `repo_init_revisions()` with the repository you intend
     + to target, as well as the `prefix` argument of `cmd_walken` and your `rev_info`
     + struct.
     + 
     +-Add the `struct rev_info` and the `repo_init_revisions()` call:
     ++Add the `struct rev_info` and the `repo_init_revisions()` call.
     ++We'll also need to include the `revision.h` header:
     ++
     + ----
     + int cmd_walken(int argc, const char **argv, const char *prefix)
     + {
     +@@ Documentation/MyFirstObjectWalk.txt: static void walken_object_walk(struct rev_info *rev)
     + ----
     + 
     + Let's start by calling just the unfiltered walk and reporting our counts.
     +-Complete your implementation of `walken_object_walk()`:
     ++Complete your implementation of `walken_object_walk()`.
     ++We'll also need to include the `list-objects.h` header.
     + 
     + ----
     + 	traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL);
      @@ Documentation/MyFirstObjectWalk.txt: First, we'll need to `#include "list-objects-filter-options.h"` and set up the
       ----
       static void walken_object_walk(struct rev_info *rev)
 2:  33cd9b2e8a6 ! 2:  7268f00c11f docs: add headers in MyFirstObjectWalk
     @@ Commit message
          Signed-off-by: John Cai <johncai86@gmail.com>
      
       ## Documentation/MyFirstObjectWalk.txt ##
     -@@ Documentation/MyFirstObjectWalk.txt: command). So we will send our debug output to `trace_printf()` instead. When
     - running, enable trace output by setting the environment variable `GIT_TRACE`.
     - 
     - Add usage text and `-h` handling, like all subcommands should consistently do
     --(our test suite will notice and complain if you fail to do so).
     -+(our test suite will notice and complain if you fail to do so). We'll need to include
     -+the "parse-options.h" header.
     +@@ Documentation/MyFirstObjectWalk.txt: Add usage text and `-h` handling, like all subcommands should consistently do
     + We'll need to include the `parse-options.h` header.
       
       ----
      +#include "parse-options.h"
     @@ Documentation/MyFirstObjectWalk.txt: command). So we will send our debug output
       int cmd_walken(int argc, const char **argv, const char *prefix)
       {
       	const char * const walken_usage[] = {
     -@@ Documentation/MyFirstObjectWalk.txt: Similarly to the default values, we don't have anything to do here yet
     - ourselves; however, we should call `git_default_config()` if we aren't calling
     - any other existing config callbacks.
     - 
     --Add a new function to `builtin/walken.c`:
     -+Add a new function to `builtin/walken.c`. We'll also need to include the "config.h" header:
     +@@ Documentation/MyFirstObjectWalk.txt: Add a new function to `builtin/walken.c`.
     + We'll also need to include the `config.h` header:
       
       ----
      +#include "config.h"
     @@ Documentation/MyFirstObjectWalk.txt: Similarly to the default values, we don't h
       static int git_walken_config(const char *var, const char *value, void *cb)
       {
       	/*
     -@@ Documentation/MyFirstObjectWalk.txt: typically done by calling `repo_init_revisions()` with the repository you intend
     - to target, as well as the `prefix` argument of `cmd_walken` and your `rev_info`
     - struct.
     +@@ Documentation/MyFirstObjectWalk.txt: Add the `struct rev_info` and the `repo_init_revisions()` call.
     + We'll also need to include the `revision.h` header:
       
     --Add the `struct rev_info` and the `repo_init_revisions()` call:
     -+Add the `struct rev_info` and the `repo_init_revisions()` call. We'll also need to include
     -+the "revision.h" header:
     -+
       ----
      +#include "revision.h"
      +
     @@ Documentation/MyFirstObjectWalk.txt: typically done by calling `repo_init_revisi
       int cmd_walken(int argc, const char **argv, const char *prefix)
       {
       	/* This can go wherever you like in your declarations.*/
     -@@ Documentation/MyFirstObjectWalk.txt: static void walken_object_walk(struct rev_info *rev)
     - ----
     - 
     - Let's start by calling just the unfiltered walk and reporting our counts.
     --Complete your implementation of `walken_object_walk()`:
     -+Complete your implementation of `walken_object_walk()`. We'll also need to
     -+include the "list-objects.h" header.
     +@@ Documentation/MyFirstObjectWalk.txt: Complete your implementation of `walken_object_walk()`.
     + We'll also need to include the `list-objects.h` header.
       
       ----
      +#include "list-objects.h"