Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "master fucking branch"
-
When you stare into git, git stares back.
It's fucking infinite.
Me 2 years ago:
"uh was it git fetch or git pull?"
Me 1 year ago:
"Look, I printed these 5 git commands on a laptop sticker, this is all I need for my workflow! branch, pull, commit, merge, push! Git is easy!"
Me now:
"Hold my beer, I'll just do git format-patch -k --stdout HEAD..feature -- script.js | git am -3 -k to steal that file from your branch, then git rebase master && git rebase -i HEAD~$(git rev-list --count master..HEAD) to clean up the commit messages, and a git branch --merged | grep -v "\*" | xargs -n 1 git branch -d to clean up the branches, oh lets see how many words you've added with git diff --word-diff=porcelain | grep -e '^+[^+]' | wc -w, hmm maybe I should alias some of this stuff..."
Do you have any git tricks/favorites which you use so often that you've aliased them?50 -
So I was code reviewing this guy's code before merging into the master branch.... and then I FOUND THIS FUCKING CODE, WHAT THE FUCK!!!!!!!!!!!!!!!! What the fuck is this ???67
-
Thank you dear mr. boss for fucking up our master branch by adding local changes to a 2 months outdated master branch (250 FUCKING COMMITS BEHIND), pull the remote and then just push without resolving any conflicts!!!1!!!
But thank you so much for sending me an email at 10pm asking me to resolve the conflicts.
It is 3 in the morning and it took 1 hour to get it clean.
Sometimes I want to break some necks...9 -
I stare through the blueish black backgrounds and blurry colorful syntax into a somewhat familiar office within a mirrored world. That damned reflective glass layer covering these meaningless pixels is certainly not on my side.
The rushing sound of transactions flowing through cables is silenced today. Some blood cloth in the invoicing system is zeroing out everything after the currency mark.
While sighing I spin a one-and-a-half pirouette on my desk chair — even when desperate, you shouldn't give up on style — I take three steps away from my screen and try to harmonize my thoughts.
So much noise, everywhere... Noise from within?
I have been stuck at the apogee of an inhale for a while now. Locked into some masochistic constriction, self-punishment for the blindness which stings my ego.
Just fucking take a deep breath you asshole...
I freeze in place, and fall backwards.
Patterns on the creamy drywall rapidly vibrate and synchronize on vivid rhythms of respiration and resonating basslines. Deep indigo rainbows ripple through tiny veins, in-between chalky grains, raining as fine magenta dust through the ceiling frames.
My bare feet slide over soft oscillating concrete, fine flows of unsievable sand surrounded by toes, toes surrounded by streaming variables veiled in obscure vile abstractions.
A jadegreen field of vectored compressions resiliently rumbles and bounces through the clearances and corners of the vibrant concrete office cave, whispering in tongues. I try to voice my woes in little blips and bleeps but I seem to be missing an asymmetric key to their shrouded sequenced speech.
Suddenly, a wild turbulence breaks up all signals.
Joanna floats by in her tipsy effervescent cloud of disordered black hair and alcohol perfume, one hand grasping grapes, her other waving at me.
With every finger she moves a thousand tensors propagating paradoxically flawed but perfect pieces of an intricate surreal picture, sketching whole constellations of possible paths throughout the leafs of the giant Ficus next to her desk.
She stops dead in her tracks, and asks somewhat hypocritically: "Are you high?"
I can not discern the meaning of her words, and respond stoically.
"Joanna! Check out those branches!".
"Pun intended?", she giggles.
I'm focused on her grapeless hand, her fingers stretching to reach the lush little tree.
On touch, the plant shivers, grappled in the tight net of the puppet master. She pulls her strings, applying measured weights, all nodes normalize, and Joanna speaks in an oddly soft tone:
"Isn't it beautiful, how so many models emulate nature"
Her cheek buried in foliage she babbles on about unbalanced search trees and machine learning models... but from the tips of her fingers tables and indexes flow into the plant. Users, payments, tariffs, invoices and taxes crawl over the bark, joining at thicker branches, joining at the stem....
Joining. JOINING. A JOIN.
"IF THERE'S NO FUCKING TAX MULTIPLIER IN THIS LEFT JOIN, EVERYTHING COALESCES TO ZERO" I shout at a perplexed Joanna who squeezes grape juice over her desk. I hop on the beat to my keyboard. She looks puzzled, hugs her Ficus tightly, and reaches for the whiskey bottle behind her monitor.
Attracted by my exclamation, Tom from finance swings open the door, while I push my branch.
I look at Joanna still half hiding between the leaves, and I laugh at her: "Branches! Oh, lame, I finally got it!"
Tom's heavy voice interrupts me: "Does this mean... does this mean that the invoicing bug is resolved?".
I smile at Tom with his tailored suit and waxed hair. "The money is flowing once more. All debts are being settled."
He releases his breath in relief, which he seems to have held since that morning as well.
Joanna adds: "Although I think he is forever indebted to my Ficus".
I nod.14 -
[WARNING] THIS RANT IS NOT FOR HULKS OR SHE-HULKS
Here we fucking go again, currently, the time is 1:09 am in Malaysia, while I received a Pull request, so as a senior software engineer it is my duty to review the code before approving to merge develop branch. And this mother fucker decided to do this right after our CTO warned him about his coding style. Refer to https://devrant.com/rants/4699002/... for free cancer.
Our entire team is not happy working with this mother fucker, he is too arrogant.
Btw if he wants to insult me using codes, at least have the decency to draw some UML diagram , write proper documentation and write a proper logic, isn't better?62 -
Usually I do love my colleagues, but lately....
FOR FUCKS SAKE I AM NOT YOUR WALKING HUMAN GOOGLE SEARCH ENGINE SHITOVERFLOW CHATGEPETTO INSTANCE! READ YOUR FUCKING LOGS, DO A FUCKING INFORMATION LOOKUP, READ THE FUCKING MANUAL.
OH YOU HAVE A QUESTION YOU SAY? PLEASE FOR FUCK SAKE ELABORATE WITH SOMETHING MORE THEN 'Please help me with the pipeline"' WHILE YOUR ACTUAL PROBLEM IS A LACK OF KNOWLEDGE AND UNDERSTANDING OF GIT, LINUX OPERATING SYSTEMS AND AUTOMATION.
OH YOUR BRANCH IS, WHAT, 3 MONTHS BEHIND MASTER? NEVER HEARD OF A FUCKING REBASE? WHATS THAT YOU SAY??? YOU DONT KNOW WHEN TO SKIP A COMMIT??? ITS YOUR FUCKING CODEBASE! READ THE FUCKING DOCUMENTATION !!!
WHATS THAT? YOU WORK IN VSCODE AND YOU DO T K OW HOW? AGAIN READ THE FUCKING DOCUMENTATION !
Self.end(rant)11 -
Fvcking project manager wants me to commit my partials code to the master branch just to let our employers know that we did something today! That's why you are there to relay our predicaments to them, you piece of shit!
Now he is insisting it the whole team. Fvck! Are you nuts? Do you really understand what version control really means? Why master branch, why can't we just create fucking different branch and push it there if they want reference! Commits are supposed to be a fix code or update not a broken and unfinished piece of codes! I will fvcking cross my finger after messing up the master branch. Now it looks so disgusting to me.9 -
We lost a frontend developer who used dozens of hipster libraries without any communications with other devs and replaced him with this one that has just pushed all the node_modules to master branch with all of her local config files. God. Fucking. Dammit.7
-
My team lead force pushed to master. This guys always complains when we merge PRs with wip or fixup commits and he just did it himself and tried to cover it up doing a rebase on the master branch.
Good job fucking up everyone. 👍5 -
So I got laid off because they told me I wasn't communicating enough.
For what I encountered
Reference:
https://devrant.com/rants/4979669/...
https://devrant.com/rants/4675369/...
https://devrant.com/rants/4956866/...
https://devrant.com/rants/4691189/...
https://devrant.com/rants/4699002/...
https://devrant.com/rants/4717638/...
For how I feel About after got laid off:
https://johnmelodyme.wordpress.com/...20 -
Assigned to a new project team..
Using git, in a creative way. So.. "master" is "dev" branch, usually. Everyone can push their branch to dev server .. so it's "dynamic for us". Production branch is whatever, as long as the branch has the release version. Sometimes, the release comes from "master".. that mean "dev" in normal geek..
That's just Git. The source code is a saturated spagetti of Entity framework and Caliburn. It is littered with antipatterns, especially basebean. Holy Christmas and Easter that baseclass do a lot of stuff that has no place as a base class ..
Fucking frameworks, I'm gonna start to evangelize frameworks as the no1 antipattern.
MS SQL as the main DB, but is dumped to json FILES through a scheduled task to increase read performance on web.
There is a soap endpoint to expose the json files, fml..
I am assuming I was placed here to improve stuff, I have never in my life seen anything like this before.
There is a special place in hell for this repository7 -
Changing default branch name from "master" to "main" is just one more entry in the already very long list of "things sane people must do because some retarded american woke up one day and decided to be offended".
I am so fucking tired of the entire world having to accommodate to the first-world-problems of some spoiled brat just because they happen to be american.38 -
Renaming your master branch to "main" is racist. When Git was created, there were no connotations related to slavery. Also, the word "master" has many meanings, and in the context of computer technology, "master" has nothing to do with slavery.
When I tell that to people, some of them say "but wait, you're white, so you by definition can't understand feelings of black people".
Feelings come from one's mind. Proposing the situation where I can't understand something because "only black people understand it" implies white and black people being different in their cognitive abilities, and that's fucking racism right there.
Ability to understand cultural and historical phenomena does not depend on race. Anyone who says that without a biological proof is a racist.
I find it ironic how it's microsoft who almost enforced this on GitHub while themselves supporting literal concentration camps: https://github.com/drop-ice56 -
I fucking hate the fact that this group I'm side-hustling for gives maintainer access to every shitty dev they have.
Dev pushes four commits directly to master branch. Each time, pipeline fails on unit tests.
Shithead ignores failed tests and manually deploys to stage anyway.
Fuckface then declares (in group chat) that her "fix" works on stage and proceeds to merge to RC branch without updating the fucking unit test.
Pipeline fails (of course) and remains unfixed for the last EIGHT FUCKING HOURS.
This is what I woke up to at 6-fucking-AM in the god-damn morning.
*insert multiple expletives and insinuation of mother's excessive girth by comparing waistline to equator1 -
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
1st motherfucker.
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4 -
Why the hell do you keep commit+push your shit to the master branch! We have develop, feature and hotfix, you *************!
Just because you want to test something in prd environment, you don't mess with the master to build the production image. And you do not even rebase fucking develop branch and keep it out of sync you POS!
Excuse my language, thank you.10 -
Most of the work we do is committed into various branches. Everything is merged into the master branch.
Colleague was on vacation. I was working on a bug that was fixed by him some time ago. All I had to do was find the commit and merge it into the relevant branch. I didn't know which branch to search so I just looked into master. Search all commits on master made by colleague.
All I see is:
"Merged into master"
"Merged into master"
...
"Merged into master"
MERGED FUCKING WHAT INTO MASTER?4 -
What the fuck gitflow
I feel like I must be doing this wrong
Everybody pushes to their own branch and then the team lead approves merge requests into the master
But everybody else sucks and nobody pushes to their branch even regularly let alone into master
So basically everyone’s working on their own version of the site it’s just a big fucking mess and I’m frustrated7 -
I used to work with a teacher in my last uni year.
The job consisted on doing a kinda-like management system for a business. It all began kinda "right", we agreed upon a price for 6 months of my work (a very lowball price, but it was just right because I was learning stuff that we were going to be using).
Fast-forward first six months, all I do is code frontend, mockup screens and whatsoever because this "business" hadn't give us proper requirements (Yeah, I told him to ask for them, but nothing came through).
So I was like well, I'll keep working in this project because I really want to finish it. Sidenote: I was doing all the "hard work", he didn't know how to code, and he calls himself a teacher... wtf).
Months go by, and a year goes round, in between these months, he spoke to me, that he wanted me that we kept working together, that we could renegotiate the payment (I asked him to give me my payment once the job was done). I agreed, but my uni residence period was coming along and I got an oportunity to go abroad to another country.
So there I was, in the need of money to buy my passport, plane tickets and other stuff, so I asked him for the payment.
Needs to be noted, that the last 6 months work was me doing tutorials on how to fucking use Linux, how to use PostgreSQL, how to fucking use CSS! He told me he would pay me extra for it.
The day came, and I received my payment... the exact amount we talked a year ago, I was like "Seriously dude?", but well, I needed the money and I didn't have time to argue, so we talked a little bit about me helping him and I told him "As long as I have time, I'll help, but remember that I'm going abroad to work for a small startup, so maybe I'll be up to my head with work" he agreed, we nod and then I left.
First week abroad came in and I was doing a shit-ton of stuff, then his first message comes around "Hey, I need more tutorials! ASAP! Before 6PM"
What.The.Fuck. I told you, son of a bitch, that I wouldn't be able to do them until weekend.. and it was monday!
So I ignored it, weeks went throught and my "angry mood" was fading away so I said to myself "Well, it's time to pick up that stuff again", I open Slack and I find a week old message with a document attached, it was a "letter", I just skimmed by it and read some keywords "deceptioned... failed me.."
Sure dude? Was I the failure? Becase, as far as I remember, you were the fucktard that didn't know how to fucking install a VM!
A week went by, and then randomly a friend of mine talks to me through Facebook:
E: Hey, how are you?
M: I'm fine, what's up?
E: What did you do to TEACHER?
M: Nothing, <explains all situation>
E: Well, It seems weird, that's why I wanted to talk with you, I believe in you, because I know you well, but TEACHER it's thrashing shit about you with all his students on all of his classes
M: Seriously?
E: Yeah, he's saying that you are a failure, irresponsible, that you scammed him
That moment, I for sure, lost all moral responsibility with him and thought to myself "He can go fuck himself with my master branch on his ass"
So when I got back to my country, I had to go around in school, avoiding him, not because I was ashamed nor anything by the way, just because I knew that If i ever had the disgrace to meet him face to face, my fists would be deep into his nose before he could say "Hey".
Moral of the story:
If you overheard that a teacher has a bad rep, not by one, nor two, but more than +100 people, maybe it's true.
Good thing my friends and others know me well and I didn't have repercutions on my social status, I'm just the guy that "fucked up TEACHER because I had the right and way to do it"4 -
I think I'm getting crazy...
Yesterday evening I finally thought it was a great idea to set up Gitlab CI to let the server build (ng cli) and deploy (via FTP) an Angular5 SPA on commits on the master branch.
BUT...
The npm package "vinyl-ftp" thinks it is pretty fucking funny to just randomly stop in the middle of uploading files or just upload some files with 0 bytes in size.
WHAT THE HELL?
After some hate infested trial and error, it seems that the more parallel channels I set up, the more chance I get that all files are correctly uploaded, but never all.
If anybody here happens to be some kind of mighty byte bender and knows what to do, I'd be thankful. But I will probably try out a different client in the docker image...1 -
Every fucking day I'm asked some fucking stupid question that could have been easily figured if this fucker took 2 mins to look.
"Hey why isn't the issue closed with your commit message? Is it because the CI fail?"
No you dipshit. It's because it hasn't been merged into the master branch. And no the CI didn't fail. If you took 20 seconds to actually look into the pull request you'll see it passed.
God why? -
I work on a team project for a test and maintenance course in University. We agreed as a team to adopt a git infrastructure that would prioritize the stability of the master branch at all cost by only updating commits up to the next stable point and tagging every single release. We have a long polling development branch to prepare our releases and we create feature branches for the tickets we need to resolve. I even wrote documentation to make sure that we don't forget and protected the master branch on gitlab from direct modifications.
Can someone fucking tell me how one of my teammates managed to fuck over all of this and work on an unfinished feature straight on master?
N.b. I know that he probably edited straight from gitlab's online text editor because they have a big where they don't restrict modifications on protected branches.1 -
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
Why fucking my coworker push not compilable code on master branch??
Ok we are developing it, no yet release but I can't compile it for my tests.4 -
> push code on staging and promote on production works fine
>.come home
> pull from master and code doesn't work locally
> pull from the feature branch, same issue
> fml
I'd be so fucking disappointed in myself if I hadn't pushed it and merged it. -
So one of my colleague does not put fucking merge and commit rules in his piece of shit project, and somehow I gotta help maintaining it. I wish I was admin to put some order in this bullshit.
Some other dumb fuck decided to copy paste a slack thread containing code and commit it in the master branch because he does not understand what the fuck he is doing. Prod is now going to shit lol.
This legit just gave me cancer. -
TL;DR: idiot 'team leader' does mindless merge to master. Precious time wasted in a high pressure deadline environment.
So, i work currently at one of Belgiums largest consulting company's at brussels airport, we are moving their analytics platform to the cloud.
We use puppet to manage the systems.
When i started i noticed immediately that their 'development workflow' is hardly to be named as such, because they simply change stuff directly on server , manual 'temporary' fixes everywhere, hardcoded stuff, non validated code... Basically the way one would develop in their garage, not in a consulting company as this one. But that is just the beginning.
A month ago i did a major effort to equalize all the discrepancies between the codebase and the server. Ensured entire codebase to be validated, syntax checked, parsed, tested... It works. A 'great codebase overhaul' commit was PR'ed to master and got merged.
Yesterday the team lead, i'll call him 'B-tard' from here on, has also 'equalized the discrepancies between codebase, server and the restnof the stale branches on the repo' . i was doing my other work on my branch so no fucks given. This is where i should have given some fucks.
Anyways, today. The day starts every day with merging the master branch into your working branh because you need the latest working codebase, right?
Wrong!
This fucking dipshit smug b-tard has done a mindless merge of the entire codebase, effectively removing ALL validated working code for provisioning servers. Control blocks, lookup functions, lambda's... Basically everything he did not understand.
At the same time the project is already way beyond the allotted budget in pkney and time, so there is a huge pressure to have a working 'production' environment TODAY!
THIS MOTHERFUCKING B-TARD JUST MADE THAT IMPOSSIBLE.
i'm loving this assignment, i'm loving the PM, the collegues, the environment, the location... everything. All but this fuckibg b-tard that somehow got his position by sucking dick or licking ass or both...
I wanna get out asap.
Oh... While typing this and arriving at the room of the office... It is locked, i have no key.
Fucking asshole!1 -
What a fucking day.
Half a day looking for functionality on github that was lost in some branch and not merged to master. All remotes was pruned. Finally restored it from some remote on production and merged to master before Saturday release. Yeah !!!!
Month saved fuckers, pick some more hardcore shit to surprise me. To strong to fail. -
First time I use Travis CI today :D
(And my first build error ever...)
In combination with Nuxt.js it is so fucking useful for Vue Development. Wow!
I think I've found my new favourite JS Framework.
Had a bit of trouble with Github Pages but I just created a 'source' branch with the source code and a 'master' branch with the deployed site. The reason is that organization sites can only be published from 'master' branch for some reason...
Anyways Travis CI is very useful!3 -
Just joined a new company and can only describe the merge process as madness.....is it or am I the one that is mad?!
They have the following branches:
UAT#_Development branch
UAT#_Branch (this kicks of a build to a machine named UAT#)
Each developer has a branch with the # being a number 1 to 6 except 5 which has been reserved for UAT_Testing branch.
They are working on a massive monolith (73 projects), it has direct references to projects with no nuget packages. To build the solution requires building other solutions in a particular order, in short a total fucking mess.
Developer workflow:
Branch from master with a feature or hotfix branch
Make commits to said branch and test manually as there are no automated tests
Push the commits to their UAT#_Development branch, this branch isn't recreated each time and may have differences to all the other UAT#_Development branches.
Once happy create a pull request to merge from UAT#_Development to UAT#_Branch you can approve your own pull request, this kicks off a build and pushes it to a server that is named UAT#.
Developer reviews changes on the UAT# server.
QA team create a UAT/year/month/day branch. Then tell developers to merge their UAT#_branch branches in to the previously created branch, this has to be done in order and that is done through a flurry of emails.
Once all merges are in it then gets pushed to a UAT_Testing branch which kicks off a build, again not a single automated test, and is manually tested by the QA team. If happy they create a release branch named Release/year/month/day and push the changes into it.
A pull request from the release branch is then made to pre-live environment where upon merge a build is kicked off. If that passes testing then a pull request to live is created and the code goes out into production.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh it's a total mess. I knew when I took on this job it would be a challenge but nothing has prepped me for the scale of the challenge!! My last place it was trunk based development, commit straight to master, build kicks off with automated testing and that just gets pushed through each of the environments, so easy, so simple!
They tell me this all came about because they previously used EntityFramework EDMX models for the database and it caused merge hell.9 -
What the hell kind of tool is Gitlab? I just want to automatically backmerge hotfixes from master to development. Even fucking Bitbucket had a checkbox to enable this. But not Gitlab, no, you better create a pipeline job in your already unreadable, overcrowded pipeline yml, but oh, the checked out repo in the pipeline is a detached head and you cant push with the user that checks out there. So what, just use a project acess token which revokes after a year breaking your task and then switch origin amd branch manually. But your token-user can't push to protected branches, so create a merge request instead, which requires approvals, making the automated step no longer automated.
But dont worry, you can just use the gitlab api to overwrite the approval rules for this MR so it requires 0 approvals. But to do so you must allow everyone to be able to overwrite approval rules therefor compromising security.
And so you made a feature that should effectively be a checkbox a 40+ line CI job which compromises your repo security.
which nuthead of an architect is responsible for the way gitlab (and its CI) is designed?6 -
Currently debugging a project that was written over 4 years ago...
At first all was well in the world, besides the ever present issue off our goddamn legacy framework. This framework was written 7 years ago on top of an existing open source one, because the existing one was 'lacking some features' & 'did not feel right'.
Now those might be perfectly fine reasons to write a layer on top of a framework, but please, for all future devs sanities, write fucking documentation and maintain it if you're going to use said framework in all major projects!!
Anyhow back to the situation at hand, I'm getting familiar with the project, sighing at the use of our stupid legacy framework, attempting to recreate the reported bugs...
Turns out I can't, well I get other bugs & errors, but not the reported ones. I go to the production server, where I suddenly do can reproduce them...
Already thinking, fuck my life, and scared for the results... I try a 'git status' on the production server....
And yep, there it is, lo and behold, fucking changes on production, that are not in git, fuck you previous dev who worked on this and your stupid lazy ass modifcations on production!
Bleh, already feeling royally pissed, there's only 1 thing I can do, push changes back to git in a seperate branch, and pray I can merge them back in master on my dev environment without to much issues...
Only I first have to get our sysadmi. to allow pushing from a production server back to our git server...
Sigh, going to put on my headphones, retreat to my me space and try to sort out this shitpile now... -
getting tons of fucking merge conflicts on rebasing remote branch with current master because that mockerfucking code review is still pending
-
Looking at @striker28 's rant made me think of my time I did my MSc and I think it needs it's own separate rant so here it goes:
So I did an MSc at one of the big league unis in London. First clue was during week 1 where in one of the class a mature student asked whether there would be actual coding during the course. There was an audible gasp from everyone else! Once the lecturer said the unfortunatly they wouldn't be you could hear the sigh of relief from the students...
Next up was all the lectures being placed in the freakin' basement of the university in crap, smelly rooms with annoying ticking A/Cs whereas all the social siences, business and other subjects had lecture halls and classrooms above ground. The contempt for CS from the university's direction was palpable.
Then there was the relegation to the theory-only (i.e. abstract with pen/paper) "tutorial" to the hand of T/As with bugger-all teaching experience. In short most were terrible and should've found a way to abscond themselved from this obligation which was part of the terms of their phd grants unfortunatly.
Further into the course there was the "group project". Oh boy! Out of the 5 in the group my now mature student friend and I were the only one commiting to the repo. There was either no code and a lot of bullshit from the others or crap code that didn't even compile despite their assurances it was all good.. Someone clearly never actually coded and pressed "run" in their lives which is fucking surprising since they've managed to graduate with a BSc and get into a MSc somehow. None of the code "made" by the other 3 persons made it into the master branch for release.
The attitude was that of "We (hahahah) wrote loads of code. We'll get a great mark!". At that stage the core wasn't even complete and the software didn't work yet.
Some of the courses where teaching things already 10 years out of date and when lecturer where pressed on that the few mature students that happen to be there the answer was always "yes, we are planning to update it for next year". Complete bullshit. Didn't help that some of the code on the lecture slides was not even correct! I mean these guy are touted as "experts" in their field...
None of the teory during the entire year was linked to any coding. Everything was abstract with no ties to applied software engineering. I.e. nothing like the real world.
The worst is that none of the youger students realised they were being screwed over and getting very little value for their money. Perhaps one reason why these evaluation forms have such high scores given on them. If you haven't had a job and haven't lived outside academia yet there is nothing to compare it to. It tends to also fall into confirmation bias (hey it's a top UK university, it must be worth it afterall! Look how much they ask for).
By the end of the year I couldn't wait to get the hell out. One of the other mature student sumed it quite well: "I will never send my children here."
Keep in mind that the guy had just over a decade of software engineering experience in the industry and was doing this for fun.
In the end universities are not teaching institutions. The lecturers's primary job is research and their priorities match that. Lectures tend to be the most time efficient teaching format for the ones giving them but, on their own, are not for the consumer.
To those contemplating university for CS: Do the BSc. Get your algo/datastructure chops and learn the basic theory. It is interesting. Don't get discouraged by the subject just because it is taught badly.
Avoid the MSc unless you want to do a phd and go for an academic carrer. You are better off using that year and the money to learn more on your own and get into colaborative projects (open source) on top of some personal ones. Build up your portfolio. It will be cheaper and more interesting!2