[OT] DVCS

Vladimir Panteleev vladimir at thecybershadow.net
Wed Oct 27 13:08:02 PDT 2010


On Wed, 27 Oct 2010 21:18:43 +0300, klickverbot <see at klickverbot.at> wrote:

> On 10/27/10 7:09 PM, Gour wrote:
>> Otoh, Git […] stands too much on the way […]
>
> Could you give any examples for this?
>
> While I can understand people who think that the raw power Git makes it  
> too easy to shoot yourself in the foot (I personally don't think so, but  
> that's a different topic), I guess I don't really see how it would stand  
> in your way, given that you can do everything you need by just chaining  
> together a few well-known commands…

Although (as you might have noticed) I prefer Git, I can answer your  
question. Examples:

* The innocent-sounding "checkout" command will irreversibly destroy your  
work (it's especially destructive if you pass it the name of a directory)
* Operations such as undoing your last commit are too cryptic (git reset  
--hard HEAD^)
* Branch commands are clumsy (creating and switching to a new branch in  
one command, setting up a tracking branch)
* Pushing requires verbose commands (specifying the remote and branch  
name), unless you configure the default remote for the current branch

As you can see, in many places Git is the antithesis to the "Make correct  
and common things easy, make shooting yourself in the foot hard"  
principle. However, I don't think this is a reason not to use Git for a  
public project.

The thing is, if you're an open-source developer with some experience,  
you'll already know how to use Git - due to the overwhelming amount of  
open-source projects already using it. Once you get used to the  
above-mentioned problems (and maybe set up some aliases to work around  
them), there really isn't much reason to learn another DVCS for the sake  
of a few of Git's shortcomings.

I think that sooner or later, like with most active open-source projects,  
the major DVCS implementations (including Git) will converge to a high  
level of stability and usability (git was much harder to use in the past,  
so I don't see why the above-mentioned problems won't be fixed in future  
major versions as well). At that point there'll be fewer factors to take  
into account when choosing a VCS: design, performance(?) and, of course,  
popularity.

-- 
Best regards,
  Vladimir                            mailto:vladimir at thecybershadow.net


More information about the Digitalmars-d-announce mailing list