dturner@xxxxxxxxxxxxxxxx writes: > From: David Turner <dturner@xxxxxxxxxxx> > > Wire up get_sha1_with_context to call get_tree_entry_follow_symlinks > when GET_SHA1_FOLLOW_SYMLINKS is passed in flags. G_S_FOLLOW_SYMLINKS > is incompatible with G_S_ONLY_TO_DIE because the diagnosis > that ONLY_TO_DIE triggers does not at present consider symlinks, and > it would be a significant amount of additional code to allow it to > do so. > > Signed-off-by: David Turner <dturner@xxxxxxxxxxx> > --- > cache.h | 20 +++++++++++++------- > sha1_name.c | 20 +++++++++++++++----- > 2 files changed, 28 insertions(+), 12 deletions(-) > > diff --git a/cache.h b/cache.h > index 3d3244b..65505d1 100644 > --- a/cache.h > +++ b/cache.h > @@ -922,15 +922,21 @@ struct object_context { > unsigned char tree[20]; > char path[PATH_MAX]; > unsigned mode; > + /* > + * symlink_path is only used by get_tree_entry_follow_symlinks, > + * and only for symlinks that point outside the repository. > + */ > + struct strbuf symlink_path; > }; >... > @@ -1469,5 +1477,7 @@ void maybe_die_on_misspelt_object_name(const char *name, const char *prefix) > > int get_sha1_with_context(const char *str, unsigned flags, unsigned char *sha1, struct object_context *orc) > { > + if (flags & GET_SHA1_FOLLOW_SYMLINKS && flags & GET_SHA1_ONLY_TO_DIE) > + die("BUG: incompatible flags for get_sha1_with_context"); > return get_sha1_with_context_1(str, flags, NULL, sha1, orc); > } Looks good; thanks. -- 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