seanbreckenridge / HPI

Human Programming Interface - a way to unify, access and interact with all of my personal data [my modules]
https://beepb00p.xyz/hpi.html
MIT License
69 stars 6 forks source link

How to update HPI and HPI-sean #48

Open krillin666 opened 1 year ago

krillin666 commented 1 year ago

Hi !

I've had some headaches sometimes updating both yours and @karlicoss HPI. Usually I delete the previous cloned HPI repo folders and then do the installation process outline in your README. But since I've made modifications to some modules, like the signal.py which wasn't working, I then have to manually change the python module files again.

Is there any way I can only update both HPI and HPI-sean and leave user modifications intact ? Sorry, I'm a noob at git

Thanks!

karlicoss commented 1 year ago

At the moment can only leave a quick reply, but I think there are a few options (roughly from easiest/laziest to hardest but cleanest)

  1. just keep your own branch locally (e.g. git checkout - b krillin666). Then now and then run git fetch origin and git merge origin/master. You might need to resolve merge conflicts now and then, depending on how big are your changes. The downside is that your changes are a bit buried behind merge commits, so it might be hard to tell what are they actually (unless you diff files directly)
  2. same as 1, but use git rebase -- not sure what are the best tutorials. The upside is that it would always be very clear what are your changes, and they will always be 'on top' of upstream HPI. The downside is that it has some learning curve, but it's quite a useful skill :)
  3. submit a merge request -- if your changes are useful, then maybe other people could benefit too? :) Even if you're not confident in your python skills or not sure about some patterns used in HPI -- we'll be happy to help, or at least use it as an example and reimplement. Or maybe we'll suggest how to achieve the same even without code modifications :)
  4. use 'personal overlay' -- you can find some references in docs, or in Zulip discussions, but might be too tricky depending on your code modifications (hence feel free to do 3 and submit a merge request to show what you want to change for yourself!)