diff options
Diffstat (limited to 'git.c')
| -rw-r--r-- | git.c | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -4,11 +4,16 @@ #include "exec-cmd.h" #include "gettext.h" #include "help.h" +#include "pager.h" +#include "read-cache-ll.h" #include "run-command.h" #include "alias.h" #include "replace-object.h" #include "setup.h" +#include "attr.h" #include "shallow.h" +#include "trace.h" +#include "trace2.h" #define RUN_SETUP (1<<0) #define RUN_SETUP_GENTLY (1<<1) @@ -182,7 +187,7 @@ static int handle_options(const char ***argv, int *argc, int *envchanged) if (envchanged) *envchanged = 1; } else if (!strcmp(cmd, "--no-replace-objects")) { - read_replace_refs = 0; + disable_replace_refs(); setenv(NO_REPLACE_OBJECTS_ENVIRONMENT, "1", 1); if (envchanged) *envchanged = 1; @@ -311,6 +316,21 @@ static int handle_options(const char ***argv, int *argc, int *envchanged) } else { exit(list_cmds(cmd)); } + } else if (!strcmp(cmd, "--attr-source")) { + if (*argc < 2) { + fprintf(stderr, _("no attribute source given for --attr-source\n" )); + usage(git_usage_string); + } + setenv(GIT_ATTR_SOURCE_ENVIRONMENT, (*argv)[1], 1); + if (envchanged) + *envchanged = 1; + (*argv)++; + (*argc)--; + } else if (skip_prefix(cmd, "--attr-source=", &cmd)) { + set_git_attr_source(cmd); + setenv(GIT_ATTR_SOURCE_ENVIRONMENT, cmd, 1); + if (envchanged) + *envchanged = 1; } else { fprintf(stderr, _("unknown option: %s\n"), cmd); usage(git_usage_string); |
