Resolving Merge Conflicts

Hey Stefan

I have a question regarding resolving merge conflicts in PyHamilton. With .py files this is easy enough to handle, as we can simply open the files and make the appropriate modifications before staging and committing them. But I am less certain about merge conflicts in the Venus method files. I often encounter merge conflicts relating to STAR_OEM_noFan and STAR_OEM_Test, a problem made worse by the fact that each of them often come as a collection of e.g. .med, .hsl, .sub, .res, etc.

How do I identify which parts of the files are conflicting so that I can make appropriate changes?

1 Like

Another question I have is regarding the fetching of JSON information in the Venus method. I am attempting to mimic the way you do it, but I keep creating variables without having initialized them first, and Venus keeps complaining as in the image below. How do I get around this, as it seems you haven’t had to initialize anything!

1 Like

Hi!

I will respond to your merge conflicts question soon. I think I know the answer but don’t want to give any suggestions that I’m not 100% sure about. Part of the problem is that there are binary files e.g. .med files that are not in a text format. I think Git makes you pick one or the other, rather than resolving line by line.

https://lostechies.com/joshuaflanagan/2010/01/29/how-to-resolve-a-binary-file-conflict-with-git/

That might be informative, good luck if you want to try on your own! If you get a solution that works I’ll pull that.

This popup flag is fine, it’s hardly even a complaint but more of a notice. I get this all the time. It just means that you are referencing a variable for the first time, which should be the case when you are adding new API functions. You can just hit yes.

1 Like

Genuinely, this would be huge if you’ve figured out a way! But yes, as the .med is a binary file it can’t be merged/introspected, but if there was a converter or something…

1 Like

Hi, I also have some modifications that would be nice to add (384 head commands) but am running into some issues with all the binary files associated with the toolkit submethod library. What would be the best way to add them to the repo ?

Also noticed that some included submethods don’t set some input variables (aspirateMode in 1mL aspirate for example), is there a way to PR my changes and dealing with the binary files?

1 Like

Yeah merging these binary files is tricky, I unfortunately expect the best way to do it might be copying and pasting manually - I’m not sure if any automated change tracking system like Git would be much help.

If you have your own fork, I can check it out and see what it will take to get your code into the main branch.

Ah that’s what I was expecting, no problem! I haven’t forked the project yet, I’ll get around to that and let you know.

Thanks for the quick reply :slight_smile:

1 Like

Hi Stefan, you can check out my changes here! Added the 384 head commands and also some labware + fixes for lids in the universal method.

1 Like