Thursday, September 12, 2024

Work Life: My git inexperience wasted so much of my time (Understanding EOL)

I was troubleshooting an issue where our developers are not consistent with their formats. For this case, their is an inconsistency to the usage of CRLF or LF. We have developers on both Windows and Mac for a solution built for Windows.

These developers are probably good examples one of the difference between a developer and a software engineer... in my opinion. In that, they just build whatever and however to do what they have been tasked to do. Create another connection string to the core database that has been used for 20+ years? Sure because I didn't know where the original connection string was. Drop an entire new JS library framework for an update to a page title? Sure because it looks cool. Add a parameter to an obviously generic function like ToString(string WhyDoesThisEvenNeedAnotherParameter, string HowDoesASecondParameterEvenMakeSense, string InCaseThatStillMadeSenseHereIsAnother) then expect it to not break everything else? Duh, I wasn't taked to make sure it passed regression test. (Of course, we don't do regression test... suddenly app support is up in flames because everything is burning except for that one new feature.) Yes if you were wondering how it even get that far, that is how "lean" we are because leadership needs to make that extra $20 buy cutting half the developers.

Sorry, story got away from me.

So, I was syncing files and realized a file has historically been CRLF for EOL. Suddenly, I see a wall of red because the file was suddenly LF. At first, I blamed the developer. Then I realized his branch was also CRLF. I tried to play around maybe it was GitHub or maybe Visual Studio. I had to go through backups to see if this happened earlier. This was not happening on all the files.

Then I noticed there was a period of time the git attributes was set to text=auto. Or rather, I was looking up the issue online and found someone reference this. I probably ignored this a couple times as it did not seem relevant. Clearly, I didn't know what this did but did not seem intuitive to me. Eventually I ran out of other options and just looked it up and found it was causing my issue. Somewhere in the history, the text=auto was removed...

So, I spent this whole time... I guess... understanding how different developers develop and what a pain it is to work with people who just don't care about their work. At least now I know what to look for.

No comments:

Post a Comment