Skip to content

Commit 3cef161

Browse files
dschojeffhostetler
authored andcommitted
vfs: disable git update-git-for-windows
If a user runs git update-git-for-windows, then they will upgrade to a version that does not support microsoft/vfsforgit or microsoft/scalar. Therefore, let's prevent this. This addresses microsoft#241
1 parent 923df35 commit 3cef161

File tree

4 files changed

+26
-0
lines changed

4 files changed

+26
-0
lines changed

builtin.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix);
228228
int cmd_tar_tree(int argc, const char **argv, const char *prefix);
229229
int cmd_unpack_file(int argc, const char **argv, const char *prefix);
230230
int cmd_unpack_objects(int argc, const char **argv, const char *prefix);
231+
int cmd_update(int argc, const char **argv, const char *prefix);
231232
int cmd_update_index(int argc, const char **argv, const char *prefix);
232233
int cmd_update_ref(int argc, const char **argv, const char *prefix);
233234
int cmd_update_server_info(int argc, const char **argv, const char *prefix);

git.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,8 @@ static struct cmd_struct commands[] = {
669669
{ "tag", cmd_tag, RUN_SETUP | DELAY_PAGER_CONFIG },
670670
{ "unpack-file", cmd_unpack_file, RUN_SETUP | NO_PARSEOPT },
671671
{ "unpack-objects", cmd_unpack_objects, RUN_SETUP | NO_PARSEOPT },
672+
{ "update", cmd_update },
673+
{ "update-git-for-windows", cmd_update },
672674
{ "update-index", cmd_update_index, RUN_SETUP },
673675
{ "update-ref", cmd_update_ref, RUN_SETUP },
674676
{ "update-server-info", cmd_update_server_info, RUN_SETUP },

help.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,3 +745,19 @@ NORETURN void help_unknown_ref(const char *ref, const char *cmd,
745745
string_list_clear(&suggested_refs, 0);
746746
exit(1);
747747
}
748+
749+
int cmd_update(int argc, const char **argv, const char *prefix)
750+
{
751+
const char * const usage[] = {
752+
N_("git update-git-for-windows [<options>]\n"
753+
"\t(not supported in this build of Git for Windows)"),
754+
NULL
755+
};
756+
struct option options[] = {
757+
OPT_END()
758+
};
759+
760+
argc = parse_options(argc, argv, prefix, options, usage, 0);
761+
762+
die(_("git %s is not supported in VFSforGit"), argv[0]);
763+
}

t/t0402-block-command-on-gvfs.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,11 @@ test_expect_success 'test gc --auto succeeds when disabled via config' '
3636
git gc --auto
3737
'
3838

39+
test_expect_success 'update-git-for-windows disabled' '
40+
test_must_fail git update 2>out &&
41+
test_i18ngrep VFS out &&
42+
test_must_fail git update-git-for-windows 2>out &&
43+
test_i18ngrep VFS out
44+
'
45+
3946
test_done

0 commit comments

Comments
 (0)