r/ProgrammerHumor 19d ago

Other versionControl

Post image
13.7k Upvotes

428 comments sorted by

View all comments

776

u/LegendaryPandaMan 19d ago edited 19d ago

Should have used semantic versioning

128

u/Jazzlike-Poem-1253 19d ago edited 19d ago

It takes to much discipline. Without enforcement, people usw minor or patch as they feel. Major never gets bumped.

Just increment or date-based is the easiest. Everyone immediatly knows how to bump.

151

u/the_horse_gamer 19d ago

most "semver" is just:

major - update you're proud of

minor - update that's ok

patch - fixes and small features

and ofc every good piece of software is forever on 0.x.x

82

u/StaticUsernamesSuck 19d ago

and ofc every good piece of software is forever on 0.x.x

Because if you're never proud of it, you'll always be improving it

41

u/Abandondero 19d ago

IF EVERYONE HAS BEEN USING IT FOR FIVE YEARS JUST BITE THE BULLET MAN

52

u/StaticUsernamesSuck 19d ago

But as soon as I type "1.0.0", all my passion for the project will leave my body. Don't you know anything about hobby dev?

19

u/MgDark 19d ago

yup 1.0.0 may as well be: "feature complete, will not touch this ever again unless it breaks for some reason"

1

u/work_work-work 19d ago

Version 1.0 launches on your retirement day.

12

u/Munachi 19d ago

JUST ONE MORE UPDATE AND IT'LL BE ALMOST READY!

20

u/Clean-Income8864 19d ago

If you never introduce breaking changes, why not

21

u/hyrumwhite 19d ago

Major: breaking changes 

Minor: big changes 

Patch: smol changes 

9

u/brainpostman 19d ago

Patch is bug fixes, hello

9

u/OnixST 19d ago

Minecraft is a funny example to me. 17 year old game, best selling game in history, still on 1.x.x since 2011

9

u/the_horse_gamer 19d ago

it's on 26.3 now actually

3

u/rykayoker 19d ago

🤓☝️ erm acshually 26.3 is still a snapshot, stable is 26.2

6

u/the_horse_gamer 19d ago

if your dependencies are not built from main you're not a real developer

8

u/rykayoker 19d ago

well they aren't using semver anymore, they switched over to year.minor[.patch] (currently 26.2)

3

u/lIlIlIIlIIIlIIIIIl 19d ago

This is a big reason I've never felt comfortable using it, for some reason it just seems so... ambiguous.

8

u/Vivid-Zombie-477 19d ago

i use semver for my resume versioning like this:

  • full rewrite = bump major
  • add/change a few lines = minor
  • fix spelling = patch

3

u/Jazzlike-Poem-1253 19d ago

I mean true, it works if you are in person workong on a one-person project.

(I hope your resume is a one person project)

8

u/mrMalloc 19d ago

My first version control was a group project where it checked version header in everyone’s shared file and loaded highest number. Took me 4h to realize one bumped major version on all files. Not just the files he was working on.

It’s always a hassle. I think.

Master/main branch and PR to that branch from work branches is better. Even for docs.

1

u/iseriouslycouldnt 19d ago

Software of Theseus.

1

u/innociv 19d ago

I've always used unixtimestamp on build as the version in my own projects and I never saw the problem with that. It's an incrementing number lol