[PATCH] allow git-update-index work on subprojects
From: Alex Riesen <hidden>
Date: 2016-06-15 22:43:03
On 4/10/07, Linus Torvalds [off-list ref] wrote:
On Mon, 9 Apr 2007, Linus Torvalds wrote:quoted
NOTE! This series of six patches does not actually contain everything you need to do that - in particular, this series will not actually connect up the magic to make "git add" (and thus "git commit") actually create the gitlink entries for subprojects. That's another (quite small) patch, but I haven't cleaned it up enough to be submittable yet.Here is, for your enjoyment, the last patch I used to actually test this all. I do *not* submit it as a patch for actual inclusion - the other patches in the series are, I think, ready to actually be merged. This one is not. It's broken for a few reasons: - it allows you to do "git add subproject" to add the subproject to the index (and then use "git commit" to commit it), but even something as simple as "git commit -a" doesn't work right, because the sequence that "git commit -a" uses to update the index doesn't work with the current state of the plumbing (ie the git-diff-files --name-only -z | git-update-index --remove -z --stdin
At least git-update-index should work. --- builtin-update-index.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 47d42ed..55c9f93 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c@@ -94,12 +94,10 @@ static int process_file(const char *path) path); } } - if (0 == status) - return error("%s: is a directory - add files inside instead", - path); - else + if (status) return error("lstat(\"%s\"): %s", path, strerror(errno)); + /* could be a subproject */ } namelen = strlen(path);
@@ -211,7 +209,7 @@ static void update_one(const char *path, constchar *prefix, int prefix_length)
goto free_return;
}
if (process_file(p))
- die("Unable to process file %s", path);
+ die("Unable to process \"%s\"", path);
report("add '%s'", path);
free_return:
if (p < path || p > path + strlen(path))
--
1.5.1.147.gbaa5