fix up example code in MyFirstObjectWalk tutorial
cover fix up example code in MyFirstObjectWalk tutorial
MyFirstObjectWalk tutorial was missing directives to add some header files. Also fixes some initialization code.
John Cai (2):
docs: fix places that break compliation in MyFirstObjectWalk
docs: add headers in MyFirstObjectWalk
Documentation/MyFirstObjectWalk.txt | 32 +++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-)
base-commit: e9e5ba39a78c8f5057262d49e261b42a8660d5b9
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1063%2Fjohn-cai%2Fjc-fix-my-first-object-walk-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1063/john-cai/jc-fix-my-first-object-walk-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1063
Signature · 1 line
gitgitgadget
PATCH 1/2 docs: fix places that break compliation in MyFirstObjectWalk
From: John Cai <[email protected]>
Two errors in the example code caused compilation failures due to a missing semi-colon as well as initialization with an empty struct. This commit fixes that to make the MyFirstObjectWalk tutorial easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/MyFirstObjectWalk.txt +2 -2
@@ -65,7 +65,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix) const char * const walken_usage[] = { N_("git walken"), NULL, - } + }; struct option options[] = { OPT_END() };
@@ -697,7 +697,7 @@ First, we'll need to `#include "list-objects-filter-options.h"` and set up the ---- static void walken_object_walk(struct rev_info *rev) { - struct list_objects_filter_options filter_options = {}; + struct list_objects_filter_options filter_options = { 0 }; ... ----
Signature · 1 line
gitgitgadget
PATCH 2/2 docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetFrom: John Cai <[email protected]>
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-)
Documentation/MyFirstObjectWalk.txt +24 -4
@@ -57,9 +57,14 @@ 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. ---- +#include "parse-options.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { const char * const walken_usage[] = {
@@ -195,9 +200,13 @@ 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: ---- +#include "config.h" + +... + static int git_walken_config(const char *var, const char *value, void *cb) { /*
@@ -229,8 +238,14 @@ 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: + ---- +#include "revision.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { /* This can go wherever you like in your declarations.*/
@@ -624,9 +639,14 @@ 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. ---- +#include "list-objects.h" + +... + traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL); printf("commits %d\nblobs %d\ntags %d\ntrees %d\n", commit_count,
Signature · 1 line
gitgitgadget
Re: [PATCH 1/2] docs: fix places that break compliation in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetQuoted 1 line · John Cai via GitGitGadget
docs: fix places that break compliation in MyFirstObjectWalk
s/compliation/compilation/
Quoted 4 lines
Two errors in the example code caused compilation failures due to a missing semi-colon as well as initialization with an empty struct. This commit fixes that to make the MyFirstObjectWalk tutorial easier to follow.
s/semi-colon/semicolon/ would also be appropriate for the rest of the project (but not terribly important in a commit message).
Quoted 1 line
Signed-off-by John Cai <[email protected]>
The patch itself makes perfect sense. Thanks.
Re: [PATCH 2/2] docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetDocumentation/MyFirstObjectWalk.txt command). So we will send our debug output to `trace_printf()` instead. When · line 59
Quoted 12 lines · John Cai via GitGitGadget
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
Signed-off-by John Cai <[email protected]>---
Documentation/MyFirstObjectWalk.txt +2
-1@@ -57,9 +57,14 @@ command). So we will send our debug output to `trace_printf()` instead. When 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.
Makes sense, but we should probably typeset these consistently with backticks rather than double quotes...
Documentation/MyFirstObjectWalk.txt Similarly to the default values, we don't have anything to do here yet · line 200
Quoted 3 lines
Documentation/MyFirstObjectWalk.txt +1
-1@@ -195,9 +200,13 @@ Similarly to the default values, we don't have anything to do here yet -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:
... just as builtin/walken.c is typeset with backticks (as are other pathnames in this document).
Documentation/MyFirstObjectWalk.txt typically done by calling `repo_init_revisions()` with the repository you intend · line 239
Quoted 4 lines
Documentation/MyFirstObjectWalk.txt +2
-1@@ -229,8 +238,14 @@ typically done by calling `repo_init_revisions()` with the repository you intend -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:
And so on through the remainder of the patch.
Thanks.
Re: [PATCH 2/2] docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetDocumentation/MyFirstObjectWalk.txt command). So we will send our debug output to `trace_printf()` instead. When · line 61
Quoted 4 lines · John Cai via GitGitGadget
Add usage text and
-hhandling, like all subcommands should consistently doDocumentation/MyFirstObjectWalk.txt +2
-1-(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.
OK, but wrap this overlong line. All the lines updated by this patch, except the one in the last hunk, have become overly long.
[jc: cc'ed the primary author of the document to sanity checking]
Thanks.
Quoted 56 lines
----
Documentation/MyFirstObjectWalk.txt +22
-3+#include "parse-options.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { const char * const walken_usage[] = {@@ -195,9 +200,13 @@ 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: ---- +#include "config.h" + +... + static int git_walken_config(const char *var, const char *value, void *cb) { /*@@ -229,8 +238,14 @@ 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: + ---- +#include "revision.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { /* This can go wherever you like in your declarations.*/@@ -624,9 +639,14 @@ 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. ---- +#include "list-objects.h" + +... + traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL); printf("commits %d\nblobs %d\ntags %d\ntrees %d\n", commit_count,
v2 cover fix up example code in MyFirstObjectWalk tutorial
In reply to John Cai via GitGitGadgetMyFirstObjectWalk 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 <[email protected]>
## 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.
## 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
## 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"
Signature · 1 line
gitgitgadget
PATCH v2 1/2 docs: fix places that break compilation in MyFirstObjectWalk
From: John Cai <[email protected]>
Two errors in the example code caused compilation failures due to a missing semicolon as well as initialization with an empty struct. This commit fixes that to make the MyFirstObjectWalk tutorial easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
Documentation/MyFirstObjectWalk.txt +10 -5
@@ -58,6 +58,7 @@ 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)
@@ -65,7 +66,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix) const char * const walken_usage[] = { N_("git walken"), NULL, - } + }; struct option options[] = { OPT_END() };
@@ -195,7 +196,8 @@ 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)
@@ -229,7 +231,9 @@ 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) {
@@ -624,7 +628,8 @@ 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);
@@ -697,7 +702,7 @@ First, we'll need to `#include "list-objects-filter-options.h"` and set up the ---- static void walken_object_walk(struct rev_info *rev) { - struct list_objects_filter_options filter_options = {}; + struct list_objects_filter_options filter_options = { 0 }; ... ----
Signature · 1 line
gitgitgadget
PATCH v2 2/2 docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetFrom: John Cai <[email protected]>
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
Documentation/MyFirstObjectWalk.txt +16 -0
@@ -61,6 +61,10 @@ 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" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { const char * const walken_usage[] = {
@@ -200,6 +204,10 @@ Add a new function to `builtin/walken.c`. We'll also need to include the `config.h` header: ---- +#include "config.h" + +... + static int git_walken_config(const char *var, const char *value, void *cb) { /*
@@ -235,6 +243,10 @@ Add the `struct rev_info` and the `repo_init_revisions()` call. We'll also need to include the `revision.h` header: ---- +#include "revision.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { /* This can go wherever you like in your declarations.*/
@@ -632,6 +644,10 @@ Complete your implementation of `walken_object_walk()`. We'll also need to include the `list-objects.h` header. ---- +#include "list-objects.h" + +... + traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL); printf("commits %d\nblobs %d\ntags %d\ntrees %d\n", commit_count,
Signature · 1 line
gitgitgadget
Re: [PATCH v2 1/2] docs: fix places that break compilation in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetDocumentation/MyFirstObjectWalk.txt running, enable trace output by setting the environment variable `GIT_TRACE`. · line 60
Quoted 12 lines · John Cai via GitGitGadget
Two errors in the example code caused compilation failures due to 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 <[email protected]>---
Documentation/MyFirstObjectWalk.txt +1
-0@@ -58,6 +58,7 @@ 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.
It seems like this change belongs in patch [2/2].
Documentation/MyFirstObjectWalk.txt int cmd_walken(int argc, const char **argv, const char *prefix) · line 69
Quoted 6 lines
Documentation/MyFirstObjectWalk.txt +1
-1@@ -65,7 +66,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix) const char * const walken_usage[] = { N_("git walken"), NULL, - } + };
Whereas, this change correctly resides in patch [1/2].
Documentation/MyFirstObjectWalk.txt Similarly to the default values, we don't have anything to do here yet · line 200
Quoted 10 lines
Documentation/MyFirstObjectWalk.txt +2
-1struct option options[] = { OPT_END() };@@ -195,7 +196,8 @@ 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:
Should be in patch [2/2].
Documentation/MyFirstObjectWalk.txt typically done by calling `repo_init_revisions()` with the repository you intend · line 235
Quoted 7 lines
Documentation/MyFirstObjectWalk.txt +2
-1@@ -229,7 +231,9 @@ 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:
Patch [2/2].
Documentation/MyFirstObjectWalk.txt static void walken_object_walk(struct rev_info *rev) · line 630
Quoted 5 lines
Documentation/MyFirstObjectWalk.txt +2
-1@@ -624,7 +628,8 @@ 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.
Also patch [2/2].
Documentation/MyFirstObjectWalk.txt First, we'll need to `#include "list-objects-filter-options.h"` and set up the · line 704
Quoted 5 lines
Documentation/MyFirstObjectWalk.txt +1
-1@@ -697,7 +702,7 @@ First, we'll need to `#include "list-objects-filter-options.h"` and set up the static void walken_object_walk(struct rev_info *rev) { - struct list_objects_filter_options filter_options = {}; + struct list_objects_filter_options filter_options = { 0 };
Good, this change belongs here in patch [1/2].
v3 cover fix up example code in MyFirstObjectWalk tutorial
In reply to John Cai via GitGitGadgetMyFirstObjectWalk 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
Changes since v2:
* fixed commit organization
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-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1063/john-cai/jc-fix-my-first-object-walk-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1063
Range-diff vs v2:
1: 5c9deaf0bcc ! 1: f9481c77e2d docs: fix places that break compilation in MyFirstObjectWalk
@@ Commit message
## 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: 7268f00c11f ! 2: 1535671dd6a docs: add headers in MyFirstObjectWalk
@@ Commit message
## Documentation/MyFirstObjectWalk.txt ##
-@@ 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.
+@@ 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.
----
+#include "parse-options.h"
@@ Documentation/MyFirstObjectWalk.txt: Add usage text and -h handling, like all
int cmd_walken(int argc, const char **argv, const char *prefix)
{
const char * const walken_usage[] = {
-@@ Documentation/MyFirstObjectWalk.txt: Add a new function to builtin/walken.c.
- We'll also need to include the config.h header:
+@@ 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:
----
+#include "config.h"
@@ Documentation/MyFirstObjectWalk.txt: Add a new function to builtin/walken.c.
static int git_walken_config(const char *var, const char *value, void *cb)
{
/*
-@@ Documentation/MyFirstObjectWalk.txt: Add the struct rev_info and the repo_init_revisions() call.
- We'll also need to include the revision.h header:
+@@ 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:
++
----
+#include "revision.h"
+
@@ Documentation/MyFirstObjectWalk.txt: Add the struct rev_info and the `repo_ini
int cmd_walken(int argc, const char **argv, const char *prefix)
{
/* This can go wherever you like in your declarations.*/
-@@ Documentation/MyFirstObjectWalk.txt: Complete your implementation of walken_object_walk().
- We'll also need to include the list-objects.h header.
+@@ 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.
----
+#include "list-objects.h"
Signature · 1 line
gitgitgadget
PATCH v3 1/2 docs: fix places that break compilation in MyFirstObjectWalk
From: John Cai <[email protected]>
Two errors in the example code caused compilation failures due to a missing semicolon as well as initialization with an empty struct. This commit fixes that to make the MyFirstObjectWalk tutorial easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/MyFirstObjectWalk.txt +2 -2
@@ -65,7 +65,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix) const char * const walken_usage[] = { N_("git walken"), NULL, - } + }; struct option options[] = { OPT_END() };
@@ -697,7 +697,7 @@ First, we'll need to `#include "list-objects-filter-options.h"` and set up the ---- static void walken_object_walk(struct rev_info *rev) { - struct list_objects_filter_options filter_options = {}; + struct list_objects_filter_options filter_options = { 0 }; ... ----
Signature · 1 line
gitgitgadget
PATCH v3 2/2 docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetFrom: John Cai <[email protected]>
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
--- Documentation/MyFirstObjectWalk.txt | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-)
Documentation/MyFirstObjectWalk.txt +24 -3
@@ -58,8 +58,13 @@ 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. ---- +#include "parse-options.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { const char * const walken_usage[] = {
@@ -195,9 +200,14 @@ 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: ---- +#include "config.h" + +... + static int git_walken_config(const char *var, const char *value, void *cb) { /*
@@ -229,8 +239,14 @@ 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: + ---- +#include "revision.h" + +... + int cmd_walken(int argc, const char **argv, const char *prefix) { /* This can go wherever you like in your declarations.*/
@@ -624,9 +640,14 @@ 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. ---- +#include "list-objects.h" + +... + traverse_commit_list(rev, walken_show_commit, walken_show_object, NULL); printf("commits %d\nblobs %d\ntags %d\ntrees %d\n", commit_count,
Signature · 1 line
gitgitgadget
Quoted 11 lines · John Cai via GitGitGadget
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 linesChanges since v2:
* fixed commit organization
This version looks better. Thanks.
Re: [PATCH 2/2] docs: add headers in MyFirstObjectWalk
In reply to John Cai via GitGitGadgetQuoted 6 lines · John Cai via GitGitGadget
From: John Cai <[email protected]>
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
Patch title should be "#include missing headers" (dunno?)
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Re: [PATCH 2/2] docs: add headers in MyFirstObjectWalk
Quoted 6 lines · Bagas Sanjaya
Quoted 3 lines · John Cai via GitGitGadget
In several places, headers need to be included or else the code won't compile. Since this is the first object walk, it would be nice to include them in the tutorial to make it easier to follow.
Patch title should be "#include missing headers" (dunno?)
If the series was being rerolled for some other reason, making the commit subject slightly more precise like that might make sense, but rerolling only for that reason is probably not worth the extra work for the submitter, the maintainer, and reviewers.