mirror of
https://github.com/git/git.git
synced 2026-02-28 10:47:33 +00:00
MyFirstContribution: use struct repository in examples
Add the parameter `struct repository *repo` to the cmd_walken function. Since commit9b1cb5070f(builtin: add a repository parameter for builtin functions, 2024-09-13), all the cmd_* have the `repo` parameter and new commands must follow this convention, so the documentation should also be changed. Change the `git_config` calls to `repo_config`, also passing the `repo` parameter, as since036876a106(config: hide functions using `the_repository` by default, 2024-08-13) the non-repo config functions are no longer recommended as they use the global `repository` variable. Helped-by: Karthik Nayak <karthik.188@gmail.com> Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
b07857f7dc
commit
08c3aaf5ba
@@ -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;
|
||||
@@ -86,7 +86,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix)
|
||||
Also add the relevant line in `builtin.h` near `cmd_whatchanged()`:
|
||||
|
||||
----
|
||||
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`,
|
||||
@@ -193,7 +193,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 +221,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 +250,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);
|
||||
|
||||
...
|
||||
}
|
||||
@@ -305,7 +305,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)
|
||||
{
|
||||
...
|
||||
|
||||
|
||||
Reference in New Issue
Block a user