Live data from Hacker News

Prefer mercurial to git

lists.gnu.org

161–170 of 189 posts

Re: Prefer mercurial to git

#161

Earlier quoted context omitted.

I'm interested in your comment about the cryptographic nature of git objects. I know that hashes are used to identify commits, but I'm not sure how Git uses cryptography elsewhere — e.g. to check the integrity of repos, as you said. Can you explain this aspect in more detail? (Not being argumentative; just curious.)

In git a commit is basically the root of a Merkle Tree [1], i.e. every reference is the sha1 sum of the object being referenced. If you take a commit apart what you see is a commit message, a hash of its parent commit and a hash of a tree object. That tree object itself contains hashes of file objects and tree object as well as their corresponding names. Thus assuming you would want to tamper with a file of a commit…

> To be fair: I believe mercurial commits enjoy the same level of protection, although via different means.

Actually they have almost exactly the same Merkel tree (there are some minor differences in the metadata that is included, mercurial also includes the file level parents while git does not, for example).

The inspiration came from Monotone.

Re: Prefer mercurial to git

#162
post #95

Why are people sweating small stuff like version control systems? How can you be a fanboy of a thing that keeps track of branches and patches. It's only incidentally related to Software development, you shouldn't feel as if a limb of yours was amputated if you \ gasp\ had to use a different one for another project. It's like using a different mail client or a different bug tracker; it doesn't affect what you can expr…

That's true, in a way, until someone tries to force CVS on you. Yes they are all sideline tools but once you get used to something, its the best thing in the world, until you get used to something else. Change is great, but not quite appreciated enough.

Yeah, well, there are hammers of many brands, but few have claws on both ends, as the analogy for a certain controversial piece of technology went.

Re: Prefer mercurial to git

#163
post #113

Why are people sweating small stuff like version control systems? How can you be a fanboy of a thing that keeps track of branches and patches. It's only incidentally related to Software development, you shouldn't feel as if a limb of yours was amputated if you \ gasp\ had to use a different one for another project. It's like using a different mail client or a different bug tracker; it doesn't affect what you can expr…

Because developers spend a lot of their day working with them. And it can take a significant amount of time getting to grips with a new one you are unfamiliar with. And you can often quite easily get yourself in quite a serious tangle with complex merges and operations done with VCSs leading to a lot of cursing and hatred for a particular tool. A pair of shoes is just a pair of shoes, but I'd still quite like a pair…

Maybe, but it's not something worth making into a political issue into itself, when the GNU project has actual political issues in mind, as close as they get to when speaking of a Software stack, like making sure that the management of a certain project is as close to their ideology as possible, as a political organization which writes Software (which is what the FSF and the GNU project always were, and a pair of beneficial ones at that).

Re: Prefer mercurial to git

#164
post #71
post #70

Earlier quoted context omitted.

Mercurial was announced on 2005-04-19 and git on 2005-04-07, so no Mercurial was not first. Edit: Monotone is older than git though.

I think we can state they weren't copying each other.

I think both started on the same day (due to both authors being part of the kernel "kabal" and already in the known about the upcoming bk debacle).

Mercurial was usable earlier though ;-)

(the first git versions were really really low level, and did not include features like packs, while hg had high kevel command line and its compressed storage format from the first release)

Re: Prefer mercurial to git

#165
post #99
post #7

My biggest issues with hg are that hg's revision numbers aren't synchronized across instances, they are local only[1] making them kind of useless, you can't easily have local branches[2], and it stores changesets instead of objects. I've ever seen a convincing argument to choose hg over git. Sure you can do a lot of things with it and I'm sure it's perfectly fine to use, but if you know git, and you like git, there's…

> you can't easily have local branches [2] > > http://stackoverflow.com/questions/8995598/can-i-mark-a-bran... I don't get it. As a citation for your assertion that you can't easily have local branches, you link to a StackOverflow question for which the accepted answer explains how to easily have local branches . What were you trying to say with that link?

I'm not going to answer your question because I feel like what I said (not tried to say, but said) was obvious, but I will point out that things like this kinda throw a wrench into the whole "hg's UI is better than git" don't ya think?

Re: Prefer mercurial to git

#166

Why are people sweating small stuff like version control systems? How can you be a fanboy of a thing that keeps track of branches and patches. It's only incidentally related to Software development, you shouldn't feel as if a limb of yours was amputated if you \ gasp\ had to use a different one for another project. It's like using a different mail client or a different bug tracker; it doesn't affect what you can expr…

Some people will be fanboys of anything they spend a meaningful part of their day with, because (a) it makes them feel good about themselves, and (b) they don't know any better. They're still in the larval hacker stage where they still have binary opinions about everything, because they don't yet have the technical depth to have more nuanced and informed opinions about this stuff.

If they can convince themselves that the few things they know really well are the only things that are important to know, then maybe they don't feel bad about all of the things that they're just starting to realize that they don't know. That's my interpretation at least.

Re: Prefer mercurial to git

#167

Earlier quoted context omitted.

> So the complete state of the repository is cryptographically secured It should be noted, however, that Linus and others specifically disclaim that this is a security mechanism: "Git uses SHA-1 in a way which has nothing at all to do with security.... It's just the best hash you can get.... It's about the ability to trust your data." --Linus ( http://en.wikipedia.org/wiki/SHA-1#Data_integrity ) And in the midst of a…

To be honest I don't buy his argument. If it is not about security, why not use md5? It is faster after all and gives you the same protection against accidental data corruption as sha1. And if he cared about security then he should have chosen sha256 or sha512, the latter of which is even faster than sha1 on 64bit systems [1] and can be truncated if you think it is too long. And really there is no denying that git re…

Intel is adding native SHA instructions to x86... so sha1 will probably be much faster on those CPUs.

http://en.wikipedia.org/wiki/Intel_SHA_extensions

Re: Prefer mercurial to git

#169
post #101

Earlier quoted context omitted.

Because as enterprise consultants we use what the customers require, it is not up to us to choose our tooling. Many of those customers have been sold to git hype before getting us on board.

There are some cases where customers don't know what tooling they require though ;)

True, but not on my area of work. That is seldom the case.

Re: Prefer mercurial to git

#170
post #117

Earlier quoted context omitted.

> Having no problem with closed source does not make you "anti-free-software". While true, its a bit odd of a statement. The following statements are also equally true: Having no problem with deforestation does not make you "anti-environmentalist". Having no problem with Ku Klux Klan members does not make you "anti-tolerance". Having no problem with murder and theft does not make you "anti-government". Except... if y…

>So why do you label FSF as zealots for disliking actions that helps those that want to threaten users with lawsuits Without even getting into the broken-ness of your analogies, being anti-DRM and anti-patent-abuse and so on is one thing. Calling someone evil because they don't publish the source of their app is quite another. According to their dogma, if I write a program and don't release the source code, I have pe…

> BSD is a de-facto more permissive license.

Just saying something like this seems slightly dishonest. It's more permissive for the first receiver of the code, but that therefore means that they are permitted to reduce the persmissions of subsequent receivers of the code.

So 'more permissive' in a sense yes, but not in the sense that the FSF care about - the freedoms that the end user is guaranteed. It's quite possible that the end user is ultimately granted fewer permissions because code was licensed BSD rather than GPL.

Post reply on HN