aboutsummaryrefslogtreecommitdiff
path: root/fetch.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-12-12 21:52:19 -0800
committerJunio C Hamano <junkio@cox.net>2006-12-12 21:52:19 -0800
commit8042ed1cebd37419ff38f540482355c0f1d30936 (patch)
tree8cc29ba2b6f5eac2d46f5222e8ff1dc1e7f6a7bd /fetch.c
parente2b7008752d85874919ea718d098fec01b4a9019 (diff)
parentc53d696bcc2894b0df277e617740b15bac794df9 (diff)
downloadgit-8042ed1cebd37419ff38f540482355c0f1d30936.tar.gz
git-8042ed1cebd37419ff38f540482355c0f1d30936.tar.xz
Merge branch 'master' into js/merge
* master: (42 commits) git-svn: correctly handle packed-refs in refs/remotes/ add test case for recursive merge git-svn: correctly display fatal() error messages git-svn: allow dcommit to take an alternate head git-svn: enable logging of information not supported by git Clarify fetch error for missing objects. Move Fink and Ports check to after config file shortlog: fix segfault on empty authorname shortlog: remove "[PATCH]" prefix from shortlog output Make sure the empty tree exists when needed in merge-recursive. Don't use memcpy when source and dest. buffers may overlap no need to install manpages as executable Documentation: simpler shared repository creation shortlog: fix segfault on empty authorname Add branch.*.merge warning and documentation update Fix perl/ build. git-svn: use do_switch for --follow-parent if the SVN library supports it Fix documentation copy&paste typo git-svn: extra error check to ensure we open a file correctly Documentation: update git-clone man page with new behavior ...
Diffstat (limited to 'fetch.c')
-rw-r--r--fetch.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fetch.c b/fetch.c
index c426c0499..663b4b2f4 100644
--- a/fetch.c
+++ b/fetch.c
@@ -22,14 +22,15 @@ void pull_say(const char *fmt, const char *hex)
fprintf(stderr, fmt, hex);
}
-static void report_missing(const char *what, const unsigned char *missing)
+static void report_missing(const struct object *obj)
{
char missing_hex[41];
-
- strcpy(missing_hex, sha1_to_hex(missing));;
- fprintf(stderr,
- "Cannot obtain needed %s %s\nwhile processing commit %s.\n",
- what, missing_hex, sha1_to_hex(current_commit_sha1));
+ strcpy(missing_hex, sha1_to_hex(obj->sha1));;
+ fprintf(stderr, "Cannot obtain needed %s %s\n",
+ obj->type ? typename(obj->type): "object", missing_hex);
+ if (!is_null_sha1(current_commit_sha1))
+ fprintf(stderr, "while processing commit %s.\n",
+ sha1_to_hex(current_commit_sha1));
}
static int process(struct object *obj);
@@ -177,7 +178,7 @@ static int loop(void)
*/
if (! (obj->flags & TO_SCAN)) {
if (fetch(obj->sha1)) {
- report_missing(typename(obj->type), obj->sha1);
+ report_missing(obj);
return -1;
}
}