Live data from Hacker News

Is Git Irreplaceable? (2019)

fossil-scm.org

161–170 of 559 posts

Re: Is Git Irreplaceable? (2019)

#161

Does Fossil do sub-modules correctly? Specifically does it let you compose a project of several repositories and do configuration management on that repository? That is something git kinda sorta does but it gets out of control easily.

I like the idea of storing commit history in a database. Why write all of the bits from scratch?

But I don’t like how difficult databases make it to represent graphs of data. To pull a subtree cheaply, you need a graph. not unlike SVN’s data structure.

Re: Is Git Irreplaceable? (2019)

#162
post #19

Every version control system that's become dominant in my lifetime became popular because it fixed a major obvious flaw in the previous dominant system (RCS, CVS, SVN). From where I sit, Git has a couple obvious flaws, and I expect its successor will be the one that fixes one of them. The most obvious (and probably easiest) is the monorepo/polyrepo dichotomy.

I’ve read a couple descriptions of the internals of git that don’t disagree with the design of SVN, so I’m not unsure why you can’t theoretically check out a single subtree. Either the documentation is too hand wavy or some implementation details have blocked that possibility.

Are you aware of git-subtree?

Re: Is Git Irreplaceable? (2019)

#163
post #102

Earlier quoted context omitted.

cherry picking is a shitshow! i would love to be able to use a patch-based VC.

You can still generate and apply patches with Git.

yep, nemo got it right. git basically hacks cherry-picks in the same way previous VCS’s hacked branches.

unfortunately there are no patch-theory based VCS’s with a practical level of usability. what git was to monotone, X is to darcs/pijul, where X hasn’t been created yet.

Re: Is Git Irreplaceable? (2019)

#164

Does Fossil do sub-modules correctly? Specifically does it let you compose a project of several repositories and do configuration management on that repository? That is something git kinda sorta does but it gets out of control easily.

Is this something you want in a VCS, or can it be adaquately handled by something like myrepos?

Re: Is Git Irreplaceable? (2019)

#165
post #97

Earlier quoted context omitted.

I don't see any obvious flaws with Git. The monorepo/polyrepo discussion exists apart from your choice of version control system and has little to do with Git, as far as I can tell

Git is extremely user-unfriendly from the command line. It would also be nice to have a repo that isn't language-agnostic. It's too easy to track non-semantic changes, like white space.

> It would also be nice to have a repo that isn't language-agnostic. It's too easy to track non-semantic changes, like white space.

In my opinion this is a problem with programming languages rather than version control. Namely we mix presentation and representation when using text as our source code. In the case of whitespace we have an infinite number of syntactic presentations which all correspond to the same semantic representation. Tooling has been created to try to deal with this such as code formatters which canonicalize the syntactic presentation for other tools. Git itself even has to deal with this because of platform differences, i.e. LF and CRLF.

Re: Is Git Irreplaceable? (2019)

#166
post #89

Earlier quoted context omitted.

>I don't see any obvious flaws with Git. Large files and long histories hinder its total dominance in the game and art industries. Because of git's shortcomings polyrepo is a near necessity not simply a stylistic choice. LFS is a bolt on solution that could/should have better support.

Git stores the diffs in chronological order doesn’t it? I recall reading about someone doing a commercial implementation where the commits are stored in reverse chronological order. I’d been thinking that was github but I’ve never been able to find the article again.

Git does not store differences between files, but packs (versions of) files (to save disk space) in single .pack files.

Re: Is Git Irreplaceable? (2019)

#167
post #22

It is necessary but not sufficient for any new contender to do at least the following to have any chance of taking over: - Interoperate with the major player(s), currently Git and in many places unfortunately still Subversion. svn2git probably did more for Git adoption than any other feature or tool, because it allowed a fairly painless transition without losing information. - Solve at least one big problem with the…

I’ve been wondering if we need a slightly more general tool for tracking changes, that happens to have a VCS commandline as a first class client of that system. The problem is how to do bindings in many languages, or share one binding with some sort of IPC/RPC protocol.

I have some collaboration tools I’d like to write but creating my own edit histories and conflict resolution is daunting.

Re: Is Git Irreplaceable? (2019)

#168

Earlier quoted context omitted.

All of the organizations that have outgrown git will have such incredibly specific requirements meaning nothing but a custom built tool will work for them.

The so called problem would also vanish if the monorepo was modularized and broken up into smaller repos.

That's probably a harder task for an existing monorepo that is too big for git than writing a replacement for git that works with a repo of that size.

Re: Is Git Irreplaceable? (2019)

#169
post #109

Earlier quoted context omitted.

Do you work on a team? Or in a job were you need to have an audit trail for your work? Commit messaged and many other features of Git like branching and tags are indespensible for sharing and collaborating on code.

Flip your questions around. Might someone who isn't on a team, and doesn't need an audit trail, want something simpler? Versioned files systems, including Apple's Time Machine and Dropbox's version history, have no extra UI to save versions. A small, short-lived project with at most a few collaborators (eg, working on a small scientific paper) might find those more useful than git or other VCS.

I would have to agree with this. I have been programming for decades and I haven't had to work on a team for a project. "Branches" have not happened, nor have I ever felt the lack of them.

I would not mind something simple. I find the arguments, flags, whatever in git to be rather opaque. That, coupled with the lack of need for its features, have not thrilled me.

It seems to be pretty effective if you have tons of programmers working on a single project, but at the bottom end of the scale, I find it baffling.

Re: Is Git Irreplaceable? (2019)

#170

Does Fossil do sub-modules correctly? Specifically does it let you compose a project of several repositories and do configuration management on that repository? That is something git kinda sorta does but it gets out of control easily.

Is this something you want in a VCS, or can it be adaquately handled by something like myrepos?

It is something that I prefer to have in a VCS. At one end of the spectrum you treat a repository as a object which a containing repository can subclass with specific changes. Such a system would allow things like basic driver frameworks for a bunch of devices to be in their own repository and the 'critical bits' that make them work in a system of type 'x' would end up being a that repository + changes. You can kind of do this with git where you create a branch for each system x, y, and z in the repository and then your submodule is driver repo branch x but that doesn't put the maintenance burden in the right place (the system X maintainer).
Post reply on HN