Browse Source

docs: add headers in MyFirstObjectWalk

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 <johncai86@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
John Cai 3 years ago committed by Junio C Hamano
parent
commit
7d1b866778
  1. 27
      Documentation/MyFirstObjectWalk.txt

27
Documentation/MyFirstObjectWalk.txt

@ -58,8 +58,13 @@ running, enable trace output by setting the environment variable `GIT_TRACE`. @@ -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 @@ -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 @@ -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) @@ -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,

Loading…
Cancel
Save