jesseduffield.lazygit/pkg/commands
Stefan Haller 76e39af76f Allow multiple fetch commands (or fetch and pull) to run concurrently
Git has a bug [1] whereby running multiple fetch commands at the same time
causes all of them to append their information to the .git/FETCH_HEAD file,
causing the next git pull that wants to use the information to become confused,
and show an error like "Cannot rebase onto multiple branches". This error would
occur when pressing "f" and "p" in quick succession in the files panel, but also
when pressing "p" while a background fetch happens to be running. One likely
situation for this is pressing "p" right after startup.

Since lazygit never uses the information written to .git/FETCH_HEAD, it's best
to avoid writing to it, which fixes the scenarios described above.

However, it doesn't fix the problem of repeatedly pressing "f" quickly on the
checked-out branch; since we call "git pull" in that case, the above fix doesn't
help there. We'll address this separately in another PR.

[1] See https://public-inbox.org/git/xmqqy1daffk8.fsf@gitster.g/ for more
information.
2024-01-10 09:18:38 +01:00
..
git_commands Allow multiple fetch commands (or fetch and pull) to run concurrently 2024-01-10 09:18:38 +01:00
git_config Remove secureexec package 2023-07-30 19:59:51 +10:00
hosting_service Remove redundant len check 2023-10-04 21:03:26 +08:00
models feat: add age on stash lines 2023-12-27 11:21:49 +01:00
oscommands Appease linter 2023-08-02 08:32:57 +10:00
patch Stop cycling hunks when reaching the end 2023-08-15 11:40:40 +02:00
testdata Support opening lazygit in a submodule 2019-05-12 17:59:49 +10:00
types/enums more refactoring 2022-01-04 09:07:15 +11:00
git.go Add command to find base commit for creating a fixup 2024-01-10 09:11:40 +01:00
git_cmd_obj_builder.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
git_cmd_obj_runner.go Retry on index.lock error 2023-07-10 19:13:18 +10:00
git_test.go Write unit tests with the help of afero 2023-07-30 18:35:36 +10:00