This was one of those days where you think you know what’s going on…and then someone speaks up and all of a sudden you’re COMPLETELY at sea.
After my triumphant completion of my user story, I pushed the code to GitHub and submitted a pull request to my coworker, who is doing my code review. Life was GOOD, until he explained at our daily checkpoint that he couldn’t merge my code due to “conflicts.”
Heh? The last I’d checked, everything was fine with my code, and I was able to do a pull request. Silly me—I’d confused doing a pull request with someone actually being able to merge my code with the release branch. After the meeting, and after having given blood this morning (the vampires were merciful…I’m only a little bit dizzy and woozy this time) I checked my pull request in GitHub again. And yes…this is another instance of “Pam needs to learn to read.” Underneath that nice green “Requested” checkmark I’d been so excited to see, there was a big ugly message informing me that there were conflicts. I delved into this and realized that when I’d pushed my request, I hadn’t done a refresh from the release branch. In the meantime, between when I’d checked out the code and done my push, my other coworker had pushed HIS changes to two of the same jobs I’d modified. Thankfully, I’d saved out my changes, so I refreshed my branch with the release branch, bringing in his changes. I modified the code with my changes, retested the JUnit tests again, and then pushed the two modified files out to my branch on GitHub. I’m not sure if I’m supposed to do another pull request or what, so I’m meeting with my coworker tomorrow morning at the crack of down (yes, he’s the one in India) to get some assistance in the matter.
I hope to SOMEDAY understand GitHub…
On a more positive note, I am working on another user story. I’m very proud of myself, as initially this looked like a completely impossible change that I’d never figure out. Upon delving into the code, though, I quickly figured out that I only needed to change two classes. One change uses a series of “else if” statements, which I wasn’t quite sure of how to code—I know how to do this in JavaScript and Java, but I wasn’t sure of Gosu, and I certainly wasn’t going to ask anyone. Asking how to code an “If-Then” statement or its bastard cousin the “If-Then-Else” or the “Else-Ifs” is probably grounds for someone taking away your company-issued computer, and possibly your lunch money. All kidding aside, I was too embarrassed to ask, so I ended up scouring the code until I found a similar example and copied that format. The rest of it I relied on the Guidewire Studio hints to push me in the right direction. It really is amazing how well the application helps you out. My next task is to try to set up my GUnit tests for this.
But first I must go take some iron and go to bed…