{"thread":{"id":"51704","subject":"[PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","startedAt":"2019-08-21T19:18:37Z","lastAt":"2019-08-22T13:45:07Z","messageCount":11,"participants":["Derrick Stolee via GitGitGadget","SZEDER Gábor","Elijah Newren","Derrick Stolee"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"380902","messageId":"pull.317.git.gitgitgadget@gmail.com","threadId":"51704","inReplyTo":null,"subject":"[PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-08-21T19:18:32Z","receivedAt":"2019-08-21T19:18:37Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\ncheckout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo. This\nwas an intentional change when writing the \"git switch\" builtin. Here is the\ncommit message for 65f099b (\"switch: no worktree status unless real branch\nswitch happens\" 2019-03-29):\n\nWhen we switch from one branch to another, it makes sense to show a\nsummary of local changes since there could be conflicts, or some files\nleft modified.... When switch is used solely for creating a new\nbranch (and \"switch\" to the same commit) or detaching, we don't really\nneed to show anything.\n\n\"git checkout\" does it anyway for historical reasons. But we can start\nwith a clean slate with switch and don't have to.\n\nThis essentially reverts fa655d8411 (checkout: optimize \"git checkout\n-b <new_branch>\" - 2018-08-16) and make it default for switch,\nbut also for -B and --detach. Users of big repos are encouraged to\nmove to switch.\n\nI was considering doing a full, long-term revert of this change to get the\nperformance back to normal, but I also saw this feedback on the list for\nthis patch:\n\nI like this last bit. The skip_merge_working_tree() function which\nthis removes was ugly, difficult to maintain, and difficult to get\njust right (and easy to break -- even by changing parts of the system\nwhich one might not expect to impact it).\n\nSo, the goal is to reduce the complication given by\nskip_merge_working_tree() by recommending that users use 'git switch -c'.\nThe only problem is: users will take a while to move, unless prompted.\n\nThis series does the following:\n\n 1. Reverts the change that makes 'git checkout -b' slow again.\n 2. Creates a warning that recommends users start using 'git switch -c'\n    instead.\n\nThis allows us to strip out this performance feature after users have had\ntime to adopt the new way of doing things.\n\nDerrick Stolee (2):\n  Revert \"switch: no worktree status unless real branch switch happens\"\n  DEPRECATION: warn about 'git checkout -b'\n\n Documentation/config/checkout.txt |   8 ++\n builtin/checkout.c                | 130 +++++++++++++++++++++++++++++-\n t/t1090-sparse-checkout-scope.sh  |  14 ++++\n 3 files changed, 150 insertions(+), 2 deletions(-)\n\n\nbase-commit: 5fa0f5238b0cd46cfe7f6fa76c3f526ea98148d9\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-317%2Fderrickstolee%2Frevert-switch-slow-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-317/derrickstolee/revert-switch-slow-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/317\n-- \ngitgitgadget\n"},{"id":"380903","messageId":"538420ffd575f1705e9fb764f9d86e5d4d7f25ad.1566415112.git.gitgitgadget@gmail.com","threadId":"51704","inReplyTo":"pull.317.git.gitgitgadget@gmail.com","subject":"[PATCH 1/2] Revert \"switch: no worktree status unless real branch switch happens\"","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-08-21T19:18:33Z","receivedAt":"2019-08-21T19:18:41Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"From: Derrick Stolee <dstolee@microsoft.com>\n\nThis reverts commit 65f099b3988198f0fdf3ef7a21dc01c556d21fff, which\nremoved logic for avoiding extra cost in \"git checkout -b\" in favor\nof the new \"git switch -c\". This will cause a performance issue for\nusers in large repos.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n Documentation/config/checkout.txt |   8 ++\n builtin/.checkout.c.swp           | Bin 0 -> 77824 bytes\n builtin/checkout.c                | 133 ++++++++++++++++++++++++++++--\n t/t1090-sparse-checkout-scope.sh  |  14 ++++\n 4 files changed, 148 insertions(+), 7 deletions(-)\n create mode 100644 builtin/.checkout.c.swp\n\ndiff --git a/Documentation/config/checkout.txt b/Documentation/config/checkout.txt\nindex 6b646813ab..d6872ffa83 100644\n--- a/Documentation/config/checkout.txt\n+++ b/Documentation/config/checkout.txt\n@@ -16,3 +16,11 @@ will checkout the '<something>' branch on another remote,\n and by linkgit:git-worktree[1] when 'git worktree add' refers to a\n remote branch. This setting might be used for other checkout-like\n commands or functionality in the future.\n+\n+checkout.optimizeNewBranch::\n+\tOptimizes the performance of \"git checkout -b <new_branch>\" when\n+\tusing sparse-checkout.  When set to true, git will not update the\n+\trepo based on the current sparse-checkout settings.  This means it\n+\twill not update the skip-worktree bit in the index nor add/remove\n+\tfiles in the working directory to reflect the current sparse checkout\n+\tsettings nor will it show the local changes.\ndiff --git a/builtin/.checkout.c.swp b/builtin/.checkout.c.swp\nnew file mode 100644\nindex 0000000000000000000000000000000000000000..f6dad4abb02c265ee66b3f6f76d00d59b9b524a4\nGIT binary patch\nliteral 77824\n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%0D($Rh0-7;8R*3|qhA%&XMH\n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\nUl^dyn{$I$!_h?IFGP36X2Rz^&;s5{u\n\nliteral 0\nHcmV?d00001\n\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 6123f732a2..f894b9de1a 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -27,6 +27,8 @@\n #include \"wt-status.h\"\n #include \"xdiff-interface.h\"\n \n+static int checkout_optimize_new_branch;\n+\n static const char * const checkout_usage[] = {\n \tN_(\"git checkout [<options>] <branch>\"),\n \tN_(\"git checkout [<options>] [<branch>] -- <file>...\"),\n@@ -71,6 +73,11 @@ struct checkout_opts {\n \tconst char *ignore_unmerged_opt;\n \tint ignore_unmerged;\n \n+\t/*\n+\t * If new checkout options are added, skip_merge_working_tree\n+\t * should be updated accordingly.\n+\t */\n+\n \tconst char *new_branch;\n \tconst char *new_branch_force;\n \tconst char *new_orphan_branch;\n@@ -637,6 +644,112 @@ static void setup_branch_path(struct branch_info *branch)\n \tbranch->path = strbuf_detach(&buf, NULL);\n }\n \n+/*\n+ * Skip merging the trees, updating the index and working directory if and\n+ * only if we are creating a new branch via \"git checkout -b <new_branch>.\"\n+ */\n+static int skip_merge_working_tree(const struct checkout_opts *opts,\n+\tconst struct branch_info *old_branch_info,\n+\tconst struct branch_info *new_branch_info)\n+{\n+\t/*\n+\t * Do the merge if sparse checkout is on and the user has not opted in\n+\t * to the optimized behavior\n+\t */\n+\tif (core_apply_sparse_checkout && !checkout_optimize_new_branch)\n+\t\treturn 0;\n+\n+\t/*\n+\t * We must do the merge if we are actually moving to a new commit.\n+\t */\n+\tif (!old_branch_info->commit || !new_branch_info->commit ||\n+\t\t!oideq(&old_branch_info->commit->object.oid,\n+\t\t       &new_branch_info->commit->object.oid))\n+\t\treturn 0;\n+\n+\t/*\n+\t * opts->patch_mode cannot be used with switching branches so is\n+\t * not tested here\n+\t */\n+\n+\t/*\n+\t * opts->quiet only impacts output so doesn't require a merge\n+\t */\n+\n+\t/*\n+\t * Honor the explicit request for a three-way merge or to throw away\n+\t * local changes\n+\t */\n+\tif (opts->merge || opts->force)\n+\t\treturn 0;\n+\n+\t/*\n+\t * --detach is documented as \"updating the index and the files in the\n+\t * working tree\" but this optimization skips those steps so fall through\n+\t * to the regular code path.\n+\t */\n+\tif (opts->force_detach)\n+\t\treturn 0;\n+\n+\t/*\n+\t * opts->writeout_stage cannot be used with switching branches so is\n+\t * not tested here\n+\t */\n+\n+\t/*\n+\t * Honor the explicit ignore requests\n+\t */\n+\tif (!opts->overwrite_ignore || opts->ignore_skipworktree ||\n+\t\topts->ignore_other_worktrees)\n+\t\treturn 0;\n+\n+\t/*\n+\t * opts->show_progress only impacts output so doesn't require a merge\n+\t */\n+\n+\t/*\n+\t * opts->overlay_mode cannot be used with switching branches so is\n+\t * not tested here\n+\t */\n+\n+\t/*\n+\t * If we aren't creating a new branch any changes or updates will\n+\t * happen in the existing branch.  Since that could only be updating\n+\t * the index and working directory, we don't want to skip those steps\n+\t * or we've defeated any purpose in running the command.\n+\t */\n+\tif (!opts->new_branch)\n+\t\treturn 0;\n+\n+\t/*\n+\t * new_branch_force is defined to \"create/reset and checkout a branch\"\n+\t * so needs to go through the merge to do the reset\n+\t */\n+\tif (opts->new_branch_force)\n+\t\treturn 0;\n+\n+\t/*\n+\t * A new orphaned branch requrires the index and the working tree to be\n+\t * adjusted to <start_point>\n+\t */\n+\tif (opts->new_orphan_branch)\n+\t\treturn 0;\n+\n+\t/*\n+\t * Remaining variables are not checkout options but used to track state\n+\t */\n+\n+\t /*\n+\t  * Do the merge if this is the initial checkout. We cannot use\n+\t  * is_cache_unborn() here because the index hasn't been loaded yet\n+\t  * so cache_nr and timestamp.sec are always zero.\n+\t  */\n+\tif (!file_exists(get_index_file()))\n+\t\treturn 0;\n+\n+\treturn 1;\n+}\n+\n static int merge_working_tree(const struct checkout_opts *opts,\n \t\t\t      struct branch_info *old_branch_info,\n \t\t\t      struct branch_info *new_branch_info,\n@@ -1020,7 +1133,6 @@ static int switch_branches(const struct checkout_opts *opts,\n \tvoid *path_to_free;\n \tstruct object_id rev;\n \tint flag, writeout_error = 0;\n-\tint do_merge = 1;\n \n \ttrace2_cmd_mode(\"branch\");\n \n@@ -1039,7 +1151,6 @@ static int switch_branches(const struct checkout_opts *opts,\n \t\t\tBUG(\"'switch --orphan' should never accept a commit as starting point\");\n \t\tnew_branch_info->commit = NULL;\n \t\tnew_branch_info->name = \"(empty)\";\n-\t\tdo_merge = 1;\n \t}\n \n \tif (!new_branch_info->name) {\n@@ -1048,12 +1159,16 @@ static int switch_branches(const struct checkout_opts *opts,\n \t\tif (!new_branch_info->commit)\n \t\t\tdie(_(\"You are on a branch yet to be born\"));\n \t\tparse_commit_or_die(new_branch_info->commit);\n-\n-\t\tif (opts->only_merge_on_switching_branches)\n-\t\t\tdo_merge = 0;\n \t}\n \n-\tif (do_merge) {\n+\t/* optimize the \"checkout -b <new_branch> path */\n+\tif (skip_merge_working_tree(opts, &old_branch_info, new_branch_info)) {\n+\t\tif (!checkout_optimize_new_branch && !opts->quiet) {\n+\t\t\tif (read_cache_preload(NULL) < 0)\n+\t\t\t\treturn error(_(\"index file corrupt\"));\n+\t\t\tshow_local_changes(&new_branch_info->commit->object, &opts->diff_options);\n+\t\t}\n+\t} else {\n \t\tret = merge_working_tree(opts, &old_branch_info, new_branch_info, &writeout_error);\n \t\tif (ret) {\n \t\t\tfree(path_to_free);\n@@ -1073,6 +1188,11 @@ static int switch_branches(const struct checkout_opts *opts,\n \n static int git_checkout_config(const char *var, const char *value, void *cb)\n {\n+\tif (!strcmp(var, \"checkout.optimizenewbranch\")) {\n+\t\tcheckout_optimize_new_branch = git_config_bool(var, value);\n+\t\treturn 0;\n+\t}\n+\n \tif (!strcmp(var, \"diff.ignoresubmodules\")) {\n \t\tstruct checkout_opts *opts = cb;\n \t\thandle_ignore_submodules_arg(&opts->diff_options, value);\n@@ -1747,7 +1867,6 @@ int cmd_switch(int argc, const char **argv, const char *prefix)\n \topts.accept_ref = 1;\n \topts.accept_pathspec = 0;\n \topts.switch_branch_doing_nothing_is_ok = 0;\n-\topts.only_merge_on_switching_branches = 1;\n \topts.implicit_detach = 0;\n \topts.can_switch_when_in_progress = 0;\n \topts.orphan_from_empty_tree = 1;\ndiff --git a/t/t1090-sparse-checkout-scope.sh b/t/t1090-sparse-checkout-scope.sh\nindex 40cc004326..090b7fc3d3 100755\n--- a/t/t1090-sparse-checkout-scope.sh\n+++ b/t/t1090-sparse-checkout-scope.sh\n@@ -31,6 +31,20 @@ test_expect_success 'perform sparse checkout of master' '\n \ttest_path_is_file c\n '\n \n+test_expect_success 'checkout -b checkout.optimizeNewBranch interaction' '\n+\tcp .git/info/sparse-checkout .git/info/sparse-checkout.bak &&\n+\ttest_when_finished \"\n+\t\tmv -f .git/info/sparse-checkout.bak .git/info/sparse-checkout\n+\t\tgit checkout master\n+\t\" &&\n+\techo \"/b\" >>.git/info/sparse-checkout &&\n+\ttest \"$(git ls-files -t b)\" = \"S b\" &&\n+\tgit -c checkout.optimizeNewBranch=true checkout -b fast &&\n+\ttest \"$(git ls-files -t b)\" = \"S b\" &&\n+\tgit checkout -b slow &&\n+\ttest \"$(git ls-files -t b)\" = \"H b\"\n+'\n+\n test_expect_success 'merge feature branch into sparse checkout of master' '\n \tgit merge feature &&\n \ttest_path_is_file a &&\n-- \ngitgitgadget\n\n"},{"id":"380904","messageId":"dd3b5120077dd0414c62b8deaeaaffa40bc47736.1566415112.git.gitgitgadget@gmail.com","threadId":"51704","inReplyTo":"pull.317.git.gitgitgadget@gmail.com","subject":"[PATCH 2/2] DEPRECATION: warn about 'git checkout -b'","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-08-21T19:18:34Z","receivedAt":"2019-08-21T19:18:42Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"From: Derrick Stolee <dstolee@microsoft.com>\n\nRecommend that users use 'git switch -c' instead.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n builtin/.checkout.c.swp | Bin 77824 -> 0 bytes\n builtin/checkout.c      |   9 ++++++++-\n 2 files changed, 8 insertions(+), 1 deletion(-)\n delete mode 100644 builtin/.checkout.c.swp\n\ndiff --git a/builtin/.checkout.c.swp b/builtin/.checkout.c.swp\ndeleted file mode 100644\nindex f6dad4abb02c265ee66b3f6f76d00d59b9b524a4..0000000000000000000000000000000000000000\nGIT binary patch\nliteral 0\nHcmV?d00001\n\nliteral 77824\n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%0D($Rh0-7;8R*3|qhA%&XMH\n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\nUl^dyn{$I$!_h?IFGP36X2Rz^&;s5{u\n\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex f894b9de1a..32c8edccaf 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -1133,6 +1133,7 @@ static int switch_branches(const struct checkout_opts *opts,\n \tvoid *path_to_free;\n \tstruct object_id rev;\n \tint flag, writeout_error = 0;\n+\tint do_merge = 1;\n \n \ttrace2_cmd_mode(\"branch\");\n \n@@ -1159,15 +1160,20 @@ static int switch_branches(const struct checkout_opts *opts,\n \t\tif (!new_branch_info->commit)\n \t\t\tdie(_(\"You are on a branch yet to be born\"));\n \t\tparse_commit_or_die(new_branch_info->commit);\n+\n+\t\tif (opts->only_merge_on_switching_branches)\n+\t\t\tdo_merge = 0;\n \t}\n \n \t/* optimize the \"checkout -b <new_branch> path */\n-\tif (skip_merge_working_tree(opts, &old_branch_info, new_branch_info)) {\n+\tif (!do_merge || skip_merge_working_tree(opts, &old_branch_info, new_branch_info)) {\n \t\tif (!checkout_optimize_new_branch && !opts->quiet) {\n \t\t\tif (read_cache_preload(NULL) < 0)\n \t\t\t\treturn error(_(\"index file corrupt\"));\n \t\t\tshow_local_changes(&new_branch_info->commit->object, &opts->diff_options);\n \t\t}\n+\t\tif (!opts->only_merge_on_switching_branches)\n+\t\t\twarning(_(\"'git checkout -b <new-branch>' is being deprecated in favor of 'git switch -c <new-branch>'. Please adjust your workflow accordingly.\"));\n \t} else {\n \t\tret = merge_working_tree(opts, &old_branch_info, new_branch_info, &writeout_error);\n \t\tif (ret) {\n@@ -1867,6 +1873,7 @@ int cmd_switch(int argc, const char **argv, const char *prefix)\n \topts.accept_ref = 1;\n \topts.accept_pathspec = 0;\n \topts.switch_branch_doing_nothing_is_ok = 0;\n+\topts.only_merge_on_switching_branches = 1;\n \topts.implicit_detach = 0;\n \topts.can_switch_when_in_progress = 0;\n \topts.orphan_from_empty_tree = 1;\n-- \ngitgitgadget\n"},{"id":"380911","messageId":"20190821221504.GA20404@szeder.dev","threadId":"51704","inReplyTo":"538420ffd575f1705e9fb764f9d86e5d4d7f25ad.1566415112.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 1/2] Revert \"switch: no worktree status unless real branch switch happens\"","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-08-21T22:15:04Z","receivedAt":"2019-08-21T22:15:11Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Aug 21, 2019 at 12:18:33PM -0700, Derrick Stolee via GitGitGadget wrote:\n> This reverts commit 65f099b3988198f0fdf3ef7a21dc01c556d21fff, which\n> removed logic for avoiding extra cost in \"git checkout -b\" in favor\n> of the new \"git switch -c\". This will cause a performance issue for\n> users in large repos.\n\nIt always makes me sad when I see a pull request, where all the\nrelevant information is only included in the PR, which will not be\npart of the history, but not in the commit messages...\n\n\n>  builtin/.checkout.c.swp           | Bin 0 -> 77824 bytes\n\n> diff --git a/builtin/.checkout.c.swp b/builtin/.checkout.c.swp\n> new file mode 100644\n> index 0000000000000000000000000000000000000000..f6dad4abb02c265ee66b3f6f76d00d59b9b524a4\n> GIT binary patch\n> literal 77824\n> zcmeIb37F(pRrf#a46<X03c_z1GgCe3>dYjdA(>2=r6*}KnI2}zLK2GV?&_Y(bXPT1\n> z)icux34uRC00rR{;pJ5jL_ico7FiV85d;D8CG1O3By6%HioE<k-*fK$ZB^AXi9sKq\n\nUh-oh.\n\n"},{"id":"380916","messageId":"20190821223158.GB20404@szeder.dev","threadId":"51704","inReplyTo":"pull.317.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"SZEDER Gábor","fromEmail":"szeder.dev@gmail.com","sentAt":"2019-08-21T22:31:59Z","receivedAt":"2019-08-21T22:32:04Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Wed, Aug 21, 2019 at 12:18:32PM -0700, Derrick Stolee via GitGitGadget wrote:\n> As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\n> checkout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo.\n\nDoes this slowdown only affect the Windows OS repo with VFS for Git,\nor other biggish repos without VFS for Git as well?\n\n> This series does the following:\n> \n>  1. Reverts the change that makes 'git checkout -b' slow again.\n>  2. Creates a warning that recommends users start using 'git switch -c'\n>     instead.\n\n'git help switch' says loudly and clearly that \"THIS COMMAND IS\nEXPERIMENTAL. THE BEHAVIOR MAY CHANGE.\"  It's too early to recommend\nit this aggressively, and to deprecate any parts of 'git checkout'.\n\n\n"},{"id":"380918","messageId":"CABPp-BHwhXVz7+GXdTdBQ-0POcr7Mh7A9ut_gw7syxE7rcXx+A@mail.gmail.com","threadId":"51704","inReplyTo":"dd3b5120077dd0414c62b8deaeaaffa40bc47736.1566415112.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 2/2] DEPRECATION: warn about 'git checkout -b'","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2019-08-22T03:03:10Z","receivedAt":"2019-08-22T03:03:25Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Wed, Aug 21, 2019 at 12:21 PM Derrick Stolee via GitGitGadget\n<gitgitgadget@gmail.com> wrote:\n>\n> From: Derrick Stolee <dstolee@microsoft.com>\n>\n> Recommend that users use 'git switch -c' instead.\n>\n> Signed-off-by: Derrick Stolee <dstolee@microsoft.com>\n> ---\n>  builtin/.checkout.c.swp | Bin 77824 -> 0 bytes\n>  builtin/checkout.c      |   9 ++++++++-\n>  2 files changed, 8 insertions(+), 1 deletion(-)\n>  delete mode 100644 builtin/.checkout.c.swp\n>\n> diff --git a/builtin/.checkout.c.swp b/builtin/.checkout.c.swp\n> deleted file mode 100644\n> index f6dad4abb02c265ee66b3f6f76d00d59b9b524a4..0000000000000000000000000000000000000000\n> GIT binary patch\n> literal 0\n> HcmV?d00001\n>\n> literal 77824\n> zcmeIb37F(pRrf#a46<X03c_z1GgCe3>dYjdA(>2=r6*}KnI2}zLK2GV?&_Y(bXPT1\n> z)icux34uRC00rR{;pJ5jL_ico7FiV85d;D8CG1O3By6%HioE<k-*fK$ZB^AXi9sKq\n> zXXeQ_-ThncdhWSryXQB(>5|Edle5P+t>NE&*Q|N(#aCVRsr$ZX%_F;O)^vOAg+@a+\n<snip>\n\nYou may want to add a local commit hook that prevents commiting vim\nswp files, or adding them to a global excludes file or something.  :-)\n"},{"id":"380920","messageId":"CABPp-BEN7TaMvtjoyqRa+_YxLDe8h8NYD9piu86-vWgwiKfbjQ@mail.gmail.com","threadId":"51704","inReplyTo":"pull.317.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2019-08-22T03:16:06Z","receivedAt":"2019-08-22T03:16:20Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"Hi,\n\nOn Wed, Aug 21, 2019 at 12:21 PM Derrick Stolee via GitGitGadget\n<gitgitgadget@gmail.com> wrote:\n>\n> As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\n> checkout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo. This\n> was an intentional change when writing the \"git switch\" builtin. Here is the\n> commit message for 65f099b (\"switch: no worktree status unless real branch\n> switch happens\" 2019-03-29):\n>\n> When we switch from one branch to another, it makes sense to show a\n> summary of local changes since there could be conflicts, or some files\n> left modified.... When switch is used solely for creating a new\n> branch (and \"switch\" to the same commit) or detaching, we don't really\n> need to show anything.\n>\n> \"git checkout\" does it anyway for historical reasons. But we can start\n> with a clean slate with switch and don't have to.\n>\n> This essentially reverts fa655d8411 (checkout: optimize \"git checkout\n> -b <new_branch>\" - 2018-08-16) and make it default for switch,\n> but also for -B and --detach. Users of big repos are encouraged to\n> move to switch.\n>\n> I was considering doing a full, long-term revert of this change to get the\n> performance back to normal, but I also saw this feedback on the list for\n> this patch:\n>\n> I like this last bit. The skip_merge_working_tree() function which\n> this removes was ugly, difficult to maintain, and difficult to get\n> just right (and easy to break -- even by changing parts of the system\n> which one might not expect to impact it).\n\nInstead of restoring this easy-to-break code, could we instead\nsimplify it and make it more robust?  As per the original commit\nmessage, the whole point of the patch is that when you have a huge\nindex, operations take a while.  But in the special case of \"git\ncheckout -b <new_branch>\", there's no need to even check the index.\nSo, we could:\n\n  * Check if the user is running \"git checkout -b <new_branch>\"\n  * If so, use the performance hack to skip touching the index at all.\n\nThis would be much better than what the patch currently does:\n\n  * Check if the user has specified -m, if so they clearly didn't just\nspecify \"git checkout -b <new_branch>\"\n  * Check if the user has specified -f, if so they clearly didn't just\nspecify \"git checkout -b <new_branch>\"\n  * Check if the user has specified --detach, if so they clearly\ndidn't just specify \"git checkout -b <new_branch>\"\n  * ...<lots of other similar steps>...\n  * If we got here, since we've checked all other cases (assuming\nother people who have touched checkout remembered to add the necessary\nchecks for each and every new flag), then by deduction the user must\nhave specified \"git checkout -b <new_branch>\", so...\n  * Use the performance hack to skip touching the index at all.\n"},{"id":"380921","messageId":"CABPp-BGuwjC494sC8BCAjURyg1KgnzkhKfgewLH0fven6Qjc3w@mail.gmail.com","threadId":"51704","inReplyTo":"20190821223158.GB20404@szeder.dev","subject":"Re: [PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2019-08-22T03:18:36Z","receivedAt":"2019-08-22T03:18:49Z","isPatch":true,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Wed, Aug 21, 2019 at 5:01 PM SZEDER Gábor <szeder.dev@gmail.com> wrote:\n>\n> On Wed, Aug 21, 2019 at 12:18:32PM -0700, Derrick Stolee via GitGitGadget wrote:\n> > As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\n> > checkout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo.\n>\n> Does this slowdown only affect the Windows OS repo with VFS for Git,\n> or other biggish repos without VFS for Git as well?\n\nIt will also affect other biggish repos without VFS for Git; see the\n\"does not seem to be GFVS-specific in any way\" paragraph of\nhttps://public-inbox.org/git/CABPp-BGir_5xyqEfwytDog0rZDydPHXjuqXCpNKk67dVPXjUjA@mail.gmail.com/\n"},{"id":"380929","messageId":"f1490c64-a81f-3269-d2d4-207d0a23cc25@gmail.com","threadId":"51704","inReplyTo":"20190821221504.GA20404@szeder.dev","subject":"Re: [PATCH 1/2] Revert \"switch: no worktree status unless real branch switch happens\"","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-08-22T13:41:20Z","receivedAt":"2019-08-22T13:41:24Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 8/21/2019 6:15 PM, SZEDER Gábor wrote:\n> On Wed, Aug 21, 2019 at 12:18:33PM -0700, Derrick Stolee via GitGitGadget wrote:\n>> This reverts commit 65f099b3988198f0fdf3ef7a21dc01c556d21fff, which\n>> removed logic for avoiding extra cost in \"git checkout -b\" in favor\n>> of the new \"git switch -c\". This will cause a performance issue for\n>> users in large repos.\n> \n> It always makes me sad when I see a pull request, where all the\n> relevant information is only included in the PR, which will not be\n> part of the history, but not in the commit messages...\n\nAn issue with the RFC quality at the moment. I'll do a better job\nif we decide to move this direction.\n \n>>  builtin/.checkout.c.swp           | Bin 0 -> 77824 bytes\n> \n>> diff --git a/builtin/.checkout.c.swp b/builtin/.checkout.c.swp\n>> new file mode 100644\n>> index 0000000000000000000000000000000000000000..f6dad4abb02c265ee66b3f6f76d00d59b9b524a4\n>> GIT binary patch\n>> literal 77824\n>> zcmeIb37F(pRrf#a46<X03c_z1GgCe3>dYjdA(>2=r6*}KnI2}zLK2GV?&_Y(bXPT1\n>> z)icux34uRC00rR{;pJ5jL_ico7FiV85d;D8CG1O3By6%HioE<k-*fK$ZB^AXi9sKq\n> \n> Uh-oh.\n\nWhoops! I thought I removed this in time to submit, but I guess I\ndid not.\n\n-Stolee\n\n"},{"id":"380930","messageId":"0c3bdcb6-d742-0182-b8b2-8f12a5b718b3@gmail.com","threadId":"51704","inReplyTo":"20190821223158.GB20404@szeder.dev","subject":"Re: [PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-08-22T13:43:23Z","receivedAt":"2019-08-22T13:43:27Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 8/21/2019 6:31 PM, SZEDER Gábor wrote:\n> On Wed, Aug 21, 2019 at 12:18:32PM -0700, Derrick Stolee via GitGitGadget wrote:\n>> As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\n>> checkout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo.\n> \n> Does this slowdown only affect the Windows OS repo with VFS for Git,\n> or other biggish repos without VFS for Git as well?\n> \n>> This series does the following:\n>>\n>>  1. Reverts the change that makes 'git checkout -b' slow again.\n>>  2. Creates a warning that recommends users start using 'git switch -c'\n>>     instead.\n> \n> 'git help switch' says loudly and clearly that \"THIS COMMAND IS\n> EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.\"  It's too early to recommend\n> it this aggressively, and to deprecate any parts of 'git checkout'.\n\nEven more reason why the performance boost should not have been\nremoved from 'git checkout -b' so quickly.\n\nThanks,\n-Stolee\n\n\n"},{"id":"380931","messageId":"37d35cf9-6387-2549-4b29-aadd40cb15ce@gmail.com","threadId":"51704","inReplyTo":"CABPp-BEN7TaMvtjoyqRa+_YxLDe8h8NYD9piu86-vWgwiKfbjQ@mail.gmail.com","subject":"Re: [PATCH 0/2] [RFC] Revert/delay performance regression in 'git checkout -b'","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2019-08-22T13:45:03Z","receivedAt":"2019-08-22T13:45:07Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 8/21/2019 11:16 PM, Elijah Newren wrote:\n> Hi,\n> \n> On Wed, Aug 21, 2019 at 12:21 PM Derrick Stolee via GitGitGadget\n> <gitgitgadget@gmail.com> wrote:\n>>\n>> As we were integrating Git 2.23.0 into VFS for Git, we discovered that \"git\n>> checkout -b new-branch\" went from 0.3s to 10+s on the Windows OS repo. This\n>> was an intentional change when writing the \"git switch\" builtin. Here is the\n>> commit message for 65f099b (\"switch: no worktree status unless real branch\n>> switch happens\" 2019-03-29):\n>>\n>> When we switch from one branch to another, it makes sense to show a\n>> summary of local changes since there could be conflicts, or some files\n>> left modified.... When switch is used solely for creating a new\n>> branch (and \"switch\" to the same commit) or detaching, we don't really\n>> need to show anything.\n>>\n>> \"git checkout\" does it anyway for historical reasons. But we can start\n>> with a clean slate with switch and don't have to.\n>>\n>> This essentially reverts fa655d8411 (checkout: optimize \"git checkout\n>> -b <new_branch>\" - 2018-08-16) and make it default for switch,\n>> but also for -B and --detach. Users of big repos are encouraged to\n>> move to switch.\n>>\n>> I was considering doing a full, long-term revert of this change to get the\n>> performance back to normal, but I also saw this feedback on the list for\n>> this patch:\n>>\n>> I like this last bit. The skip_merge_working_tree() function which\n>> this removes was ugly, difficult to maintain, and difficult to get\n>> just right (and easy to break -- even by changing parts of the system\n>> which one might not expect to impact it).\n> \n> Instead of restoring this easy-to-break code, could we instead\n> simplify it and make it more robust?  As per the original commit\n> message, the whole point of the patch is that when you have a huge\n> index, operations take a while.  But in the special case of \"git\n> checkout -b <new_branch>\", there's no need to even check the index.\n> So, we could:\n> \n>   * Check if the user is running \"git checkout -b <new_branch>\"\n>   * If so, use the performance hack to skip touching the index at all.\n> \n> This would be much better than what the patch currently does:\n> \n>   * Check if the user has specified -m, if so they clearly didn't just\n> specify \"git checkout -b <new_branch>\"\n>   * Check if the user has specified -f, if so they clearly didn't just\n> specify \"git checkout -b <new_branch>\"\n>   * Check if the user has specified --detach, if so they clearly\n> didn't just specify \"git checkout -b <new_branch>\"\n>   * ...<lots of other similar steps>...\n>   * If we got here, since we've checked all other cases (assuming\n> other people who have touched checkout remembered to add the necessary\n> checks for each and every new flag), then by deduction the user must\n> have specified \"git checkout -b <new_branch>\", so...\n>   * Use the performance hack to skip touching the index at all.\n\nI can look into a simpler implementation of this direction. I'm\ngetting the feeling that this immediate recommendation of \"git switch -c\"\nis too hasty, so the best thing to do is to create a simpler way\nto detect \"git checkout -b\" and use the fast method.\n\nThanks,\n-Stolee\n"}]}