Hacker News new | past | comments | ask | show | jobs | submit login

Git is the simplest, low friction, low cost, low everything above file storage. How can there be something simpler atop an existing file system (I know there are some versioning file systems but I've never used them). I use git for practically anything I do. I to git init and I have my project versioned and I can but don't have to even add messages to each of my versions. You don't have to use anything else if you don't want to but you have so many options if you need them. You don't have to even use git on line if you don't want but if you do there are multiple (even open source) git repositories with free private repos. What is there not to like?



Mercurial is wonderfully simple, particularly for smaller teams. Also, not being able to throw away branches ensures the project maintains a history of some wrong paths that were pursued.


> How can there be something simpler atop an existing file system

Mercurial? Similar DVCS concepts, but you no longer have to worry about garbage collection or staging areas...


What garbage collection? Isn't staging area actually a feature? I've never used anything else since when I started needing something like 5 years ago git was already a recommended choice, but I also never felt like I needed anything else.


If your commits are not referenced by a branch or tag, then those are eventually committed. Having to have a branch to keep the commit around means you need to come up with a name for it if you ever want more than one name. When I go back to Mercurial, it's actually quite relieving to not have to come up with a short name to describe what the current work branch is doing, only commit messages.

And no staging area is strictly simpler than having a staging area, which is contrary to your assertion.


When would you be creating a branch to do work without knowing what work you're doing?


It's not that I don't know what work I'm doing, it's that I don't know how to give it a unique name.

Sometimes, I try a few different approaches to make something work. Each of these attempts is a different branch--I might need to revisit it, or pull stuff out of it. Good luck staring at a branch name and working out if it's landloop or landloop2 that had the most working version of the code.


Super late, but I think a good approach would be to use an issue/work tracker of really any flavor (even manually), log all of your to-do headings as issues, and then just name each branch after the associated issue/job number.


> Isn't staging area actually a feature?

I've been using git for a few years, and staging has been all cost with zero benefit so far.


"Isn't staging a feature?"

Well yes, but the GP is claiming that git is the most simple thing above file storage.

Staging may be a feature, but it adds complexity. Perhaps useful complexity, but complexity nonetheless.


mercurial with a list of different plugins for each project? no thanks


Why would you need a different list of plugins for each project?


> I know there are some versioning file systems but I've never used them

But those other systems were the whole point of the post you replied to ;)


`.git` is a directory, while in Fossil, the repo is a single SQLite file.

Not making any larger comparison here, what I'm saying is that a single file is simpler than a single directory.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: