Earlier quoted context omitted.
How production-ready is Pijul? I heard about it some time ago and was super impressed. But apparently at the time it had issues, and was going to be re-written in a different language.
Wow, you heard about Pijul years ago then. I believe it is production-ready, in the sense that there hasn't been any real bug in months. I'll remove the "beta" label when more people use it. One thing that isn't production-ready is nest.pijul.com, but mostly for lack of funding: that platform uses the CRDT nature of Pijul to replicate all the repositories in different datacenters, but the machines it runs on are some…
What comes after Git
401–410 of 430 posts
Re: What comes after Git
#402Earlier quoted context omitted.
The checkout command is severely overloaded; I'd hardly remember the functions if it wasn't for aliases. The reset operations are also very inconvenient, due to the mix of: different types of reset (soft/hard); overlapping with the checkout command; different states of the files. Pushing is also overloaded, due to handling both branches and tags (this is probably due to the fact that both have refs). There are strang…
> The checkout command is severely overloaded; I've been using git since 2008. I just learned a few weeks ago that I had the opposite understanding of what --theirs and --ours does on git-checkout during a rebase operation. (briefly: --ours is the branch you are rebasing onto, --theirs is the changes from the branch with the changes you are repeatedly cherry-picking into the new branch. see this answer for more detai…
Re: What comes after Git
#403Earlier quoted context omitted.
> I see people on here complaining about cargo-culting from the cool kids (k8s, spotify's team structures, etc., ect.), but I see git as exactly the same. The big advantage of git is github and co, not git itself. By switching and using mercurial you lose all of the advantages of github too.
I thought that mercurial was able to push/pull from a git remote.
Re: What comes after Git
#404Earlier quoted context omitted.
Git has both concepts, snapshots and changes. You'd have to contort yourself more than a bit to describe common uses of "git rebase" without viewing it as changes, for instance. You may be aluding to git's underlying storage being snapshot based, but it actually also has diffs in pack files.
> but it actually also has diffs in pack files Storage optimization, absolutely unrelated to the diff between two snapshots.
Re: What comes after Git
#405Earlier quoted context omitted.
Yes? Editing a file is different from creating a new file with some code copied from somewhere else, obviously. They may reach the same end state, but that doesn't make them the same operation. It also happens that one is much, much more common in software development than the other, so it's a much better mental model of what SEs do.
> They may reach the same end state, but that doesn't make them the same operation. So you're clinging to your mental model. Thanks for proving my point.
I could contort my mental model to make it match how Git works, but it is a contortion that some tool imposes on me.
We work in computing, I would expect everyone's mental models to be computational, not equational - different algorithms with the same result are still different. QuickSort is not the same as Merge sort just because they have the same inputs and outputs.
Re: What comes after Git
#406Earlier quoted context omitted.
> marvel at how it ever became popular. It's worth going through old HN comment sections that have flamewars of SVN v git (or cvs vs hg or whatever) from 2006-2012 or so. The dvcs systems won because they changed a bad paradigm to one that's much much better - literally the way you think about version control these days is a radical departure from the previous way it was done. Merges are much much nicer in git then t…
But almost nobody actually uses git the way it was originally intended, eg. as decentralized version control? Instead there’s a canonical master repository (on GitHub) everyone pulls from/pushes to.
The company I work for has internal forks/clones of many projects hosted on GitHub.
I routinely interact with at least four different clones of a project: the upstream one on GitHub; the local one on my machine; my personal clone on GitHub for upstream contributions; and the company-internal clone hosted on some company-internal server.
So yes, we are using git in a decentralized fashion.
Re: What comes after Git
#407Earlier quoted context omitted.
Do/did you use other VCSes? I did. ClearCase, CVS, SVN, Mercurial. It's a real horror (excluding later) to deal with. Sometimes basic operations like merge need separate role (human) to perform. Mercurial is nice if you are a max middle-level and do not use anything besides checkout/commit/push. Any non-trivial stuff requires manual reading (the same as for git) I know you have no time to know your tool. But I don't…
> Do/did you use other VCSes? I did. ClearCase, CVS, SVN, Mercurial. It's a real horror (excluding later) to deal with. I did, plus MS SourceSafe, Team Foundation Source Control and Bazaar. I don't see the problem with SVN and Mercurial. If you have merge conflicts, no tool is going to solve that. If you love git so much, try to do a squash merge to the main, then do some other changes in your branch, and try to merg…
For this situation, at the end just do:
git rebase -i main
And delete all of the commits that you included in your squashed commit. If you want to preserve your detailed history you can create a new branch for the rebase like so:
git checkout -b mybranch-rebase && git rebase -i main
Re: What comes after Git
#408Earlier quoted context omitted.
> They may reach the same end state, but that doesn't make them the same operation. So you're clinging to your mental model. Thanks for proving my point.
This is how work is actually done, and my mental model matches how I and my colleagues and yours as well actually work. I could contort my mental model to make it match how Git works, but it is a contortion that some tool imposes on me. We work in computing, I would expect everyone's mental models to be computational, not equational - different algorithms with the same result are still different. QuickSort is not the…
Re: What comes after Git
#409Earlier quoted context omitted.
> but it actually also has diffs in pack files Storage optimization, absolutely unrelated to the diff between two snapshots.
The semantic layer uses both, and the implementation layer uses both. Saying that it's one or the other just seems misguided.
Re: What comes after Git
#410Earlier quoted context omitted.
> marvel at how it ever became popular. It's worth going through old HN comment sections that have flamewars of SVN v git (or cvs vs hg or whatever) from 2006-2012 or so. The dvcs systems won because they changed a bad paradigm to one that's much much better - literally the way you think about version control these days is a radical departure from the previous way it was done. Merges are much much nicer in git then t…
There's a lesson here, too. To unseat git, you need to not just be slightly better than it; you need to have a big use case for many people and be radically better than it in that particular use case. You even can be worse than git in some others as long as you have that radical improvement to build on. Being merely better isn't enough; see mercurial. The use case actually has to be important to people in real life,…
I strongly feel if someone could match the merging ability of Git with the ease of simple, well worded commands, it could win. And it doesn't even have to be a Git replacement, but a better frontend. Kind of how yay is to pacman. Or how most use something like Handbrake instead of ffmpeg.
In a lot of ways, it reminds me of Python and Perl. Perl was definitely more powerful as a language, but Python felt like natural writing in pseudocode. Enthusiasts rightly point to the power of inbuilt regex, but like Git, few actually could harness it well enough to make that unreadability worth it.