aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-07-02 12:56:44 -0700
committerJunio C Hamano <gitster@pobox.com>2012-07-03 10:24:11 -0700
commit249c8f4a164c8502f8274c505a48b9c686f458d0 (patch)
treede813b93fbe7e3533a4df6431d7185c33f877b55
parent8c135ea260a84ef71899c8bd23bb39425288f9fe (diff)
downloadgit-249c8f4a164c8502f8274c505a48b9c686f458d0.tar.gz
git-249c8f4a164c8502f8274c505a48b9c686f458d0.tar.xz
sha1_name.c: get rid of get_sha1_with_mode()
There are only two callers, and they will benefit from being able to pass disambiguation hints to underlying get_sha1_with_context() API once it happens. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--cache.h1
-rw-r--r--revision.c12
-rw-r--r--sha1_name.c8
3 files changed, 6 insertions, 15 deletions
diff --git a/cache.h b/cache.h
index beafa5b0c..2aa9fb6b2 100644
--- a/cache.h
+++ b/cache.h
@@ -812,7 +812,6 @@ struct object_context {
};
extern int get_sha1(const char *str, unsigned char *sha1);
-extern int get_sha1_with_mode(const char *str, unsigned char *sha1, unsigned *mode);
extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix);
extern int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc);
diff --git a/revision.c b/revision.c
index 064e35108..86a14c8af 100644
--- a/revision.c
+++ b/revision.c
@@ -1097,7 +1097,7 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs,
int flags,
int cant_be_filename)
{
- unsigned mode;
+ struct object_context oc;
char *dotdot;
struct object *object;
unsigned char sha1[20];
@@ -1180,13 +1180,13 @@ int handle_revision_arg(const char *arg_, struct rev_info *revs,
local_flags = UNINTERESTING;
arg++;
}
- if (get_sha1_with_mode(arg, sha1, &mode))
+ if (get_sha1_with_context(arg, sha1, &oc))
return revs->ignore_missing ? 0 : -1;
if (!cant_be_filename)
verify_non_filename(revs->prefix, arg);
object = get_reference(revs, arg, sha1, flags ^ local_flags);
add_rev_cmdline(revs, object, arg_, REV_CMD_REV, flags ^ local_flags);
- add_pending_object_with_mode(revs, object, arg, mode);
+ add_pending_object_with_mode(revs, object, arg, oc.mode);
return 0;
}
@@ -1794,11 +1794,11 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (revs->def && !revs->pending.nr && !got_rev_arg) {
unsigned char sha1[20];
struct object *object;
- unsigned mode;
- if (get_sha1_with_mode(revs->def, sha1, &mode))
+ struct object_context oc;
+ if (get_sha1_with_context(revs->def, sha1, &oc))
die("bad default revision '%s'", revs->def);
object = get_reference(revs, revs->def, sha1, 0);
- add_pending_object_with_mode(revs, object, revs->def, mode);
+ add_pending_object_with_mode(revs, object, revs->def, oc.mode);
}
/* Did the user ask for any diff output? Run the diff! */
diff --git a/sha1_name.c b/sha1_name.c
index df583c25b..e63459bd5 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -1139,14 +1139,6 @@ void maybe_die_on_misspelt_object_name(const char *name, const char *prefix)
get_sha1_with_context_1(name, sha1, &oc, 1, prefix);
}
-int get_sha1_with_mode(const char *str, unsigned char *sha1, unsigned *mode)
-{
- struct object_context oc;
- int ret = get_sha1_with_context_1(str, sha1, &oc, 0, NULL);
- *mode = oc.mode;
- return ret;
-}
-
int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc)
{
return get_sha1_with_context_1(str, sha1, orc, 0, NULL);