From e12c095aa69d8aca0326eb11960427d9bf9e2db7 Mon Sep 17 00:00:00 2001 From: Matthias Kestenholz Date: Wed, 2 Aug 2006 23:51:59 +0200 Subject: [PATCH 1/4] Make git-repo-config a builtin Signed-off-by: Matthias Kestenholz Signed-off-by: Junio C Hamano --- Makefile | 7 ++++--- repo-config.c => builtin-repo-config.c | 3 ++- builtin.h | 1 + git.c | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) rename repo-config.c => builtin-repo-config.c (98%) diff --git a/Makefile b/Makefile index fd45cd19b1..700c77f564 100644 --- a/Makefile +++ b/Makefile @@ -185,7 +185,7 @@ PROGRAMS = \ git-unpack-objects$X git-update-server-info$X \ git-upload-pack$X git-verify-pack$X \ git-symbolic-ref$X \ - git-name-rev$X git-pack-redundant$X git-repo-config$X git-var$X \ + git-name-rev$X git-pack-redundant$X git-var$X \ git-describe$X git-merge-tree$X git-blame$X git-imap-send$X BUILT_INS = git-log$X git-whatchanged$X git-show$X git-update-ref$X \ @@ -197,7 +197,8 @@ BUILT_INS = git-log$X git-whatchanged$X git-show$X git-update-ref$X \ git-read-tree$X git-commit-tree$X git-write-tree$X \ git-apply$X git-show-branch$X git-diff-files$X git-update-index$X \ git-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \ - git-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X + git-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \ + git-repo-config$X # what 'all' will build and 'install' will install, in gitexecdir ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS) @@ -254,7 +255,7 @@ BUILTIN_OBJS = \ builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \ builtin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \ builtin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \ - builtin-mv.o builtin-prune-packed.o + builtin-mv.o builtin-prune-packed.o builtin-repo-config.o GITLIBS = $(LIB_FILE) $(XDIFF_LIB) LIBS = $(GITLIBS) -lz diff --git a/repo-config.c b/builtin-repo-config.c similarity index 98% rename from repo-config.c rename to builtin-repo-config.c index 743f02b7de..c821e22717 100644 --- a/repo-config.c +++ b/builtin-repo-config.c @@ -1,3 +1,4 @@ +#include "builtin.h" #include "cache.h" #include @@ -128,7 +129,7 @@ free_strings: return ret; } -int main(int argc, const char **argv) +int cmd_repo_config(int argc, const char **argv, const char *prefix) { int nongit = 0; setup_git_directory_gently(&nongit); diff --git a/builtin.h b/builtin.h index 7ddfe2891c..26ebcaf213 100644 --- a/builtin.h +++ b/builtin.h @@ -48,6 +48,7 @@ extern int cmd_update_index(int argc, const char **argv, const char *prefix); extern int cmd_update_ref(int argc, const char **argv, const char *prefix); extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix); extern int cmd_mv(int argc, const char **argv, const char *prefix); +extern int cmd_repo_config(int argc, const char **argv, const char *prefix); extern int cmd_write_tree(int argc, const char **argv, const char *prefix); extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix); diff --git a/git.c b/git.c index 5b50762de1..6e72a893b7 100644 --- a/git.c +++ b/git.c @@ -264,6 +264,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp) { "prune", cmd_prune, NEEDS_PREFIX }, { "mv", cmd_mv, NEEDS_PREFIX }, { "prune-packed", cmd_prune_packed, NEEDS_PREFIX }, + { "repo-config", cmd_repo_config }, }; int i; From 25f38f064f7f9ccde337eafcf575e4a5a1079346 Mon Sep 17 00:00:00 2001 From: Matthias Kestenholz Date: Wed, 2 Aug 2006 23:52:00 +0200 Subject: [PATCH 2/4] use declarations from builtin.h for builtin commands Signed-off-by: Matthias Kestenholz Signed-off-by: Junio C Hamano --- builtin-fmt-merge-msg.c | 3 ++- builtin-prune-packed.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c index c84224ee84..485ede7cad 100644 --- a/builtin-fmt-merge-msg.c +++ b/builtin-fmt-merge-msg.c @@ -1,3 +1,4 @@ +#include "builtin.h" #include "cache.h" #include "commit.h" #include "diff.h" @@ -242,7 +243,7 @@ static void shortlog(const char *name, unsigned char *sha1, free_list(&subjects); } -int cmd_fmt_merge_msg(int argc, char **argv, const char *prefix) +int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix) { int limit = 20, i = 0; char line[1024]; diff --git a/builtin-prune-packed.c b/builtin-prune-packed.c index d0ff336c14..d3dd94d9ef 100644 --- a/builtin-prune-packed.c +++ b/builtin-prune-packed.c @@ -1,3 +1,4 @@ +#include "builtin.h" #include "cache.h" static const char prune_packed_usage[] = @@ -54,7 +55,7 @@ static void prune_packed_objects(void) } } -int cmd_prune_packed(int argc, char **argv, const char *prefix) +int cmd_prune_packed(int argc, const char **argv, const char *prefix) { int i; From fba0cbd95d796857622d642160176907930ae511 Mon Sep 17 00:00:00 2001 From: Matthias Lederhofer Date: Thu, 3 Aug 2006 00:04:56 +0200 Subject: [PATCH 3/4] git-grep: document --and, --or, --not, ( and ) [jc: added an example section.] Signed-off-by: Matthias Lederhofer Signed-off-by: Junio C Hamano --- Documentation/git-grep.txt | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index 62a8e7f222..dc7683383c 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -16,7 +16,7 @@ SYNOPSIS [-n] [-l | --files-with-matches] [-L | --files-without-match] [-c | --count] [-A ] [-B ] [-C ] - [-f ] [-e] + [-f ] [-e] [--and|--or|--not|(|)|-e ...] [...] [--] [...] @@ -74,16 +74,30 @@ OPTIONS -e:: The next parameter is the pattern. This option has to be used for patterns starting with - and should be used in - scripts passing user input to grep. + scripts passing user input to grep. Multiple patterns are + combined by 'or'. + +--and | --or | --not | ( | ):: + Specify how multiple patterns are combined using boolean + expressions. `--or` is the default operator. `--and` has + higher precedence than `--or`. `-e` has to be used for all + patterns. `...`:: Search blobs in the trees for specified patterns. -`--`:: +\--:: Signals the end of options; the rest of the parameters are limiters. +Example +------- + +git grep -e \'#define\' --and \( -e MAX_PATH -e PATH_MAX \):: + Looks for a line that has `#define` and either `MAX_PATH` or + `PATH_MAX`. + Author ------ Originally written by Linus Torvalds , later From 70b9c59656f974590fc050dfb3429106fd37c9ee Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 2 Aug 2006 15:44:07 -0700 Subject: [PATCH 4/4] Cygwin needs NO_C99_FORMAT??? I noticed that t3800 test breaks with git built without this option. Signed-off-by: Junio C Hamano --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 700c77f564..f67b28f75a 100644 --- a/Makefile +++ b/Makefile @@ -317,6 +317,7 @@ ifeq ($(uname_O),Cygwin) NO_STRLCPY = YesPlease NO_SYMLINK_HEAD = YesPlease NEEDS_LIBICONV = YesPlease + NO_C99_FORMAT = YesPlease # There are conflicting reports about this. # On some boxes NO_MMAP is needed, and not so elsewhere. # Try uncommenting this if you see things break -- YMMV.