Hi programmers,

I work from two computers: a desktop and laptop. I often interrupt my work on one computer and continue on the other, where I don’t have access to uncommitted progress on the first computer. Frustrating!

Potential solution: using git to auto save progress.

I’m posting this to get feedback. Maybe I’m missing something and this is over complicated?

Here is how it could work:

Creating and managing the separate branch

Alias git commands (such as git checkout), such that I am always on a branch called “[branch]-autosave” where [branch] is the branch I intend to be on, and the autosave branch always branches from it. If the branch doesn’t exist, it is always created.

handling commits

Whenever I commit, the auto save branch would be squashed and merged with the underlying branch.

autosave functionality

I use neovim as my editor, but this could work for other editors.

I will write an editor hook that will always pull the latest from the autosave branch before opening a file.

Another hook will always commit and push to origin upon the file being saved from the editor.

This way, when I get on any of my devices, it will sync the changes pushed from the other device automatically.

Please share your thoughts.

  • matcha_addict@lemy.lolOP
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    30 days ago

    That doesn’t solve the problem of forgetting :(

    I could train myself to get in the habit, but maybe auto saving is easier, no?

    • zlatko@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      28 days ago

      I wonder if JJ anonymous branches would be something that solves this. I’ve only read about it, have not used JJ yet.