Code

sha1_name: warning ambiguous refs.
authorJunio C Hamano <junkio@cox.net>
Fri, 24 Mar 2006 07:41:18 +0000 (23:41 -0800)
committerJunio C Hamano <junkio@cox.net>
Fri, 24 Mar 2006 07:41:18 +0000 (23:41 -0800)
This makes sure that many commands that take refs on the command
line to honor core.warnambiguousrefs configuration.  Earlier,
the commands affected by this patch did not read the
configuration file.

Signed-off-by: Junio C Hamano <junkio@cox.net>
12 files changed:
blame.c
cat-file.c
ls-tree.c
merge-base.c
name-rev.c
read-tree.c
rev-parse.c
send-pack.c
sha1_name.c
tar-tree.c
unpack-file.c
update-ref.c

diff --git a/blame.c b/blame.c
index 9c97aeca451f641ff319fc4bee70a97488e619cd..270ca52c3abf4b8d51aba4c57693f6c72800bb14 100644 (file)
--- a/blame.c
+++ b/blame.c
@@ -752,6 +752,7 @@ int main(int argc, const char **argv)
        int found_rename;
 
        const char* prefix = setup_git_directory();
+       git_config(git_default_config);
 
        for(i = 1; i < argc; i++) {
                if(options) {
index 1a613f3ee5ab4197fe18355ae65f2c9226b348cf..761111eb0f1f3266fe6bd0e9e561ee3d3d6c21d4 100644 (file)
@@ -100,6 +100,7 @@ int main(int argc, char **argv)
        int opt;
 
        setup_git_directory();
+       git_config(git_default_config);
        if (argc != 3 || get_sha1(argv[2], sha1))
                usage("git-cat-file [-t|-s|-e|-p|<type>] <sha1>");
 
index d005643ee08e03be2309c02e72522c6a81e8a1c6..58663ff969b2b2b7c7065fdced06080e56e3712e 100644 (file)
--- a/ls-tree.c
+++ b/ls-tree.c
@@ -87,6 +87,7 @@ int main(int argc, const char **argv)
        struct tree *tree;
 
        prefix = setup_git_directory();
+       git_config(git_default_config);
        if (prefix && *prefix)
                chomp_prefix = strlen(prefix);
        while (1 < argc && argv[1][0] == '-') {
index e73fca7453e8141b3f371a1aeba483c9ed946ccc..07f5ab4d1c72afeac5e3f193cefe91801ee9a9c9 100644 (file)
@@ -237,6 +237,7 @@ int main(int argc, char **argv)
        unsigned char rev1key[20], rev2key[20];
 
        setup_git_directory();
+       git_config(git_default_config);
 
        while (1 < argc && argv[1][0] == '-') {
                char *arg = argv[1];
index 0c3f547622245a2bc8984498289e86f89f87c362..bad8a5377771e678624d01895ca0603070d6bede 100644 (file)
@@ -127,6 +127,7 @@ int main(int argc, char **argv)
        int as_is = 0, all = 0, transform_stdin = 0;
 
        setup_git_directory();
+       git_config(git_default_config);
 
        if (argc < 2)
                usage(name_rev_usage);
index 1c3b09beffdf347af40b385f632d481c99645a33..eaff4441963409ea058722ef08fcf181a34a0c96 100644 (file)
@@ -717,6 +717,7 @@ int main(int argc, char **argv)
        merge_fn_t fn = NULL;
 
        setup_git_directory();
+       git_config(git_default_config);
 
        newfd = hold_index_file_for_update(&cache_file, get_index_file());
        if (newfd < 0)
index f90e999e607d238fbfe17e84f286570c04844100..19a5ef7f48a722c44a3534f281581f9a6ed08e84 100644 (file)
@@ -166,6 +166,8 @@ int main(int argc, char **argv)
        unsigned char sha1[20];
        const char *prefix = setup_git_directory();
        
+       git_config(git_default_config);
+
        for (i = 1; i < argc; i++) {
                struct stat st;
                char *arg = argv[i];
index c8ffc8d537d68e8296d8112582fd76e5148a9f98..409f18850357567748f63f73ec84c066f9e3fe94 100644 (file)
@@ -362,6 +362,8 @@ int main(int argc, char **argv)
        pid_t pid;
 
        setup_git_directory();
+       git_config(git_default_config);
+
        argv++;
        for (i = 1; i < argc; i++, argv++) {
                char *arg = *argv;
index 3adaec3167d19fd9e3f2c3f6c06530583428c3c6..4f92e12a8dfce29b5bb50108468259d9f04653f3 100644 (file)
@@ -236,7 +236,7 @@ static int ambiguous_path(const char *path, int len)
 static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
 {
        static const char *fmt[] = {
-               "/%.*s",
+               "%.*s",
                "refs/%.*s",
                "refs/tags/%.*s",
                "refs/heads/%.*s",
@@ -263,8 +263,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
                pathname = git_path(*p, len, str);
                if (!read_ref(pathname, this_result)) {
                        if (warn_ambiguous_refs) {
-                               if (already_found &&
-                                   !memcmp(sha1, sha1_from_ref, 20))
+                               if (already_found)
                                        fprintf(stderr, warning, len, str);
                                already_found++;
                        }
index e478e13e283a9d9687d0b32e180558995f2b920d..92035f51d84559478033fe6c801ea18c019360b8 100644 (file)
@@ -380,6 +380,7 @@ int main(int argc, char **argv)
        struct tree_desc tree;
 
        setup_git_directory();
+       git_config(git_default_config);
 
        switch (argc) {
        case 3:
index 07303f8bb3ef2b93f3e7c9bbe116aef9660584d5..3accb974dd448233a01e82ab1d6e3599d825fa9e 100644 (file)
@@ -30,6 +30,7 @@ int main(int argc, char **argv)
                usage("git-unpack-file <sha1>");
 
        setup_git_directory();
+       git_config(git_default_config);
 
        puts(create_temp_file(sha1));
        return 0;
index e6fbddbab6939023c4bbea9e0b685904dc6ba0b0..ba4bf5153efb38914f66658c59784b58d8b69a0a 100644 (file)
@@ -25,6 +25,7 @@ int main(int argc, char **argv)
        int fd, written;
 
        setup_git_directory();
+       git_config(git_default_config);
        if (argc < 3 || argc > 4)
                usage(git_update_ref_usage);