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

[PATCH v3 08/23] diff.c: remove implicit dependency on the_index

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Sep 9, 2018, 08:54 UTC
Message-ID
<20180909085418.31531-9-pclouds@gmail.com>
In-Reply-To
<20180909085418.31531-1-pclouds@gmail.com>
A new variant repo_diff_setup() is added that takes 'struct repository *'
and diff_setup() becomes a thin macro around it that is protected by
NO_THE_REPOSITORY_COMPATIBILITY_MACROS, similar to NO_THE_INDEX_....
The plan is these macros will always be defined for all library files
and the macros are only accessible in builtin/
---
 Documentation/technical/api-diff.txt |  4 ++--
 blame.c                              | 20 +++++++++++---------
 builtin/diff.c                       |  2 +-
 builtin/log.c                        |  2 +-
 builtin/merge.c                      |  2 +-
 builtin/range-diff.c                 |  2 +-
 diff-no-index.c                      |  9 +++++++--
 diff.c                               |  4 ++--
 diff.h                               |  7 +++++--
 merge-recursive.c                    |  2 +-
 notes-merge.c                        |  4 ++--
 patch-ids.c                          |  2 +-
 read-cache.c                         |  2 +-
 revision.c                           |  2 +-
 tree-diff.c                          |  2 +-
 15 files changed, 38 insertions(+), 28 deletions(-)
diff --git a/Documentation/technical/api-diff.txt b/Documentation/technical/api-diff.txt
index 8b001de0db..30fc0e9c93 100644
--- a/Documentation/technical/api-diff.txt
+++ b/Documentation/technical/api-diff.txt
@@ -18,8 +18,8 @@ Calling sequence
 ----------------
 
 * Prepare `struct diff_options` to record the set of diff options, and
-  then call `diff_setup()` to initialize this structure.  This sets up
-  the vanilla default.
+  then call `repo_diff_setup()` to initialize this structure.  This
+  sets up the vanilla default.
 
 * Fill in the options structure to specify desired output format, rename
   detection, etc.  `diff_opt_parse()` can be used to parse options given
