GitHub

Shlomi Fish shlomif at iglu.org.il
Sun May 31 09:25:47 GMT 2009


On Sunday 31 May 2009 00:00:01 Andy Armstrong wrote:
> Does anyone object if I move the repo for Test::Harness to GitHub? :)

I'm not really a T::H developer and so my vote may not count, but I would 
prefer to keep it as a Subversion repository.

I'd like to take this opportunity to rant about how confusing and 
idiosyncratic and obscure I find git to be. I don't understand why it does 
what it do, why it doesn't work properly when it doesn't and what it does 
behind the scenes that makes it so arcane and hard-to-understand. 

For example, until recently a 
"git push git at github.com:shlomif/mastering-perl.git" worked perfectly fine, 
and only emitted the necessary information, but yesterday I got this verbiage:

{{{{{{{{{{{{{{{{{{{
$ git push git at github.com:shlomif/mastering-perl.git
warning: You did not specify any refspecs to push, and the current remote
warning: has not configured any push refspecs. The default action in this
warning: case is to push all matching refspecs, that is, all branches
warning: that exist both locally and remotely will be updated.  This may
warning: not necessarily be what you want to happen.
warning:
warning: You can specify what action you want to take in this case, and
warning: avoid seeing this message again, by configuring 'push.default' to:
warning:   'nothing'  : Do not push anything
warning:   'matching' : Push all matching branches (default)
warning:   'tracking' : Push the current branch to whatever it is tracking
warning:   'current'  : Push the current branch
Everything up-to-date
}}}}}}}}}}}}}}}}}}}

What are refspecs and why should I care? Why doesn't a simple push operation 
just works and does the right thing? And why did it broke all of a sudden?

This is just a tiny example. I also had many problems with "git checkout" and
"git diff" no longer showing the diff for files that were "git add"'ed and 
other aspects. 

Maybe I should read a good git tutorial or a document explaining its 
architecture, but so far I found git hard-to-understand, poorly documented, 
and counter-intuitive. I didn't have such problems with Subversion, which 
always worked as I expected and was properly documented and intuitive.

Perhaps Mercurial would be better than git in this respect, but I have little 
experience with it to testify. The Subversion developers seem to like it 
better than git, and I think you can trust their judgement to some extent.

I'm sorry for this rant, but it was coming.

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
"Humanity" - Parody of Modern Life - http://xrl.us/bkeut

God gave us two eyes and ten fingers so we will type five times as much as we
read.



More information about the tapx-dev mailing list