Skip to content

[Bioc-devel] Cannot move 'xps' to GIT

11 messages · cstrato, Martin Morgan, Turaga, Nitesh

#
Dear all,

I wanted to update my package 'xps' and realized that I can no longer 
use 'svn commit'

In order to use GIT I did the following:


1, I created a public key '~/.ssh/id_rsa.pub'


2, I did submit my 'SSH public key or github id to Bioconductor', using 
the 'git/svn transition: ssh keys' form.

Here I entered my SVN user id, but it was not clear what my ID is.
So I checked 'svn info' and used  first my name 'c.stratowa' as SVN user id.
Since I did not succeed I repeated the procedure and used the UUID as 
SVN user id.

Is this correct, or how do I get my SVN user id?


3, I created a new GitHub repository:

https://github.com/cstrato/xps


4, Then I tried to clone the empty repository from GitHub. Here is the 
result:

iMac:GIT cstrato$ git clone https://github.com/cstrato/xps.git
Cloning into 'xps'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
iMac:GIT cstrato$ git clone https://github.com/cstrato/xps.git
fatal: destination path 'xps' already exists and is not an empty directory.
iMac:GIT cstrato$ cd xps
iMac:xps cstrato$ git remote add upstream 
git at git.bioconductor.org:packages/xps.git
iMac:xps cstrato$ git fetch upstream
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


5, I realized that I needed to add my public key to:
https://github.com/settings/keys

The email I got was:
The following SSH key was added to your account:
iMac
df:2d:**:**:** etc

If you believe this key was added in error, you can remove the key and 
disable access at the following location:
https://github.com/settings/keys


Now my questions are:

Do you think the SSH key should look as the one I got?

What did I do wrong?

Why do I get: permission denied?


Thank you.
Best regards,
Christian
_._._._._._._._._._._._._._._._._._
C.h.r.i.s.t.i.a.n   S.t.r.a.t.o.w.a
V.i.e.n.n.a           A.u.s.t.r.i.a
e.m.a.i.l:        cstrato at aon.at
_._._._._._._._._._._._._._._._._._
4 days later
#
On 10/08/2017 01:37 PM, cstrato wrote:
there's a single public key associated with access to xps, ending with

   /m+bdjnFrDw5Fod8Sa9zDh2vXcICrNcxWGds2rbG3Q==

that should correspond to one of the public keys in your ~/.ssh/ 
directory. If not, resubmit the form with You can try

   ssh -v git at git.bioconductor.org

and try to diagnosis why this public key is not being matched; a 
possibility is FAQ #15 where git is choosing the wrong key

   https://bioconductor.org/developers/how-to/git/faq/
no, that doesn't look like an ssh key, it looks like a MAC address.

What's you're github user id? the link https://github.com/settings/keys 
is only useful to you. My public key is at https://github.com/mtmorgan.keys
This email message may contain legally privileged and/or...{{dropped:2}}
#
Dear Martin,

Thank you for your informative reply.

1, My SSH public key that you mentioned is the correct one.



2, After following your advice and running

   ssh -v git at git.bioconductor.org

I got:

OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to git.bioconductor.org [34.192.48.227] port 22.
debug1: Connection established.
debug1: identity file /Users/rabbitus/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
...
debug1: Remote: PTY allocation disabled.
PTY allocation request failed on channel 0
hello c.stratowa, this is git at ip-172-30-0-33 running gitolite3 
v3.6.6-6-g7c8f0ab on git 2.13.0
...
bash: debug1:: command not found



3, Nevertheless, I could run:

   git clone git at git.bioconductor.org:packages/xps

I got:
Cloning into 'xps'...
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
remote: Counting objects: 2757, done.
remote: Compressing objects: 100% (2741/2741), done.
remote: Total 2757 (delta 2077), reused 0 (delta 0)
Receiving objects: 100% (2757/2757), 5.62 MiB | 945.00 KiB/s, done.
Resolving deltas: 100% (2077/2077), done.
Checking connectivity... done.



4, In 'https://github.com/settings/keys' I deleted the old SSH key and 
tried to add a new SSH key, where in 'Key' I copied once again my public 
'id_rsa'. However, once again I received an email with the wrong key 
'df:2d:78:4f:**'

I do not understand why my correct key is not accepted.

According to 'https://caius.github.io/github_id/' my user id is:
cstrato is github user #32616897

My public key at 'https://github.com/cstrato.keys' is still empty.


I am not sure what I need to do next?

Thank you.
Best regards,
Christian
On 10/12/17 19:40, Martin Morgan wrote:
#
On 10/12/2017 04:13 PM, cstrato wrote:
From the Bioconductor perspective, I think you are 'good to go', and 
you could follow, e.g.,

     http://bioconductor.org/developers/how-to/git/maintain-bioc-only/

to commit and push changes to the Bioconductor git repository. These 
changes would be incorporated into the nightly builds, etc., as before.
This is the 'fingerprint' of the SSH public key, rather than the public 
key itself.
I don't know the answer to this github question; maybe public keys are 
not displayed by default? At any rate it 'does not matter'; github 
allows you to clone via https + password, or via ssh; all you need is to 
be able to clone your newly created, empty github xps repository, which 
it seems from below that you can.

It sounds like, now that you have access to git.bioconductor.org, you 
could follow

   https://bioconductor.org/developers/how-to/git/maintain-github-bioc/

Martin
This email message may contain legally privileged and/or...{{dropped:2}}
#
Dear Martin,

Following your advice

    https://bioconductor.org/developers/how-to/git/maintain-github-bioc/

I did the following:

$ cd xps
$ git remote add upstream git at git.bioconductor.org:packages/xps.git
$ git fetch upstream
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
 From git.bioconductor.org:packages/xps
  * [new branch]      RELEASE_2_10 -> upstream/RELEASE_2_10
  * [new branch]      RELEASE_2_11 -> upstream/RELEASE_2_11
  * [new branch]      RELEASE_2_12 -> upstream/RELEASE_2_12
  * [new branch]      RELEASE_2_13 -> upstream/RELEASE_2_13
  * [new branch]      RELEASE_2_14 -> upstream/RELEASE_2_14
  * [new branch]      RELEASE_2_2 -> upstream/RELEASE_2_2
  * [new branch]      RELEASE_2_3 -> upstream/RELEASE_2_3
  * [new branch]      RELEASE_2_4 -> upstream/RELEASE_2_4
  * [new branch]      RELEASE_2_5 -> upstream/RELEASE_2_5
  * [new branch]      RELEASE_2_6 -> upstream/RELEASE_2_6
  * [new branch]      RELEASE_2_7 -> upstream/RELEASE_2_7
  * [new branch]      RELEASE_2_8 -> upstream/RELEASE_2_8
  * [new branch]      RELEASE_2_9 -> upstream/RELEASE_2_9
  * [new branch]      RELEASE_3_0 -> upstream/RELEASE_3_0
  * [new branch]      RELEASE_3_1 -> upstream/RELEASE_3_1
  * [new branch]      RELEASE_3_2 -> upstream/RELEASE_3_2
  * [new branch]      RELEASE_3_3 -> upstream/RELEASE_3_3
  * [new branch]      RELEASE_3_4 -> upstream/RELEASE_3_4
  * [new branch]      RELEASE_3_5 -> upstream/RELEASE_3_5
  * [new branch]      master     -> upstream/master
$ git fetch upstream
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
$ git merge upstream/master
Already up-to-date.
$ git push origin master
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
Everything up-to-date
$ git remote -v
origin  git at git.bioconductor.org:packages/xps (fetch)
origin  git at git.bioconductor.org:packages/xps (push)
upstream        git at git.bioconductor.org:packages/xps.git (fetch)
upstream        git at git.bioconductor.org:packages/xps.git (push)
$ git checkout master
M       DESCRIPTION
M       NEWS
M       configure.in
Already on 'master'
Your branch is up-to-date with 'origin/master'.
$ git add -v DESCRIPTION
add 'DESCRIPTION'
$ git add -v NEWS
add 'NEWS'
$ git add -v configure.in
add 'configure.in'
$ git push origin master
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
Everything up-to-date
$ git push upstream master
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
Everything up-to-date


