Skip to content

Do not run stash operations when not necessary #669

@deanrad

Description

@deanrad

Issues #135 and #504 indicate that the stashing process, while convenient for a certain use case, introduces issues and risk of loss of files, under edge cases.

Editor flicker (VSCode on Mac, at least), the possibility that an abort (via ^C) leaves the working tree worse than before - these are issues that users need not be exposed to if they have a workflow where the hooks can and should be run on the entire working tree, because they have no unstaged changes while committing.

We discussed the desirability of this on #135 and I'm opening this issue to attach a PR to. Will need some help! But I think there will be a benefit to users who enjoy Overcommit, but who don't regularly make commits with only some of the changes staged..

I can add that my workflow, involves using stashes for the sake of applying console.log and other non-commit-worthy diffs, and manual reversion. I don't try to write the commit message and run hooks and commit until my tools very clearly show me what I'm committing and not. So I've never been in need of stashing. But perhaps by excluding use cases like mine from stashing, Overcommit can provide the best of both worlds.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions