This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: git commits to Systemtap


On Mon, Jul 28, 2008 at 01:16:35PM -0700, Dave Nomura wrote:
> I got as far as the "git push" and got the following:
> vervainp2.rchland.ibm.com% git push
> fatal: The remote end hung up unexpectedly
> vervainp2.rchland.ibm.com% git pull
> Already up-to-date.
> vervainp2.rchland.ibm.com% git push
> fatal: The remote end hung up unexpectedly
>
> I originally got the clone via:
>    git clone git://sources.redhat.com/git/systemtap.git git
>
> Do I need to use the "ssh:" variant to create the clone?  

When you originally create a repository via git-clone, it sets up your
.git/config file so that the "origin" remote is the CRL that was used
to clone the repository.  For example, since you cloned via 

>    git clone git://sources.redhat.com/git/systemtap.git git

Your .git/config file has some lines in it that looks like this:

[remote "origin"]
	url = git://sources.redhat.com/git/systemtap.git
	fetch = +refs/heads/*:refs/remotes/origin/*

"origin" is used as the default when you don't specify an argument to
"git pull" or "git push", and so that's what gets used when you use
the command "git push".  And yes, a git:// URL can only be used for
read-only pulls.

By the way, all of these are equivalent, given the above lines in your
.git/config file:

	git pull
	git pull origin
	git pull git://sources.redhat.com/git/systemtap.git "+refs/heads/*:refs/remotes/origin/*"

(For what this all means, read the man page for "git-pull".  :-)


In any case, you do need to have an account on sources.redhat.com
before the ssh:// URL will work.  Assuming that you have an account
already, you can also just edit your .git/config file to add the
following lines:

[remote "publish"]
	url = ssh://sources.redhat.com/git/systemtap.git
	push = master:master

Now then you can type the command "git push publish", and it will use
your ssh account on sources.redhat.com to push patches to the git
repository.  And yes, with the above in your .config file, "git push
publish" is equivalent to:

	 git push ssh://sources.redhat.com/git/systemtap.git master:master

... but with less typing.  :-)

> variant?   Here's what I got when I tried the ssh: variant:
> vervainp2.rchland.ibm.com% git clone
> ssh://sources.redhat.com/git/systemtap.git systap
> Initialize systap/.git
> Initialized empty Git repository in /home/dcn/systemtap/systap/.git/
> The authenticity of host 'sources.redhat.com (209.132.176.174)' can't be
> established.
> RSA key fingerprint is 1d:1e:46:7f:4d:73:8d:10:20:c3:4c:5a:34:14:44:23.
> Are you sure you want to continue connecting (yes/no)? yes
> Warning: Permanently added 'sources.redhat.com,209.132.176.174' (RSA) to
> the list of known hosts.
> Permission denied (publickey,gssapi-with-mic).
> fatal: The remote end hung up unexpectedly

That looks like you don't have an account on sources.redhat.com.

So until you get one, you won't be able push patches to the
repository; it's the CVS equivalent of not having "commit access".

Of course, you can use the "git format-patches" and "git send-email"
to send your proposed patches via e-mail to the systemtap list, at
which point someone with commit access could apply them for you,
possibly with some review first.

Regards,

							- Ted


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]