Live data from Hacker News

Gitless: a version control system

gitless.com

31–40 of 390 posts

Re: Gitless: a version control system

#31

I really wish Git came with some simplified version of dependency management, subrepo and subtree just don't cut it.

I've seen people recommend npm over submodules. You can give it a git repo as a package and tag/commit as the version so it's not just for JavaScript repositories and also pulls the submodule's own npm dependencies. Although I don't know if you can put it wherever you want or it will always go to the node_modules directory.

Re: Gitless: a version control system

#33
post #28

When people say they don't like git, I lose a little faith in them as a programmer and/or engineer. This is probably due to my own biases of having worked with folks that just don't want to invest the time in learning it. That or they are afraid of branching/merging. To me this indicates intellectual laziness which isn't the kind of laziness that makes a good programmer (as is with the quote from Larry Wall and the k…

Or we've used other DVCS systems like Mercurial or Bazaar or Bitkeeper that had sane CLIs with consistent and self-explanatory user interfaces.

Git is powerful. And also seems to have a powerfully elitist community around it, as evidenced from your comment.

Re: Gitless: a version control system

#34
post #7

To me the really bad thing about git is its command-line interface. It has extremely verbose messages (writes out a lot of stuff that you don't need to know) and common use cases often requires multiple steps (ie. add, commit, push if you just want to send a change from your work machine a github repository). Compare this to subversion which is much less verbose, and in general just have one operation pr. use case.

Well:

git commit -am "message".

Will add and commit. Pushing should be separate for a distributed vc.

Re: Gitless: a version control system

#35
post #7

To me the really bad thing about git is its command-line interface. It has extremely verbose messages (writes out a lot of stuff that you don't need to know) and common use cases often requires multiple steps (ie. add, commit, push if you just want to send a change from your work machine a github repository). Compare this to subversion which is much less verbose, and in general just have one operation pr. use case.

Common use cases require multiple steps because that's how it's meant to be. Staging (adding), committing, and pushing are three fundamental operations of Git that, when combined in different ways, produce many use cases. Personally, I would rather have these operations exposed to me rather than having to memorize (or worse, have to search up) a different command every time for each use case.

Re: Gitless: a version control system

#36
post #28

When people say they don't like git, I lose a little faith in them as a programmer and/or engineer. This is probably due to my own biases of having worked with folks that just don't want to invest the time in learning it. That or they are afraid of branching/merging. To me this indicates intellectual laziness which isn't the kind of laziness that makes a good programmer (as is with the quote from Larry Wall and the k…

I work with a whole bunch of scientists that program. Some mathematicians, some theoretical physicists. We run into git issues more often than we should.

It's lazy to blame git issues on intellectual laziness. Any human designed system can be learned with enough effort but in git there seems to be significant superfluous effort. Effort that probably makes sense for some use-cases that git was developed for, but as it has become ubiquitous and now we all have to live with it, programmers or not.

In my view, git has too much state. The state of my directory, the state of my branch, the staging area, the stash, etc.. these all interact in non-trivial ways when merging/branching. Gitless shows that it can be done with less state.

And the design of the interface _is_ atrocious:

http://stevelosh.com/blog/2013/04/git-koans/

Re: Gitless: a version control system

#37
post #28

When people say they don't like git, I lose a little faith in them as a programmer and/or engineer. This is probably due to my own biases of having worked with folks that just don't want to invest the time in learning it. That or they are afraid of branching/merging. To me this indicates intellectual laziness which isn't the kind of laziness that makes a good programmer (as is with the quote from Larry Wall and the k…

When people suggest that git is great I lose a little faith in them as a programmer cause it indicates to me they don't have much breadth if experience with source control systems & they are too intellectually lazy to investigate alternatives.

Could just be my biases I guess.

Re: Gitless: a version control system

#38
More accurate to call it a git client rather than a version control system. It is git.

Then, many clients have tried to hide git complexity under some friendly UI. They might be productive in some cases (e.g: to manage your stage area), but for others at some moment they will end up confused and not knowing what to do.

Re: Gitless: a version control system

#39
post #4

> Gitless is an experiment to see what happens if you put a simple veneer on an app that changes the underlying concepts. ... changes them how exactly? A big part of what I like about Git is that its underlying concepts are simple and clear and feel like the right building blocks for version control. So I'm curious to know how they believe they can improve on that.

It's not a quick answer but they cover this in the Gitless vs. Git section.[0] One main difference seems to be with branching "The main thing to understand is that in Gitless a branch is a completely independent line of development." [0] http://gitless.com/#vs

By that, AFAICT they mean "a branch, in addition to being a commit pointer, contains all the files in the working directory".

Re: Gitless: a version control system

#40
post #27

Earlier quoted context omitted.

But why should each developer need to do that on each system they use? The whole point of this tool is to add a common set of things on top of git.

I don't see why each developer should. I'm perfectly fine with commands as they are by default. I'm just saying that if your problem is that you need to enter multiple commands instead of one, then instead of new VCS you may as well just put a config file in your home dir.

This isn't a new VCs though, its a layer on top of git.

You can still use all git commands.

Post reply on HN