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

[PATCH v2 17/24] userdiff.c: remove implicit dependency on the_index

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Sep 3, 2018, 18:09 UTC
Message-ID
<20180903180932.32260-18-pclouds@gmail.com>
In-Reply-To
<20180903180932.32260-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 archive-zip.c      | 14 +++++++++-----
 builtin/grep.c     |  3 ++-
 combine-diff.c     |  2 +-
 diff.c             | 40 +++++++++++++++++++++++-----------------
 diff.h             |  3 ++-
 diffcore-pickaxe.c |  4 ++--
 grep.c             | 21 ++++++++++++---------
 grep.h             |  3 ++-
 line-range.c       |  2 +-
 userdiff.c         |  5 +++--
 userdiff.h         |  3 ++-
 11 files changed, 59 insertions(+), 41 deletions(-)
diff --git a/archive-zip.c b/archive-zip.c
index 5a62351ab1..155ee4a779 100644
--- a/archive-zip.c
+++ b/archive-zip.c
@@ -264,9 +264,10 @@ static int has_only_ascii(const char *s)
 	}
 }
 
-static int entry_is_binary(const char *path, const void *buffer, size_t size)
+static int entry_is_binary(struct index_state *istate, const char *path,
+			   const void *buffer, size_t size)
 {
-	struct userdiff_driver *driver = userdiff_find_by_path(path);
+	struct userdiff_driver *driver = userdiff_find_by_path(istate, path);
 	if (!driver)
 		driver = userdiff_find_by_name("default");
 	if (driver->binary != -1)
@@ -352,7 +353,8 @@ static int write_zip_entry(struct archiver_args *args,
 				return error(_("cannot read %s"),
 					     oid_to_hex(oid));
 			crc = crc32(crc, buffer, size);
-			is_binary = entry_is_binary(path_without_prefix,
+			is_binary = entry_is_binary(args->repo->index,
+						    path_without_prefix,
 						    buffer, size);
 			out = buffer;
 		}
@@ -428,7 +430,8 @@ static int write_zip_entry(struct archiver_args *args,
 				break;
 			crc = crc32(crc, buf, readlen);
 			if (is_binary == -1)
-				is_binary = entry_is_binary(path_without_prefix,
+				is_binary = entry_is_binary(args->repo->index,
+							    path_without_prefix,
 							    buf, readlen);
 			write_or_die(1, buf, readlen);
 		}
@@ -460,7 +463,8 @@ static int write_zip_entry(struct archiver_args *args,
 				break;
 			crc = crc32(crc, buf, readlen);
 			if (is_binary == -1)
-				is_binary = entry_is_binary(path_without_prefix,
+				is_binary = entry_is_binary(args->repo->index,
+							    path_without_prefix,
 							    buf, readlen);
 
 			zstream.next_in = buf;
diff --git a/builtin/grep.c b/builtin/grep.c
index 0667ffde84..0c3527242e 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -103,7 +103,8 @@ static void add_work(struct grep_opt *opt, const struct grep_source *gs)
 
 	todo[todo_end].source = *gs;
 	if (opt->binary != GREP_BINARY_TEXT)
-		grep_source_load_driver(&todo[todo_end].source);
+		grep_source_load_driver(&todo[todo_end].source,
+					opt->repo->index);
 	todo[todo_end].done = 0;
 	strbuf_reset(&todo[todo_end].out);
 	todo_end = (todo_end + 1) % ARRAY_SIZE(todo);
diff --git a/combine-diff.c b/combine-diff.c
index 9b43e557a1..41ab5b01de 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -987,7 +987,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
 	const char *line_prefix = diff_line_prefix(opt);
 
 	context = opt->context;
-	userdiff = userdiff_find_by_path(elem->path);
+	userdiff = userdiff_find_by_path(opt->repo->index, elem->path);
 	if (!userdiff)
 		userdiff = userdiff_find_by_name("default");
 	if (opt->flags.allow_textconv)
diff --git a/diff.c b/diff.c
index de50777a49..88ebe06c2c 100644
--- a/diff.c
+++ b/diff.c
@@ -2093,23 +2093,25 @@ static void diff_words_flush(struct emit_callback *ecbdata)
 	}
 }
 
-static void diff_filespec_load_driver(struct diff_filespec *one)
+static void diff_filespec_load_driver(struct diff_filespec *one,
+				      struct index_state *istate)
 {
 	/* Use already-loaded driver */
 	if (one->driver)
 		return;
 
 	if (S_ISREG(one->mode))
-		one->driver = userdiff_find_by_path(one->path);
+		one->driver = userdiff_find_by_path(istate, one->path);
 
 	/* Fallback to default settings */
 	if (!one->driver)
 		one->driver = userdiff_find_by_name("default");
 }
 
-static const char *userdiff_word_regex(struct diff_filespec *one)
+static const char *userdiff_word_regex(struct diff_filespec *one,
+				       struct index_state *istate)
 {
-	diff_filespec_load_driver(one);
+	diff_filespec_load_driver(one, istate);
 	return one->driver->word_regex;
 }
 
@@ -2132,9 +2134,9 @@ static void init_diff_words_data(struct emit_callback *ecbdata,
 			xcalloc(1, sizeof(struct emitted_diff_symbols));
 
 	if (!o->word_regex)
-		o->word_regex = userdiff_word_regex(one);
+		o->word_regex = userdiff_word_regex(one, o->repo->index);
 	if (!o->word_regex)
-		o->word_regex = userdiff_word_regex(two);
+		o->word_regex = userdiff_word_regex(two, o->repo->index);
 	if (!o->word_regex)
 		o->word_regex = diff_word_regex_cfg;
 	if (o->word_regex) {
@@ -3257,7 +3259,7 @@ int diff_filespec_is_binary(struct repository *r,
 			    struct diff_filespec *one)
 {
 	if (one->is_binary == -1) {
-		diff_filespec_load_driver(one);
+		diff_filespec_load_driver(one, r->index);
 		if (one->driver->binary != -1)
 			one->is_binary = one->driver->binary;
 		else {
@@ -3273,9 +3275,10 @@ int diff_filespec_is_binary(struct repository *r,
 	return one->is_binary;
 }
 
-static const struct userdiff_funcname *diff_funcname_pattern(struct diff_filespec *one)
+static const struct userdiff_funcname *
+diff_funcname_pattern(struct diff_options *o, struct diff_filespec *one)
 {
-	diff_filespec_load_driver(one);
+	diff_filespec_load_driver(one, o->repo->index);
 	return one->driver->funcname.pattern ? &one->driver->funcname : NULL;
 }
 
@@ -3287,12 +3290,13 @@ void diff_set_mnemonic_prefix(struct diff_options *options, const char *a, const
 		options->b_prefix = b;
 }
 
-struct userdiff_driver *get_textconv(struct diff_filespec *one)
+struct userdiff_driver *get_textconv(struct index_state *istate,
+				     struct diff_filespec *one)
 {
 	if (!DIFF_FILE_VALID(one))
 		return NULL;
 
-	diff_filespec_load_driver(one);
+	diff_filespec_load_driver(one, istate);
 	return userdiff_get_textconv(one->driver);
 }
 
@@ -3342,8 +3346,8 @@ static void builtin_diff(const char *name_a,
 	}
 
 	if (o->flags.allow_textconv) {
-		textconv_one = get_textconv(one);
-		textconv_two = get_textconv(two);
+		textconv_one = get_textconv(o->repo->index, one);
+		textconv_two = get_textconv(o->repo->index, two);
 	}
 
 	/* Never use a non-valid filename anywhere if at all possible */
@@ -3465,9 +3469,9 @@ static void builtin_diff(const char *name_a,
 		mf1.size = fill_textconv(o->repo, textconv_one, one, &mf1.ptr);
 		mf2.size = fill_textconv(o->repo, textconv_two, two, &mf2.ptr);
 
-		pe = diff_funcname_pattern(one);
+		pe = diff_funcname_pattern(o, one);
 		if (!pe)
-			pe = diff_funcname_pattern(two);
+			pe = diff_funcname_pattern(o, two);
 
 		memset(&xpp, 0, sizeof(xpp));
 		memset(&xecfg, 0, sizeof(xecfg));
@@ -4223,7 +4227,9 @@ static void run_diff_cmd(const char *pgm,
 
 
 	if (o->flags.allow_external) {
-		struct userdiff_driver *drv = userdiff_find_by_path(attr_path);
+		struct userdiff_driver *drv;
+
+		drv = userdiff_find_by_path(o->repo->index, attr_path);
 		if (drv && drv->external)
 			pgm = drv->external;
 	}
@@ -6399,7 +6405,7 @@ int textconv_object(struct repository *r,
 
 	df = alloc_filespec(path);
 	fill_filespec(df, oid, oid_valid, mode);
-	textconv = get_textconv(df);
+	textconv = get_textconv(r->index, df);
 	if (!textconv) {
 		free_filespec(df);
 		return 0;
diff --git a/diff.h b/diff.h
index c0da49da3d..a594a501dc 100644
--- a/diff.h
+++ b/diff.h
@@ -452,7 +452,8 @@ size_t fill_textconv(struct repository *r,
  * and only if it has textconv enabled (otherwise return NULL). The result
  * can be passed to fill_textconv().
  */
-struct userdiff_driver *get_textconv(struct diff_filespec *one);
+struct userdiff_driver *get_textconv(struct index_state *istate,
+				     struct diff_filespec *one);
 
 /*
  * Prepare diff_filespec and convert it using diff textconv API
diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
index 7a5cf446ff..d2361e06a1 100644
--- a/diffcore-pickaxe.c
+++ b/diffcore-pickaxe.c
@@ -139,8 +139,8 @@ static int pickaxe_match(struct diff_filepair *p, struct diff_options *o,
 		return 0;
 
 	if (o->flags.allow_textconv) {
-		textconv_one = get_textconv(p->one);
-		textconv_two = get_textconv(p->two);
+		textconv_one = get_textconv(o->repo->index, p->one);
+		textconv_two = get_textconv(o->repo->index, p->two);
 	}
 
 	/*
diff --git a/grep.c b/grep.c
index 6c0eede3a1..f6bd89e40b 100644
--- a/grep.c
+++ b/grep.c
@@ -11,7 +11,8 @@
 #include "help.h"
 
 static int grep_source_load(struct grep_source *gs);
-static int grep_source_is_binary(struct grep_source *gs);
+static int grep_source_is_binary(struct grep_source *gs,
+				 struct index_state *istate);
 
 static struct grep_opt grep_defaults;
 
@@ -1547,7 +1548,7 @@ static int match_funcname(struct grep_opt *opt, struct grep_source *gs, char *bo
 {
 	xdemitconf_t *xecfg = opt->priv;
 	if (xecfg && !xecfg->find_func) {
-		grep_source_load_driver(gs);
+		grep_source_load_driver(gs, opt->repo->index);
 		if (gs->driver->funcname.pattern) {
 			const struct userdiff_funcname *pe = &gs->driver->funcname;
 			xdiff_set_find_func(xecfg, pe->pattern, pe->cflags);
@@ -1804,7 +1805,7 @@ static int grep_source_1(struct grep_opt *opt, struct grep_source *gs, int colle
 	opt->last_shown = 0;
 
 	if (opt->allow_textconv) {
-		grep_source_load_driver(gs);
+		grep_source_load_driver(gs, opt->repo->index);
 		/*
 		 * We might set up the shared textconv cache data here, which
 		 * is not thread-safe.
@@ -1821,11 +1822,11 @@ static int grep_source_1(struct grep_opt *opt, struct grep_source *gs, int colle
 	if (!textconv) {
 		switch (opt->binary) {
 		case GREP_BINARY_DEFAULT:
-			if (grep_source_is_binary(gs))
+			if (grep_source_is_binary(gs, opt->repo->index))
 				binary_match_only = 1;
 			break;
 		case GREP_BINARY_NOMATCH:
-			if (grep_source_is_binary(gs))
+			if (grep_source_is_binary(gs, opt->repo->index))
 				return 0; /* Assume unmatch */
 			break;
 		case GREP_BINARY_TEXT:
@@ -2171,22 +2172,24 @@ static int grep_source_load(struct grep_source *gs)
 	BUG("invalid grep_source type to load");
 }
 
-void grep_source_load_driver(struct grep_source *gs)
+void grep_source_load_driver(struct grep_source *gs,
+			     struct index_state *istate)
 {
 	if (gs->driver)
 		return;
 
 	grep_attr_lock();
 	if (gs->path)
-		gs->driver = userdiff_find_by_path(gs->path);
+		gs->driver = userdiff_find_by_path(istate, gs->path);
 	if (!gs->driver)
 		gs->driver = userdiff_find_by_name("default");
 	grep_attr_unlock();
 }
 
-static int grep_source_is_binary(struct grep_source *gs)
+static int grep_source_is_binary(struct grep_source *gs,
+				 struct index_state *istate)
 {
-	grep_source_load_driver(gs);
+	grep_source_load_driver(gs, istate);
 	if (gs->driver->binary != -1)
 		return gs->driver->binary;
 
diff --git a/grep.h b/grep.h
index 3651183971..1a57d12b90 100644
--- a/grep.h
+++ b/grep.h
@@ -220,7 +220,8 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
 		      const void *identifier);
 void grep_source_clear_data(struct grep_source *gs);
 void grep_source_clear(struct grep_source *gs);
-void grep_source_load_driver(struct grep_source *gs);
+void grep_source_load_driver(struct grep_source *gs,
+			     struct index_state *istate);
 
 
 int grep_source(struct grep_opt *opt, struct grep_source *gs);
diff --git a/line-range.c b/line-range.c
index 232c3909ec..7fa0d8bba5 100644
--- a/line-range.c
+++ b/line-range.c
@@ -198,7 +198,7 @@ static const char *parse_range_funcname(const char *arg, nth_line_fn_t nth_line_
 	anchor--; /* input is in human terms */
 	start = nth_line_cb(cb_data, anchor);
 
-	drv = userdiff_find_by_path(path);
+	drv = userdiff_find_by_path(&the_index, path);
 	if (drv && drv->funcname.pattern) {
 		const struct userdiff_funcname *pe = &drv->funcname;
 		xecfg = xcalloc(1, sizeof(*xecfg));
diff --git a/userdiff.c b/userdiff.c
index f3f4be579c..c913232396 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -270,7 +270,8 @@ struct userdiff_driver *userdiff_find_by_name(const char *name) {
 	return userdiff_find_by_namelen(name, len);
 }
 
-struct userdiff_driver *userdiff_find_by_path(const char *path)
+struct userdiff_driver *userdiff_find_by_path(struct index_state *istate,
+					      const char *path)
 {
 	static struct attr_check *check;
 
@@ -278,7 +279,7 @@ struct userdiff_driver *userdiff_find_by_path(const char *path)
 		check = attr_check_initl("diff", NULL);
 	if (!path)
 		return NULL;
-	if (git_check_attr(&the_index, path, check))
+	if (git_check_attr(istate, path, check))
 		return NULL;
 
 	if (ATTR_TRUE(check->items[0].value))
diff --git a/userdiff.h b/userdiff.h
index 2ef0ce5452..dad3fc03c1 100644
--- a/userdiff.h
+++ b/userdiff.h
@@ -21,7 +21,8 @@ struct userdiff_driver {
 
 int userdiff_config(const char *k, const char *v);
 struct userdiff_driver *userdiff_find_by_name(const char *name);
-struct userdiff_driver *userdiff_find_by_path(const char *path);
+struct userdiff_driver *userdiff_find_by_path(struct index_state *istate,
+					      const char *path);
 
 /*
  * Initialize any textconv-related fields in the driver and return it, or NULL
-- 
2.19.0.rc0.337.ge906d732e7
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 52 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.