On 4/10/07, Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 26 quoted lines
>
>
> On Mon, 9 Apr 2007, Linus Torvalds wrote:
> >
> > 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(-)
Show changes to builtin-update-index.c +3 −5
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, const
char *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
From 252adc55f9a8a7ee36be1abf76d8511d6f12d4f3 Mon Sep 17 00:00:00 2001
From: Alex Riesen <ariesen@harmanbecker.com>
Date: Tue, 10 Apr 2007 15:19:30 +0200
Subject: [PATCH] allow git-update-index work on subprojects
---
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, const char *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