Subject: Re: [1.8.0] Remove deprecated commands

From: René Scharfe <[email-masked]>
Date: Sat, 12 Feb 2011 14:24:10 +0100

Am 10.02.2011 21:56, schrieb Jonathan Nieder:
> René Scharfe wrote:
>> Am 02.02.2011 01:57, schrieb Jonathan Nieder:
>>>>     git-repo-config  2008-01-17       git config
>>>
>>> giggle[1] still uses it
> [...]
>>> Likewise darcs2git[2] and the stgit testsuite.
> [...]
>> Well, the release notes for 1.5.4 promised that the "next feature
>> release will remove it".  Perhaps notifying the developers of the
>> projects you discovered is enough?
> 
> The list is probably not exhaustive.  On the bright side, repo-config
> tends to be run in user-visible contexts, so I think a deprecation
> notice could be effective.
> 
>> That said, the benefit for final removal of this command, which is
>> effectively just an alias, is the smallest of the four.
> 
> After adding a deprecation notice and filing some bugs, I think we
> can forget about it and wait another year. ;-)

-- >8 --
Subject: [PATCH] repo-config: add deprecation warning

repo-config was deprecated in 5c66d0d4 on 2008-01-17.  Warn the
remaining users that it has been replaced by config and is going to
be removed eventually.

Signed-off-by: Rene Scharfe <[email-masked]>
---
 builtin.h        |    3 ++-
 builtin/config.c |    6 ++++++
 git.c            |    2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/builtin.h b/builtin.h
index 904e067..0e9da90 100644
--- a/builtin.h
+++ b/builtin.h
@@ -57,6 +57,7 @@ extern int cmd_clone(int argc, const char **argv, const char *prefix);
 extern int cmd_clean(int argc, const char **argv, const char *prefix);
 extern int cmd_commit(int argc, const char **argv, const char *prefix);
 extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
+extern int cmd_config(int argc, const char **argv, const char *prefix);
 extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
 extern int cmd_describe(int argc, const char **argv, const char *prefix);
 extern int cmd_diff_files(int argc, const char **argv, const char *prefix);
@@ -110,7 +111,7 @@ extern int cmd_reflog(int argc, const char **argv, const char *prefix);
 extern int cmd_remote(int argc, const char **argv, const char *prefix);
 extern int cmd_remote_ext(int argc, const char **argv, const char *prefix);
 extern int cmd_remote_fd(int argc, const char **argv, const char *prefix);
-extern int cmd_config(int argc, const char **argv, const char *prefix);
+extern int cmd_repo_config(int argc, const char **argv, const char *prefix);
 extern int cmd_rerere(int argc, const char **argv, const char *prefix);
 extern int cmd_reset(int argc, const char **argv, const char *prefix);
 extern int cmd_rev_list(int argc, const char **argv, const char *prefix);
diff --git a/builtin/config.c b/builtin/config.c
index ca4a0db..dad86fe 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -500,3 +500,9 @@ int cmd_config(int argc, const char **argv, const char *prefix)
 
 	return 0;
 }
+
+int cmd_repo_config(int argc, const char **argv, const char *prefix)
+{
+	fprintf(stderr, "WARNING: git repo-config is deprecated in favor of git config.\n");
+	return cmd_config(argc, argv, prefix);
+}
diff --git a/git.c b/git.c
index 23610aa..65ed68f 100644
--- a/git.c
+++ b/git.c
@@ -392,7 +392,7 @@ static void handle_internal_command(int argc, const char **argv)
 		{ "remote-ext", cmd_remote_ext },
 		{ "remote-fd", cmd_remote_fd },
 		{ "replace", cmd_replace, RUN_SETUP },
-		{ "repo-config", cmd_config, RUN_SETUP_GENTLY },
+		{ "repo-config", cmd_repo_config, RUN_SETUP_GENTLY },
 		{ "rerere", cmd_rerere, RUN_SETUP },
 		{ "reset", cmd_reset, RUN_SETUP },
 		{ "rev-list", cmd_rev_list, RUN_SETUP },
-- 
1.7.4