On Sun, Jan 18, 2009 at 19:33, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > On Sun, 18 Jan 2009, Lars Hjemli wrote: >> Actually, I want this to work for bare repositories by specifying the >> submodule odbs in the alternates file. So if the current submodule odb >> wasn't found my plan was to check if the commit object was accessible >> anyways but don't die() if it wasn't. > > Please make that an explicit option (cannot think of a good name, though), > otherwise I will not be able to use your feature. Making it the default > would be inconsistent with the rest of our submodules framework. Would a test on is_bare_repository() suffice for your use-case? That is, something like this: if (!add_gitlink_odb(path->buf)) { linked_odb = 1; if (resolve_gitlink_ref(path->buf, "HEAD", sha1)) die("Unable to lookup HEAD in %s", path->buf); } else if (!is_bare_repository()) return 0; If this isn't good enough, how do you propose it be solved? > >> >> + commit = lookup_commit(sha1); >> >> + if (!commit) >> >> + die("traverse_gitlink(): internal error"); >> > >> > s/internal error/could not access commit '%s' of submodule '%s'", >> > sha1_to_hex(sha1), path);/ >> >> Ok (I belive this codepath is virtually impossible to hit, hence the >> "internal error", but I could of course be mistaken). > > You make it a function that is exported to other parts of Git in cache.h. > So you might just as well expect it to be used by other parts at some > stage. This function is local to tree.c, but your point is still valid. -- larsh -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html