summaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorJiang Xin <worldhello.net@gmail.com>2023-05-20 08:44:08 +0800
committerJiang Xin <worldhello.net@gmail.com>2023-05-20 08:44:08 +0800
commit68a86d028b9cd53886b8fa5239a5daebc566f21c (patch)
tree7b629def3a66c5dc2aa17cb87d1f4b2a7569e76e /git.c
parent03d05937a70900819a5a73583a96bcb1fd06eb68 (diff)
parent9e49351c3060e1fa6e0d2de64505b7becf157f28 (diff)
Merge branch 'master' of github.com:git/git
* 'master' of github.com:git/git: A few more topics after 2.41-rc1 Git 2.41-rc1 t/lib-httpd: make CGIPassAuth support conditional t9001: mark the script as no longer leak checker clean send-email: clear the $message_id after validation upload-pack: advertise capabilities when cloning empty repos A bit more before -rc1 imap-send: include strbuf.h run-command.c: fix missing include under `NO_PTHREADS` test: do not negate test_path_is_* to assert absense t2021: do not negate test_path_is_dir tests: do not negate test_path_exists doc/git-config: add unit for http.lowSpeedLimit rebase -r: fix the total number shown in the progress rebase --update-refs: fix loops attr: teach "--attr-source=<tree>" global option to "git"
Diffstat (limited to 'git.c')
-rw-r--r--git.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/git.c b/git.c
index 45899be826..2f42da20f4 100644
--- a/git.c
+++ b/git.c
@@ -9,6 +9,7 @@
#include "alias.h"
#include "replace-object.h"
#include "setup.h"
+#include "attr.h"
#include "shallow.h"
#include "trace.h"
#include "trace2.h"
@@ -314,6 +315,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);