mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-10 15:46:26 -04:00
Unlike moving a patch to the index, applying or reverting a patch didn't
auto-stash, which means that applying a patch when there's a modified (but
unstaged) file in the working tree would error out with the message "error:
file1: does not match index", regardless of whether those modifications conflict
with the patch or not.
To fix this, we *could* add auto-stashing like we do for the "move patch to
index" command. However, in this case we rather simply stage the affected files
(after asking for confirmation). This has a few advantages:
- it only changes the staging state of those files that are contained in the
patch (whereas auto-stashing always changes all files to unstaged)
- it doesn't unnecessarily show a confirmation if none of the modified files are
affected by the patch
- if the patch conflicts with the modified files, the conflicts were "backwards"
("ours" was the patch, "theirs" the modified file); it is more logical if "ours"
is the current state of the file, and "theirs" is the patch.
It's a little unfortunate that the behavior isn't exactly the same as for "move
patch to index", but for that one we do need the auto-stash because of the
rebase that runs behind the scenes.
|
||
|---|---|---|
| .. | ||
| apply.go | ||
| apply_in_reverse.go | ||
| apply_in_reverse_with_conflict.go | ||
| apply_with_modified_file_conflict.go | ||
| apply_with_modified_file_no_conflict.go | ||
| edit_line_in_patch_building_panel.go | ||
| move_range_to_index.go | ||
| move_to_earlier_commit.go | ||
| move_to_earlier_commit_from_added_file.go | ||
| move_to_earlier_commit_no_keep_empty.go | ||
| move_to_index.go | ||
| move_to_index_from_added_file_with_conflict.go | ||
| move_to_index_part_of_adjacent_added_lines.go | ||
| move_to_index_partial.go | ||
| move_to_index_with_conflict.go | ||
| move_to_index_with_modified_file.go | ||
| move_to_index_works_even_if_noprefix_is_set.go | ||
| move_to_later_commit.go | ||
| move_to_later_commit_partial_hunk.go | ||
| move_to_new_commit.go | ||
| move_to_new_commit_before.go | ||
| move_to_new_commit_before_no_keep_empty.go | ||
| move_to_new_commit_from_added_file.go | ||
| move_to_new_commit_from_deleted_file.go | ||
| move_to_new_commit_in_last_commit_of_stacked_branch.go | ||
| move_to_new_commit_partial_hunk.go | ||
| remove_from_commit.go | ||
| remove_parts_of_added_file.go | ||
| reset_with_escape.go | ||
| select_all_files.go | ||
| specific_selection.go | ||
| start_new_patch.go | ||
| toggle_range.go | ||