#Git on #Plan9 is borken in weird ways.
Want to rebase branch A on top of branch B? No you don't. You want to change A to match B and drop all other commits.
Want to merge A into B but there's a conflict? Let's just arbitrarily take the line from A and ignore the one from B. That's what you wanted, right?
like this
Walter and Greg A. Woods like this.
Content warning: nerd stuff: version control
My understanding of #Mercurial is that it is very comparable with #Git feature-wise. I only use Git because I discovered it first. It just so happens that it seems to have become the de-facto standard version control system these days.
For those who use Mercurial instead: why? Does it offer something that Git does not, or is it simply personal preference/familiarity?
like this
Greg A. Woods, ⛧Satanist⛧ and Moffin'tosh like this.
reshared this
Moffin'tosh reshared this.
Content warning: nerd stuff: version control
I read a blog recently claiming that Git is not a VCS at all, but rather a collaboration tool, and that it ought to be used with a proper VCS, that increments version numbers etc:
https://feld.eth.li/posts/2018/01/git-is-not-revision-control/
I'm not sure I buy the conclusion, but it certainly illustrated the differences between Git and older VCS.
Git Is Not Revision Control
Git has always rubbed me the wrong way. The ability to rewrite history and not tracking file renames are a few of the reasons it has turned me sour, not to mention the awful inconsistent UX as...feld.eth.li
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
> Does Mercurial address these
No idea. Like you, Git is all I've ever used, and very little.
My understanding is that prior to Git, all merges were manual, which I imagine puts a much greater workload on maintainers, and increases the chances of errors sneaking into the code during even routine merges. Also pre-Git VCS used a database, rather than a folder heirarchy with config files, so they're inherently more centralized. Which has pros and cons.
(1/2)
Content warning: nerd stuff: version control
But Git has existed for a while now, and other VCS software may have adapted some of the features and workflows it pioneered. Again, no idea.
(2/2)
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
Total tangent from your original question, but have you checked out SourceHut? It's a server package for hosting decentralized code forges, using only Git and email, which as I understand it couldn't be done with any of the older, more centralized VCS:
sourcehut - the hacker's forge
sourcehut is a network of useful open source tools for software project maintainers and collaborators, including git repos, bug tracking, continuous integration, and mailing lists.sourcehut.org
Content warning: nerd stuff: version control
@Strypey I've actually been using Gitea, though I hear there's been some unpleasantness going on with the corporate end of that.
Might be worth a look.
Content warning: nerd stuff: version control
Mercurial has a clear distinction between committing/updating to prior commits, and exchanging commits with others.
One way this is achieved is that each commit has the branch name frozen into it, which means that pushing or pulling changes isn't _modifying_ a pointer to a commit at the other end - it's a purely additive operation.
So, you can't accidentally remove stuff via a push.
For some teams, this means you don't need to operate a pull request process.
Content warning: nerd stuff: version control
Also, Mercurial _feels_ nice.
* It feels like a more cohesive design from the get-go, whereas git feels like it organically grew, warts and all.
* The hg windows experience is just as good as the linux one.
* The hg GUI tooling is great, the CLI is natural, and the documentation is excellent.
Jonathan Lamothe likes this.
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
Henrik Pauli likes this.
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
Content warning: nerd stuff: version control
• named branches where the branch name isn't just a pointer to the tipmost commit of the branch. Think calling something 'trunk' and 'production' and every commit coloured to that branch
• phases, a feature that tries to protect you against modifying publicised changesets by default
(• and the ever-beta changeset evolution which would allow users to reliably improve on pub csets)
This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.
seeh
in reply to Jonathan Lamothe • • •Jonathan Lamothe
Unknown parent • •@pixx I don't know if it's something weird about the version of git that's on SDF's Plan9 server. Perhaps it's out of date, but I've created an example repository that illustrates what I'm talking about.
You can clone from https://git.fingerprintsoftware.ca/9p/example.git and consult the README.md file for details.
pixx likes this.
Jonathan Lamothe
Unknown parent • •@pixx There's also the rebase issue where it seems to just drop the commits in the branch being merged and moves the head to the base branch.
Again, I don't know if this is just a problem on whaever version of the software SDF is using.
pixx likes this.
Jonathan Lamothe
Unknown parent • •@{...}
syntax. What's happening there?