login
Header Space

 
 

Re: [RFC] Git config file reader in Perl (WIP)

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Eric Wong <normalperson@...>
Cc: Jakub Narebski <jnareb@...>, <git@...>
Date: Monday, January 15, 2007 - 8:15 am

Hi,

On Mon, 15 Jan 2007, Eric Wong wrote:


A bit shorter (and gets the booleans right, plus being even easier 
towards --python extension):

---

 builtin-repo-config.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/builtin-repo-config.c b/builtin-repo-config.c
index 9063311..8ebf436 100644
--- a/builtin-repo-config.c
+++ b/builtin-repo-config.c
@@ -1,5 +1,6 @@
 #include "builtin.h"
 #include "cache.h"
+#include "quote.h"
 
 static const char git_config_set_usage[] =
 "git-repo-config [ --global ] [ --bool | --int ] [--get | --get-all | --get-regexp | --replace-all | --add | --unset | --unset-all] name [value [value_regex]] | --rename-section old_name new_name | --list";
@@ -12,11 +13,18 @@ static int use_key_regexp;
 static int do_all;
 static int do_not_match;
 static int seen;
+static const char *perl_prefix = NULL;
 static enum { T_RAW, T_INT, T_BOOL } type = T_RAW;
 
 static int show_all_config(const char *key_, const char *value_)
 {
-	if (value_)
+	if (perl_prefix) {
+		printf("%s", perl_prefix);
+		perl_quote_print(stdout, key_);
+		printf(" => ");
+		perl_quote_print(stdout, value_ ? value_ : "true");
+		perl_prefix = ",\n\t";
+	} else if (value_)
 		printf("%s=%s\n", key_, value_);
 	else
 		printf("%s\n", key_);
@@ -138,7 +146,14 @@ int cmd_repo_config(int argc, const char **argv, const char *prefix)
 			type = T_BOOL;
 		else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
 			return git_config(show_all_config);
-		else if (!strcmp(argv[1], "--global")) {
+		else if (!strcmp(argv[1], "--perl")) {
+			int ret;
+			perl_prefix = "\n\t";
+			printf("%%git_config = (");
+			ret = git_config(show_all_config);
+			printf("\n);\n");
+			return ret;
+		} else if (!strcmp(argv[1], "--global")) {
 			char *home = getenv("HOME");
 			if (home) {
 				char *user_config = xstrdup(mkpath("%s/.gitconfig", home));
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Sun Jan 14, 8:44 pm)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Mon Jan 15, 3:08 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Mon Jan 15, 5:03 am)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Mon Jan 15, 5:56 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Mon Jan 15, 6:32 am)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Mon Jan 15, 7:26 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Mon Jan 15, 8:15 am)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Tue Jan 16, 5:51 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Tue Jan 16, 6:47 am)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Tue Jan 16, 3:53 pm)
Re: [RFC] Git config file reader in Perl (WIP), Nikolai Weibull, (Mon Jan 15, 11:34 am)
Re: [RFC] Git config file reader in Perl (WIP), Junio C Hamano, (Tue Jan 16, 6:45 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Tue Jan 16, 7:12 am)
Re: [RFC] Git config file reader in Perl (WIP), Eric Wong, (Tue Jan 16, 3:09 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Tue Jan 16, 10:14 am)
Re: [RFC] Git config file reader in Perl (WIP), Nikolai Weibull, (Tue Jan 16, 6:17 pm)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Tue Jan 16, 6:42 pm)
Re: [RFC] Git config file reader in Perl (WIP), Nikolai Weibull, (Wed Jan 17, 2:08 pm)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Wed Jan 17, 8:50 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Wed Jan 17, 3:25 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Wed Jan 17, 3:22 pm)
Re: [RFC] Git config file reader in Perl (WIP), Nikolai Weibull, (Wed Jan 17, 4:01 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Tue Jan 16, 6:37 pm)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Tue Jan 16, 6:56 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Tue Jan 16, 7:24 pm)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Wed Jan 17, 4:51 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Wed Jan 17, 5:48 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Wed Jan 17, 6:44 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Wed Jan 17, 8:11 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Wed Jan 17, 8:37 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Wed Jan 17, 10:00 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Fri Jan 19, 8:10 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Fri Jan 19, 9:20 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Fri Jan 19, 6:44 pm)
Re: [RFC] Git config file reader in Perl (WIP), Junio C Hamano, (Fri Jan 19, 8:19 pm)
[PATCH] config_set_multivar(): disallow newlines in keys, Johannes Schindelin, (Fri Jan 19, 9:25 pm)
Re: [PATCH] config_set_multivar(): disallow newlines in keys, Johannes Schindelin, (Mon Jan 22, 11:21 am)
Re: [PATCH] config_set_multivar(): disallow newlines in keys, Johannes Schindelin, (Mon Jan 22, 11:44 am)
Re: [PATCH] config_set_multivar(): disallow newlines in keys, Johannes Schindelin, (Tue Jan 23, 7:26 am)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Fri Jan 19, 8:08 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Fri Jan 19, 8:59 pm)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Fri Jan 19, 8:25 am)
Re: [RFC] Git config file reader in Perl (WIP), Jakub Narebski, (Mon Jan 15, 12:00 pm)
Re: [RFC] Git config file reader in Perl (WIP), Johannes Schindelin, (Mon Jan 15, 11:44 am)
Re: [RFC] Git config file reader in Perl (WIP), Nikolai Weibull, (Mon Jan 15, 12:22 pm)
Re: [RFC] Git config file reader in Perl (WIP), Shawn O. Pearce, (Mon Jan 15, 6:01 am)
speck-geostationary