diff --git a/blame.c b/blame.c
index 9d57c76baa..c229a10c0e 100644
--- a/blame.c
+++ b/blame.c
@@ -541,8 +541,9 @@ static int fill_blob_sha1_and_mode(struct repository *r,
  * We have an origin -- check if the same path exists in the
  * parent and return an origin structure to represent it.
  */
-static struct blame_origin *find_origin(struct commit *parent,
-				  struct blame_origin *origin)
+static struct blame_origin *find_origin(struct repository *r,
+					struct commit *parent,
+					struct blame_origin *origin)
 {
 	struct blame_origin *porigin;
 	struct diff_options diff_opts;
@@ -562,7 +563,7 @@ static struct blame_origin *find_origin(struct commit *parent,
 	 * and origin first.  Most of the time they are the
 	 * same and diff-tree is fairly efficient about this.
 	 */
-	diff_setup(&diff_opts);
+	repo_diff_setup(r, &diff_opts);
 	diff_opts.flags.recursive = 1;
 	diff_opts.detect_rename = 0;
 	diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
@@ -629,14 +630,15 @@ static struct blame_origin *find_origin(struct commit *parent,
  * We have an origin -- find the path that corresponds to it in its
  * parent and return an origin structure to represent it.
  */
-static struct blame_origin *find_rename(struct commit *parent,
-				  struct blame_origin *origin)
+static struct blame_origin *find_rename(struct repository *r,
+					struct commit *parent,
+					struct blame_origin *origin)
 {
 	struct blame_origin *porigin = NULL;
 	struct diff_options diff_opts;
 	int i;
 
-	diff_setup(&diff_opts);
+	repo_diff_setup(r, &diff_opts);
 	diff_opts.flags.recursive = 1;
 	diff_opts.detect_rename = DIFF_DETECT_RENAME;
 	diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
@@ -1260,7 +1262,7 @@ static void find_copy_in_parent(struct blame_scoreboard *sb,
 	if (!unblamed)
 		return; /* nothing remains for this target */
 
-	diff_setup(&diff_opts);
+	repo_diff_setup(sb->repo, &diff_opts);
 	diff_opts.flags.recursive = 1;
 	diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
 
@@ -1442,7 +1444,7 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin,
 	 * common cases, then we look for renames in the second pass.
 	 */
 	for (pass = 0; pass < 2 - sb->no_whole_file_rename; pass++) {
-		struct blame_origin *(*find)(struct commit *, struct blame_origin *);
+		struct blame_origin *(*find)(struct repository *, struct commit *, struct blame_origin *);
 		find = pass ? find_rename : find_origin;
 
 		for (i = 0, sg = first_scapegoat(revs, commit, sb->reverse);
@@ -1455,7 +1457,7 @@ static void pass_blame(struct blame_scoreboard *sb, struct blame_origin *origin,
 				continue;
 			if (parse_commit(p))
 				continue;
-			porigin = find(p, origin);
+			porigin = find(sb->repo, p, origin);
 			if (!porigin)
 				continue;
 			if (!oidcmp(&porigin->blob_oid, &origin->blob_oid)) {
diff --git a/builtin/diff.c b/builtin/diff.c
index 361a3c3ed3..ab89b06d18 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -339,7 +339,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
 	}
 	if (no_index)
 		/* If this is a no-index diff, just run it and exit there. */
-		diff_no_index(&rev, argc, argv);
+		diff_no_index(the_repository, &rev, argc, argv);
 
 	/* Otherwise, we are doing the usual "git" diff */
 	rev.diffopt.skip_stat_unmatch = !!diff_auto_refresh_index;
diff --git a/builtin/log.c b/builtin/log.c
index b62082472c..4b602236d6 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -1361,7 +1361,7 @@ static void prepare_bases(struct base_tree_info *bases,
 		return;
 
 	init_commit_base(&commit_base);
-	diff_setup(&diffopt);
+	repo_diff_setup(the_repository, &diffopt);
 	diffopt.flags.recursive = 1;
 	diff_setup_done(&diffopt);
 
diff --git a/builtin/merge.c b/builtin/merge.c
index 8f4a5065c2..592cb19caf 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -452,7 +452,7 @@ static void finish(struct commit *head_commit,
 	}
 	if (new_head && show_diffstat) {
 		struct diff_options opts;
-		diff_setup(&opts);
+		repo_diff_setup(the_repository, &opts);
 		opts.stat_width = -1; /* use full terminal width */
 		opts.stat_graph_width = -1; /* respect statGraphWidth config */
 		opts.output_format |=
diff --git a/builtin/range-diff.c b/builtin/range-diff.c
index 0aa9bed41f..1c477c4dc5 100644
--- a/builtin/range-diff.c
+++ b/builtin/range-diff.c
@@ -34,7 +34,7 @@ int cmd_range_diff(int argc, const char **argv, const char *prefix)
 
 	git_config(git_diff_ui_config, NULL);
 
-	diff_setup(&diffopt);
+	repo_diff_setup(the_repository, &diffopt);
 	diffopt.output_format = DIFF_FORMAT_PATCH;
 	diffopt.flags.suppress_diff_headers = 1;
 	diffopt.output_prefix = output_prefix_cb;
diff --git a/diff-no-index.c b/diff-no-index.c
index 0ed5f0f496..9414e922d1 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -233,7 +233,8 @@ static void fixup_paths(const char **path, struct strbuf *replacement)
 	}
 }
 
-void diff_no_index(struct rev_info *revs,
+void diff_no_index(struct repository *r,
+		   struct rev_info *revs,
 		   int argc, const char **argv)
 {
 	int i;
@@ -241,7 +242,11 @@ void diff_no_index(struct rev_info *revs,
 	struct strbuf replacement = STRBUF_INIT;
 	const char *prefix = revs->prefix;
 
-	diff_setup(&revs->diffopt);
+	/*
+	 * FIXME: --no-index should not look at index and we should be
+	 * able to pass NULL repo. Maybe later.
+	 */
+	repo_diff_setup(r, &revs->diffopt);
 	for (i = 1; i < argc - 2; ) {
 		int j;
 		if (!strcmp(argv[i], "--no-index"))
diff --git a/diff.c b/diff.c
index 0848ac65df..1bcc0818df 100644
--- a/diff.c
+++ b/diff.c
@@ -4390,12 +4390,12 @@ static void run_checkdiff(struct diff_filepair *p, struct diff_options *o)
 	builtin_checkdiff(name, other, attr_path, p->one, p->two, o);
 }
 
-void diff_setup(struct diff_options *options)
+void repo_diff_setup(struct repository *r, struct diff_options *options)
 {
 	memcpy(options, &default_diff_options, sizeof(*options));
 
 	options->file = stdout;
-	options->repo->index = &the_index;
+	options->repo = r;
 
 	options->abbrev = DEFAULT_ABBREV;
 	options->line_termination = '\n';
diff --git a/diff.h b/diff.h
index 812f71d953..b88fccd2fb 100644
--- a/diff.h
+++ b/diff.h
@@ -336,7 +336,10 @@ int git_diff_basic_config(const char *var, const char *value, void *cb);
 int git_diff_heuristic_config(const char *var, const char *value, void *cb);
 void init_diff_ui_defaults(void);
 int git_diff_ui_config(const char *var, const char *value, void *cb);
-void diff_setup(struct diff_options *);
+#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
+#define diff_setup(diffopts) repo_diff_setup(the_repository, diffopts)
+#endif
+void repo_diff_setup(struct repository *, struct diff_options *);
 int diff_opt_parse(struct diff_options *, const char **, int, const char *);
 void diff_setup_done(struct diff_options *);
 int git_config_rename(const char *var, const char *value);
@@ -426,7 +429,7 @@ int diff_flush_patch_id(struct diff_options *, struct object_id *, int);
 
 int diff_result_code(struct diff_options *, int);
 
-void diff_no_index(struct rev_info *, int, const char **);
+void diff_no_index(struct repository *, struct rev_info *, int, const char **);
 
 int index_differs_from(const char *def, const struct diff_flags *flags,
 		       int ita_invisible_in_index);
diff --git a/merge-recursive.c b/merge-recursive.c
index dcdc93019c..09e8bbfe4c 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -1812,7 +1812,7 @@ static struct diff_queue_struct *get_diffpairs(struct merge_options *o,
 	struct diff_queue_struct *ret;
 	struct diff_options opts;
 
-	diff_setup(&opts);
+	repo_diff_setup(the_repository, &opts);
 	opts.flags.recursive = 1;
 	opts.flags.rename_empty = 0;
 	opts.detect_rename = merge_detect_rename(o);
diff --git a/notes-merge.c b/notes-merge.c
index 76ab19e702..9b154a5da6 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -126,7 +126,7 @@ static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o,
 	trace_printf("\tdiff_tree_remote(base = %.7s, remote = %.7s)\n",
 	       oid_to_hex(base), oid_to_hex(remote));
 
-	diff_setup(&opt);
+	repo_diff_setup(the_repository, &opt);
 	opt.flags.recursive = 1;
 	opt.output_format = DIFF_FORMAT_NO_OUTPUT;
 	diff_setup_done(&opt);
@@ -189,7 +189,7 @@ static void diff_tree_local(struct notes_merge_options *o,
 	trace_printf("\tdiff_tree_local(len = %i, base = %.7s, local = %.7s)\n",
 	       len, oid_to_hex(base), oid_to_hex(local));
 
-	diff_setup(&opt);
+	repo_diff_setup(the_repository, &opt);
 	opt.flags.recursive = 1;
 	opt.output_format = DIFF_FORMAT_NO_OUTPUT;
 	diff_setup_done(&opt);
diff --git a/patch-ids.c b/patch-ids.c
index 8f7c25d5db..342950c79d 100644
--- a/patch-ids.c
+++ b/patch-ids.c
@@ -59,7 +59,7 @@ static int patch_id_cmp(const void *cmpfn_data,
 int init_patch_ids(struct patch_ids *ids)
 {
 	memset(ids, 0, sizeof(*ids));
-	diff_setup(&ids->diffopts);
+	repo_diff_setup(the_repository, &ids->diffopts);
 	ids->diffopts.detect_rename = 0;
 	ids->diffopts.flags.recursive = 1;
 	diff_setup_done(&ids->diffopts);
diff --git a/read-cache.c b/read-cache.c
index 86134e56a6..6f772b2885 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2137,7 +2137,7 @@ int index_has_changes(struct index_state *istate,
 	if (tree || !get_oid_tree("HEAD", &cmp)) {
 		struct diff_options opt;
 
-		diff_setup(&opt);
+		repo_diff_setup(the_repository, &opt);
 		opt.flags.exit_with_status = 1;
 		if (!sb)
 			opt.flags.quick = 1;
diff --git a/revision.c b/revision.c
index 3457064ff3..0c6dc8c163 100644
--- a/revision.c
+++ b/revision.c
@@ -1468,7 +1468,7 @@ void init_revisions(struct rev_info *revs, const char *prefix)
 	grep_init(&revs->grep_filter, the_repository, prefix);
 	revs->grep_filter.status_only = 1;
 
-	diff_setup(&revs->diffopt);
+	repo_diff_setup(the_repository, &revs->diffopt);
 	if (prefix && !revs->diffopt.prefix) {
 		revs->diffopt.prefix = prefix;
 		revs->diffopt.prefix_length = strlen(prefix);
diff --git a/tree-diff.c b/tree-diff.c
index 553bc0e63a..57a15f51f0 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -605,7 +605,7 @@ static void try_to_follow_renames(const struct object_id *old_oid,
 	choice = q->queue[0];
 	q->nr = 0;
 
-	diff_setup(&diff_opts);
+	repo_diff_setup(the_repository, &diff_opts);
 	diff_opts.flags.recursive = 1;
 	diff_opts.flags.find_copies_harder = 1;
 	diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
-- 
2.19.0.rc0.337.ge906d732e7
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 82 of 160 in “Kill the_index part 4”
  1. 00/21 Kill the_index part 4Nguyễn Thái Ngọc Duy, Aug 26, 2018
  2. 01/21 archive.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Aug 26, 2018
  3. 03/21 combine-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  4. 04/21 diff.c: remove the_index dependency in textconv() functionsNguyễn Thái Ngọc Duy, Aug 26, 2018
  5. 02/21 read-cache.c: remove 'const' from index_has_changes()Nguyễn Thái Ngọc Duy, Aug 26, 2018
  6. Stefan BellerAug 27, 2018
  7. Duy NguyenAug 28, 2018
  8. Stefan BellerAug 28, 2018
  9. 05/21 grep.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  10. 07/21 read-cache.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  11. 06/21 diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  12. 10/21 merge-blobs.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  13. 09/21 ll-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  14. 12/21 patch-ids.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  15. Stefan BellerAug 27, 2018
  16. Duy NguyenSep 3, 2018
  17. Stefan BellerSep 4, 2018
  18. Duy NguyenSep 9, 2018
  19. Stefan BellerSep 10, 2018
  20. 08/21 diff-lib.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  21. 14/21 rerere.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  22. 16/21 line-range.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  23. 18/21 tree-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  24. 15/21 userdiff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  25. 17/21 submodule.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  26. 19/21 ws.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  27. 20/21 wt-status.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  28. 21/21 wt-status.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Aug 26, 2018
  29. 11/21 merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  30. 13/21 sha1-file.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Aug 26, 2018
  31. Stefan BellerAug 27, 2018
  32. Duy NguyenAug 28, 2018
  33. 00/24 Kill the_index part 4Nguyễn Thái Ngọc Duy, Sep 3, 2018
  34. 01/24 archive.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 3, 2018
  35. 02/24 read-cache.c: remove 'const' from index_has_changes()Nguyễn Thái Ngọc Duy, Sep 3, 2018
  36. 04/24 combine-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  37. 03/24 diff.c: reduce implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  38. 05/24 blame.c: rename "repo" argument to "r"Nguyễn Thái Ngọc Duy, Sep 3, 2018
  39. 06/24 diff.c: remove the_index dependency in textconv() functionsNguyễn Thái Ngọc Duy, Sep 3, 2018
  40. 07/24 grep.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  41. 09/24 read-cache.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  42. 08/24 diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  43. 10/24 diff-lib.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  44. 11/24 ll-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  45. 12/24 merge-blobs.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  46. 13/24 merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  47. 14/24 patch-ids.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  48. 15/24 sha1-file.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  49. 16/24 rerere.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  50. 18/24 line-range.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  51. 20/24 tree-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  52. 17/24 userdiff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  53. 19/24 submodule.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  54. Jeff KingOct 19, 2018
  55. Duy NguyenOct 19, 2018
  56. Jeff KingOct 19, 2018
  57. Duy NguyenOct 19, 2018
  58. Jeff KingOct 19, 2018
  59. submodule.c: remove some of the_repository referencesNguyễn Thái Ngọc Duy, Oct 19, 2018
  60. Stefan BellerOct 19, 2018
  61. Duy NguyenOct 19, 2018
  62. Stefan BellerOct 19, 2018
  63. 21/24 ws.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  64. 23/24 revision.c: reduce implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 3, 2018
  65. 22/24 revision.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 3, 2018
  66. Stefan BellerSep 4, 2018
  67. Junio C HamanoSep 4, 2018
  68. 24/24 Rename functions to avoid breaking in-flight topicsNguyễn Thái Ngọc Duy, Sep 3, 2018
  69. Stefan BellerSep 4, 2018
  70. Junio C HamanoSep 4, 2018
  71. Stefan BellerSep 4, 2018
  72. Junio C HamanoSep 5, 2018
  73. Duy NguyenSep 9, 2018
  74. Junio C HamanoSep 11, 2018
  75. 00/23 Kill the_index part 4Nguyễn Thái Ngọc Duy, Sep 9, 2018
  76. 01/23 archive.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 9, 2018
  77. 02/23 read-cache.c: remove 'const' from index_has_changes()Nguyễn Thái Ngọc Duy, Sep 9, 2018
  78. 03/23 diff.c: reduce implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  79. 04/23 combine-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  80. 06/23 diff.c: remove the_index dependency in textconv() functionsNguyễn Thái Ngọc Duy, Sep 9, 2018
  81. 05/23 blame.c: rename "repo" argument to "r"Nguyễn Thái Ngọc Duy, Sep 9, 2018
  82. 08/23 diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  83. 09/23 read-cache.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  84. 07/23 grep.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  85. 13/23 merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  86. 10/23 diff-lib.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  87. 14/23 patch-ids.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  88. Stefan BellerSep 10, 2018
  89. Junio C HamanoSep 10, 2018
  90. Duy NguyenSep 11, 2018
  91. 17/23 userdiff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  92. 18/23 line-range.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  93. 16/23 rerere.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  94. 15/23 sha1-file.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  95. 21/23 ws.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  96. 20/23 tree-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  97. 22/23 revision.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  98. 23/23 revision.c: reduce implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 9, 2018
  99. 19/23 submodule.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  100. 12/23 merge-blobs.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  101. 11/23 ll-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 9, 2018
  102. Junio C HamanoSep 11, 2018
  103. Stefan BellerSep 10, 2018
  104. 00/23 Kill the_index part 4Nguyễn Thái Ngọc Duy, Sep 15, 2018
  105. 01/23 archive.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 15, 2018
  106. 02/23 read-cache.c: remove 'const' from index_has_changes()Nguyễn Thái Ngọc Duy, Sep 15, 2018
  107. Junio C HamanoSep 17, 2018
  108. Duy NguyenSep 17, 2018
  109. Junio C HamanoSep 17, 2018
  110. 04/23 combine-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  111. 05/23 blame.c: rename "repo" argument to "r"Nguyễn Thái Ngọc Duy, Sep 15, 2018
  112. Junio C HamanoSep 17, 2018
  113. 03/23 diff.c: reduce implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  114. 06/23 diff.c: remove the_index dependency in textconv() functionsNguyễn Thái Ngọc Duy, Sep 15, 2018
  115. 07/23 grep.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  116. 09/23 read-cache.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  117. 08/23 diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  118. 11/23 ll-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  119. 10/23 diff-lib.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  120. 12/23 merge-blobs.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  121. 13/23 merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  122. 14/23 patch-ids.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  123. 15/23 sha1-file.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  124. 16/23 rerere.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  125. 18/23 line-range.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  126. 17/23 userdiff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  127. 21/23 ws.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  128. 20/23 tree-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  129. 22/23 revision.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  130. 23/23 revision.c: reduce implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 15, 2018
  131. 19/23 submodule.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 15, 2018
  132. 00/23 Kill the_index part 4Nguyễn Thái Ngọc Duy, Sep 21, 2018
  133. 01/23 archive.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 21, 2018
  134. 02/23 read-cache.c: remove 'const' from index_has_changes()Nguyễn Thái Ngọc Duy, Sep 21, 2018
  135. 04/23 combine-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  136. 05/23 blame.c: rename "repo" argument to "r"Nguyễn Thái Ngọc Duy, Sep 21, 2018
  137. 03/23 diff.c: reduce implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  138. 06/23 diff.c: remove the_index dependency in textconv() functionsNguyễn Thái Ngọc Duy, Sep 21, 2018
  139. 07/23 grep.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  140. 09/23 read-cache.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  141. 08/23 diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  142. 10/23 diff-lib.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  143. 11/23 ll-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  144. 13/23 merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  145. 12/23 merge-blobs.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  146. 14/23 patch-ids.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  147. 15/23 sha1-file.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  148. 16/23 rerere.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  149. 17/23 userdiff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  150. Junio C HamanoSep 21, 2018
  151. Jeff KingOct 10, 2018
  152. Junio C HamanoOct 10, 2018
  153. Jeff KingOct 11, 2018
  154. Duy NguyenOct 14, 2018
  155. 18/23 line-range.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  156. 19/23 submodule.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  157. 20/23 tree-diff.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  158. 21/23 ws.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018
  159. 23/23 revision.c: reduce implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Sep 21, 2018
  160. 22/23 revision.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Sep 21, 2018

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.