When did Git become terrible? Let's track down the specific commit...
-
@dragoon said in When did Git become terrible? Let's track down the specific commit...:
In what fucking world do you live in where any problem can be solved within a day?
Two totally different things. "An element of work" is much smaller than "solving a problem".
Simple analogy (flawed like all analogies but usually sufficient):
Look at a piece of self assembly furniture. 5+ pages with 3-4 panels per page of "insert this, twist that". Each panel is a task. Solving the problem is the booklet.
Most of the time is spent in accurately defining the tasks, reducing the time to "do" them greatly. I very rarely have any task that takes more than 2 hours.
Now each task typically has steps. What is the minimal change I can make that:
a) Adds/Changes/Removes something (As appropriate)
b) Does not break anything [ideally enforced by build policies that run BVT before commiting to repository.These increments are typically in the "Few minutes", and for many environments each of these will be checked-in so that other developers can stay closer in sync. [For Git that would involve a push or pull request].
-
@thecpuwizard
I wished I worked on stuff that simple.
-
@thecpuwizard I think what you're getting at is, solving one problem often involves breaking it up into lots of smaller problems, and the smaller problems are what get commits wehereas the larger problems are what get merges.
-
@dragoon said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard
I wished I worked on stuff that simple.What I work on is rarely simple. It can range from trading floor [live] financial systems to major industrial automation to military/space as well as implanted medical devices.
-
@lb_ said in When did Git become terrible? Let's track down the specific commit...:
I think what you're getting at is, solving one problem often involves breaking it up into lots of smaller problems, and the smaller problems are what get commits wehereas the larger problems are what get merges.
100% on the first part... not so much on the last part. I have plenty of teams that are working directly on "main", with 20-30 commits per hour (each with a full BVT) so around 175 builds per day, with many of them automatically deployed to shared evaluation environments (and if they do not encounter problems, from there to production). Not a branch in sight.
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
I have plenty of teams that are working directly on "main", with 20-30 commits per hour
How big are these teams? Yikes, that sounds like a lot of activity.
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
Creating a commit isn't a problem.
Having to give the commit a name is. Because there's no good name other than "opps didn't finish and I'm done for the day will pick it up on Monday"."Progressive checkin." I use that one all the time. It works well, and the meaning is clear and understandable.
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
"opps didn't finish and I'm done for the day will pick it up on Monday" is generally indicative of a bigger problem. If Tasks are broken down properly, they should be started and finished with in a day 99% of the time.
I'mma stop you right there.
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
you follow these steps:
What steps?
Did you the steps?
-
@thecpuwizard
None of which makes your code complex.
-
@dragoon No, but it's a hint of the braggart blow-hard CPUWizard we used to get around here. Sssh. I wanna see more of that. Ask how amazing his New York office space is.
He was a lot funnier when he couldn't go 3 sentences without mentioning how successful and impressive everything he does is.
-
@boomzilla said in When did Git become terrible? Let's track down the specific commit...:
How big are these teams? Yikes, that sounds like a lot of activity.
Typically 7-9 team members [developers].
-
@masonwheeler said in When did Git become terrible? Let's track down the specific commit...:
I'mma stop you right there.
EVERY item in there is about abuse in the name of Agile, and not about effective Agile [or Scrum].
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
effective Agile [or Scrum].
What's that?
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
braggart blow-hard CPUWizard
He's a CPU wizard
There has got to be a twist
A CPU wizard,
S'got such a supple wrist
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
No, but it's a hint of the braggart blow-hard CPUWizard we used to get around here. Sssh. I wanna see more of that. Ask how amazing his New York office space is.
He was a lot funnier when he couldn't go 3 sentences without mentioning how successful and impressive everything he does is.There's the Blakeyrat we know and love :) :) :)
And as I said in the past, it is not what I do (or don't do) but that the teams I have been fortunate to engage with over the decades have been able to achieve.
ps: Left the NYC office space over 5 years ago (and it was pretty sweet watching the filming of much of the Avengers movie out the window)...you really need to catch up
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
EVERY item in there is about abuse in the name of Agile, and not about effective Agile [or Scrum].
Also, the reason I posted that was that the way it talks about having to break everything down into bite-sized chunks being harmful was relevant to the discussion. Is that "an abuse in the name of Agile"? Because it seems like it's integral to the concept of a sprint.
-
@masonwheeler said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
EVERY item in there is about abuse in the name of Agile, and not about effective Agile [or Scrum].
Also, the reason I posted that was that the way it talks about having to break everything down into bite-sized chunks being harmful was relevant to the discussion. Is that "an abuse in the name of Agile"? Because it seems like it's integral to the concept of a sprint.
Are you referring to this excerpt?
"These Agile systems, so often misapplied, demand that they provide humiliating visibility into their time and work, despite a lack of reciprocity. Instead of working on actual, long-term projects that a person could get excited about, they’re relegated to working on atomized, feature-level “user stories” and often disallowed to work on improvements that can’t be related to short-term, immediate business needs (often delivered from on-high). This misguided but common variant of Agile eliminates the concept of ownership and treats programmers as interchangeable, commoditized components."
-
@masonwheeler Kanban is Agile, and has no sprints.
-
@boomzilla said in When did Git become terrible? Let's track down the specific commit...:
such a supple wrist
-
@magus
Ah kanban, or "How can we make Agile even worse"
-
@dragoon said in When did Git become terrible? Let's track down the specific commit...:
Ah kanban, or "How can we make Agile even worse"
Kanban is a fantastic process when there is continual flow AND the ability to move resources up and down the assembly line [or adjust the input rate to account for the slowest stage].
However, these types of flows rarely occur in software development environments.
-
@dragoon It actually works really well for the stuff my team works on, where keeping the flow up is more important than how well packaged the process is.
-
@magus said in When did Git become terrible? Let's track down the specific commit...:
It actually works really well for the stuff my team works on, where keeping the flow up is more important than how well packaged the process is.
A Continuous flow process can be great in many situations.... But I am curious (ok, I admit it, doubtful) that you are truly doing Kanban.... What are you "stations" (columns), what skills are required at each station. Is your staff fully capable of moving forward and backwards through the chain?
Many groups have "New","Active","Done".... That is great for CF, but it is not Kanban.
-
@thecpuwizard Admittedly most of the columns involve testing in various environments, or the unavoidable waiting other teams have mandated, but we do a pretty good job of keeping things moving along.
-
@magus said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard Admittedly most of the columns involve testing in various environments, or the unavoidable waiting other teams have mandated, but we do a pretty good job of keeping things moving along.
I am not questioning the effectiveness of your process at all; rather I am pointing out that (it seems like) the common misapplication of the word Kanban.
Can the people who work on "column 1" do the work of "column 2" [and col2->col3 and col3->col4, all the way to the end of the line] is there is a lack of work in column 1 (conversely move "left" if there is a rush of incoming work??? Also are you enforcing WIP Limits [if the number of items at a boundary hit the limit, NO more work may would be done, regardless of circumstances that would lead to another item being placed there]?
Example: You team does Column 1... Column 2 is waiting for another Team. The WIP Limit is 5. As soon as your team has pushed 5 items into column 2, there are forbidden from doing any more of "their" work, and are re-assigned to the other team until the bottleneck is resolved. ...
-
@thecpuwizard Yeah, anyone can do things in any column pretty effectively. Things usually go fairly quickly in the second half of the board. We try to enforce WIP limits, though some people seem quite willing to park 2 items in a column at random; we're still trying to get people to stop that, but it's getting better.
As for being reassigned to other teams... the other teams don't seem to like us, because we've been doing this from the start, and getting things done, while they've been inflating work to fit it into sprints, and they're all now adopting our system since theirs hasn't been working.
-
@magus - I am glad you have an approach that works for you. I mean that seriously, no snark or sarcasm. I tend to be very particular about terminology. For example if someone is talking about Agile [capitalized] then I expect to be able to discuss their actions in the context of the Manifesto's Principle's and Values. If someone is talking about Backlogs, Sprints, Burn downs - then they are talking about a management style for Iterative, which may or may not be Agile.
-
@thecpuwizard You do realise at this point you're just for sake?
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard You do realise at this point you're just for sake?
When are people on here not doing that?
-
@jaloopa when they're posting for teh lulz.
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard You do realise at this point you're just for sake?
See my comments on the other thread (related to being a Pendant) :) :) :)
Yes, I realize it can be taken that way, and the subject has gotten deeper into some crevasses than intended. At the same time the view "Git became terrible as soon as it was used in environments where integrated/centralized goals are in play as the distributed "benefits" are actually harmful" is something I strongly believe is worth of discussion. IF the basic concept of the tool is "terrible" (in these circumstances), then any discussion of UI, flags, et. al. seems moot.
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
the subject has gotten deeper into some crevasses than intended
-
@cartman82 So you use it in exactly the same was as 99.99% of git users.
-
@wharrgarbl said in When did Git become terrible? Let's track down the specific commit...:
visual sourcesafe
Dammit man, TRIGGER WARNING that shit !!!
-
@el_heffe said in When did Git become terrible? Let's track down the specific commit...:
@hungrier said in When did Git become terrible? Let's track down the specific commit...:
git turnleft
git turnleft --go-right
git turnleft
git turnleft
git turnleft
Should be the same as
go-right
Right?
You're assuming 90deg turns. Since you didn't specify,
git
is allowed to use random angles.
-
@dcon Basically, it can run around like a
chickenrepo with its headcut offdetached?
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
Typical recommendations is that a Git Repo [neglecting some of the new LFS implementations] should stay under 200MB.
(ours is at 1.86GB. The code base is over 10yrs old.)
-
@dcon said in When did Git become terrible? Let's track down the specific commit...:
(ours is at 1.86GB. The code base is over 10yrs old.)
Not uncommon, but still (most likely) poor practice. Is your repro "pure" (is source only, NO output type binaries - including packages)? Is your repro dedicated to the production of one artifact set?
I am currently working on a large suite where there are over 30 repo's involved, each producing a specifically versioned component that is consumed by other elements of the suite, and with some of the changes planned for the common 6-9 months, this number will increase as internal designs are moved to package based organizations.
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
Not uncommon, but still (most likely) poor practice. Is your repro "pure" (is source only, NO output type binaries - including packages)? Is your repro dedicated to the production of one artifact set?
Yeah. Right.
We don't even have everything in the repo required to build on a clean machine. Some of it's sitting on S3. Which requires special access that only some people have. Sneakernet baby!
-
@dcon said in When did Git become terrible? Let's track down the specific commit...:
We don't even have everything in the repo required to build on a clean machine. Some of it's sitting on S3. Which requires special access that only some people have. Sneakernet baby!
Some of ours is on a network share.
Granted, it might still work without doing that, but setting up the thing is terrifying, so the shared thing is just defaults really.
-
@dcon - My point is that one should NOT have "everything in the repo required to build on a clean machine", just the unique "true" source material. All "reference material", "results" and "intermediaries" should be stored elsewhere (I would not pick S3) where the build system has access (not all people should need it in the first place - all they need is read-only access to the results of the build).
To put the size in scope, 1.86GB is about 375 million words (using a slightly high estimate). 60 WPM is average typing speed so about 6.2 million minutes of high speed typing (which is not what developers do). Now if a typist was to be simply entering source code at those speeds, round the clock, 7 days a week, 365 days a year, they could not create that much material in a decade.
-
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
Not uncommon, but still (most likely) poor practice. Is your repro "pure" (is source only, NO output type binaries - including packages)? Is your repro dedicated to the production of one artifact set?
None of that shit mattered when we all used Subversion or TFS.
-
@blakeyrat said in When did Git become terrible? Let's track down the specific commit...:
@thecpuwizard said in When did Git become terrible? Let's track down the specific commit...:
Not uncommon, but still (most likely) poor practice. Is your repro "pure" (is source only, NO output type binaries - including packages)? Is your repro dedicated to the production of one artifact set?
None of that shit mattered when we all used Subversion or TFS.
Yeah... I just checked and one old archive of our CVS repo (the only one where I've got a direct access to the repo itself... we're moved away from CVS some time ago, but now the repo is on a remote server so I can't check) is about 5 GB. Covers about 10 years of work by about 5 devs, with no significant binaries in that. How much has to be wrong for a VCS to be unable to handle that??
-
@blakeyrat said:
When did Git become terrible? Let's track down the specific commit...
I would suggest commit #1, except Git doesn't have proper revision numbers.
Well, only half- really, because it can be a legitimate problem. In SVN, you can look at two commits and say, "this one is revision #30258 and that one is revision #30112, so obviously the second one is earlier." There is no similarly easy way to do that in Git because revisions have a (essentially) random number rather than a serial number.
-
@masonwheeler said in When did Git become terrible? Let's track down the specific commit...:
@blakeyrat said:
When did Git become terrible? Let's track down the specific commit...
I would suggest commit #1, except Git doesn't have proper revision numbers.
Well, only half- really, because it can be a legitimate problem. In SVN, you can look at two commits and say, "this one is revision #30258 and that one is revision #30112, so obviously the second one is earlier." There is no similarly easy way to do that in Git because revisions have a (essentially) random number rather than a serial number.
Yeah, try using a global sequential numbering scheme where there are thousands of copies of the repository being updated independently and maybe some of them get merged at some point.
-
@ben_lubar said in When did Git become terrible? Let's track down the specific commit...:
Yeah, try using a global sequential numbering scheme where there are thousands of copies of the repository being updated independently and maybe some of them get merged at some point.
You can't do global sequential numbering (as that'd require a non-distributed shared entity to act as an authority for issuing said numbers), but you could do local numbering. As long as you're OK with the number you have for a commit occasionally changing under your feet.
-
@ben_lubar said in When did Git become terrible? Let's track down the specific commit...:
Yeah, try using a global sequential numbering scheme where there are thousands of copies of the repository being updated independently and maybe some of them get merged at some point.
I know. Yet another example of Git making things that are actually useful much harder in order to support a use case that simply doesn't apply to 99.99% of all projects, because Linux's development isn't like the vast majority of things you use a VCS for.
-
@dkf said in When did Git become terrible? Let's track down the specific commit...:
You can't do global sequential numbering (as that'd require a non-distributed shared entity to act as an authority for issuing said numbers), but you could do local numbering.
Mercurial does it.
-
@ben_lubar said in When did Git become terrible? Let's track down the specific commit...:
Yeah, try using a global sequential numbering scheme where there are thousands of copies of the repository being updated independently and maybe some of them get merged at some point.
Ben didn't you ever code in Commodore BASIC? You just count by 10s so you can insert new lines later.