I hope that I could commit my changes and my development version on

    https://github.com/cstrato/xps

will be updated to 'xps_1.37.2'


(PS: my repository https://github.com/cstrato/xps is still empty)

Thank you very much for your help.
Best regards,
Christian
On 10/12/17 23:21, Martin Morgan wrote:
#
Hi,

Both your `origin` and `upstream` are set to the same location i.e git at git.bioconductor.org:packages/xps.

This is wrong. You want your origin to point to `git at github.com:cstrato/xps`

You can do this by following the commands, 

	`git remote set-url origin git at github.com:cstrato/xps.git`

	`git push origin master` 

All of this documentation is given in bioconductor.org/developers/how-to/git/. 

Best,

Nitesh
This email message may contain legally privileged and/or confidential information.  If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited.  If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.
#
Dear Turaga,

As you suggested, I did:

$ git remote set-url origin git at github.com:cstrato/xps.git
$ git remote -v
origin  git at github.com:cstrato/xps.git (fetch)
origin  git at github.com:cstrato/xps.git (push)
upstream        git at git.bioconductor.org:packages/xps.git (fetch)
upstream        git at git.bioconductor.org:packages/xps.git (push)

However, now I can no longer do:

$ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


My repository https://github.com/cstrato/xps is still empty.


Do you know what the problem might be?

Could it be that the 'git/svn transition: ssh keys' form did not accept 
my SSH public key?

Or could it be that I am running Firefox in 'private browsing' mode 
(although cookies are activated)?

To test this I have just turned off the 'private browsing' mode and 
resubmitted my SSH public key to 'git/svn transition: ssh keys'. The 
form now displays:
Thanks for providing your ssh key; access should be enabled in 1 
business day.

Now the reply email from the Google form does indeed display my correct 
ssh key.

Maybe, you should mention in the 'howto' that the private browsing mode 
need to be turned off, too, in addition to the need to allow cookies. 
(Firefox 56.0 does allow to activate cookies even when in private 
browsing mode!)


BTW, I tried to follow 'bioconductor.org/developers/how-to/git/'. It 
contains 12 links to other sites, and sometimes it is not clear to me 
how to proceed further.

Now I have checked it once again, but for some reason I did not find the 
command 'git remote set-url origin ...' that you suggested on any of the 
12 links.
Maybe I missed it?

Regards,
Christian
On 10/13/17 20:12, Turaga, Nitesh wrote:
1 day later
#
Hi,

Since 'https://github.com/cstrato/xps' does only contain information how 
to create or push a repository I tried to follow again:

 
http://master.bioconductor.org/developers/how-to/git/push-to-github-bioc/


2. View existing remotes
$ git remote -v
origin  git at github.com:cstrato/xps.git (fetch)
origin  git at github.com:cstrato/xps.git (push)
upstream        git at git.bioconductor.org:packages/xps.git (fetch)
upstream        git at git.bioconductor.org:packages/xps.git (push)


3. Make and commit changes to the master branch
$ git checkout master
M       DESCRIPTION
M       NEWS
M       configure.in
Already on 'master'
Your branch is up-to-date with 'origin/master'.
# edit files, etc.
$ git add -v DESCRIPTION
$ git add -v NEWS
$ git add -v configure.in



When running 'commit' I got the following information, which is not 
clear to me:

$ git commit -m "update for configure.in"
[master 7a9855f] update for configure.in
  Committer: rabbitus <rabbitus at lumimacs-iMac.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:

     git config --global --edit

After doing this, you may fix the identity used for this commit with:

     git commit --amend --reset-author

  3 files changed, 62 insertions(+), 58 deletions(-)



So I tried:

$ git config --global --edit
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
#       name = rabbitus
#       email = rabbitus at lumimacs-iMac.local


and changed the '.gitconfig' file to:
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
#       name = cstrato
#       email = cstrato at aon.at



It is not clear to me whether I have to change my name/email or keep the 
original one.

Could you tell me which one should be the correct one?



Then I did run:

$ git commit --amend --reset-author
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Committer: rabbitus <rabbitus at lumimacs-iMac.local>
#
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#   (use "git push" to publish your local commits)
#
# Changes to be committed:
#       modified:   DESCRIPTION
#       modified:   NEWS
#       modified:   configure.in


In this case I did not change anything, since I am not sure what it means.

Can you explain what this means, since 
'https://git-scm.com/docs/git-commit' did not help me.

Should I change this file?



Then I did steps 5 and 6 and got the following:

5. Push updates to GitHub's (origin) master branch
$ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


6. Next, push updates to Bioconductor's (upstream) master branch
$ git push upstream master
Enter passphrase for key '/Users/rabbitus/.ssh/id_rsa':
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 727 bytes | 0 bytes/s, done.
Total 5 (delta 4), reused 0 (delta 0)
To git.bioconductor.org:packages/xps.git
    d63ffaf..d83779f  master -> master



Finally I did:

$ ssh -v git at git.bioconductor.org/packages/xps
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/rabbitus/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
ssh: Could not resolve hostname git: nodename nor servname provided, or 
not known


However, now I get only an ssh error message:


Do you know what I did wrong this time?


Thank you.
Best regards,
Christian
On 10/13/17 20:12, Turaga, Nitesh wrote:
#
I have just seen the update 2017-10-15 of the BUILD/CHECK report:

  http://bioconductor.org/checkResults/devel/bioc-LATEST/xps/

which was not available when I have sent my former mail.

For some reason my commit to version xps_1.37.2 was not accepted.

Please tell me what I need to do to solve this problem.

Best regards,
Christian
On 10/15/17 21:37, cstrato wrote:
#
On 10/15/2017 06:00 PM, cstrato wrote:
I guess you mean this commit

xps master$ git log -n 1
commit d83779f467f7ac6736f95f4f8b78839654ab1af2
Author: rabbitus <rabbitus at lumimacs-iMac.local>
Date:   Sun Oct 15 13:52:26 2017 +0200

     update for configure.in

which is where the version bump occurred

xps master$ git show d83779f467f7ac6736f95f4f8b78839654ab1af2 DESCRIPTION
commit d83779f467f7ac6736f95f4f8b78839654ab1af2
Author: rabbitus <rabbitus at lumimacs-iMac.local>
Date:   Sun Oct 15 13:52:26 2017 +0200

     update for configure.in

diff --git a/DESCRIPTION b/DESCRIPTION
index fb59243..af15fa0 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,5 +1,5 @@
  Package: xps
-Version: 1.37.1
+Version: 1.37.2
  Title: Processing and Analysis of Affymetrix Oligonucleotide Arrays
          including Exon Arrays, Whole Genome Arrays and Plate Arrays
  Author: Christian Stratowa, Vienna, Austria


As you know, bioconductor builds are NIGHTLY. The build report you cite 
has a snapshot date of 2017-10-14 17:00:13 -0400 (Sat, 14 Oct 2017) so 
your commit cam after the snapshot.

Wait for the next build report.

Martin
This email message may contain legally privileged and/or...{{dropped:2}}
#
Dear Martin,

Thank you for this clarification.

I must admit that I did not realize that there exists now a 'git log' 
Snapshot Date, since usually the information:
'This page was generated on 2017-10-15 16:06:50 -0400 (Sun, 15 Oct 2017)'
was sufficient for me.

Best regards,
Christian

P.S.:
Since there are still a couple of questions open, but maybe I have asked 
too many questions in this thread, I have decided to create a new thread 
for every question that I have (I hope these questions may be of general 
interest.)
On 10/16/17 04:00, Martin Morgan wrote: