SVN hotes
Last updated: Nov30,2019

CR doc (version1)
  1. The basic shit.
  2. Access SVN doc through google.
  3. Initial setup.
  4. SSH keys.
  5. First svn repository.
  6. First session at 82".
  7. Basic Procedures for SVN.



The basic shit.
 
* Login to het a go from there. 
% ssh -X sco@ute2.as.utexas.edu 
% ssh sco@ute2  (same passwd as sco mcs,ldas,...)
[sco@ute2 ~/SVN]$ ls
old_2017/
My repository will be:   svn+ssh://ute2/repos/astronomy/scolib
[sco@ute2 ~/SVN]$ ls /ute2/repos/astronomy/scolib

wifi at library:     r2FfdLT5aML8veSH

-----------------------------------------------------------------------------
TUNNEL 
I cut and paste the two files (config_hetloca and config_hettunnel) in ~/.ssh 

Test:
From steveo:
   % cp ~/.ssh/config_hettunnel ~/.ssh/config 

cd .ssh 
cp config_hettunnel config
ssh sco@ursa      (login with my usual passwd when I go to mcs from home) 
**** Leave this open, then ....

Then from sco laptop:
% ssh sco@ute2
**** Now I get in without typing in my passwd.   (also worked in library)  

$ svn co svn+ssh://ute2/repos/astronomy//scolib

-----------------------------------------------------------------------------

-----------------------------------------------------------------------------
Setting up keys:

On stevo laptop:    
 % ssh-keygen -t rsa -b 4096 -C "first keys for svn work"
 pass phrase -   scopass(my little white cat capitalized) 

*** At het control with the ethernet cable plugged in so that 
    I am on the INTERNAL network.  

From the HET control room (but on laptop):
% ssh-copy-id -i ~/.ssh/id_rsa.pub sco@ute2.as.utexas.edu
*** I have to give my passwd to allow this copy to take place.  

Then from laptop 
 ssh -X sco@ute2.as.utexas.edu 

-----------------------------------------------------------------------------

To make a working copy:
$ svn co svn+ssh://ute2/repos/astronomy//scolib
$ cp ~/.ssh/config_hetlocal ~/.ssh/config 





Access SVN doc through google.

 
CR made a google doc: 
https://drive.google.com/open?id=1pr4oaAjohmTOf8L09Q-Wht8lRUSWmezrwB5Zdgh3THY
-------------------------------------------------------------------
Go to the above URL, then enter account:   sco@utexas.edu 
Passwd:   _scog     
Choose :Try another way" and select "Enter one of your 8-digit backup codes" 
Enter one of my codes, and mark it off on "the sheet" 
-------------------------------------------------------------------

I had to do this a second time to see the Appendic A link about setting up ssh keys. Here the the link to the SVN doc.




Initial setup.

 
 CR original mail about svn doc   
-------------------------------------------------------------------------
The document is at this link:

https://drive.google.com/open?id=1pr4oaAjohmTOf8L09Q-Wht8lRUSWmezrwB5Zdgh3THY

I can't guarantee it is fully correct or complete, but it should cover what 
is needed for the time being. It will be updated and modified in the future, 
as questions come up, errors are found, and our internal practices are revised. 
It may be hosted differently in the future as well (at the moment it's a 
Google doc; in the future it may be a web page or in some other form) and 
in that case a new link will be distributed.

Give it a look and let me know if you find any problems with it, or parts 
that can be clarified. If you like, feel free to use the document's comment 
system to annotate with questions, or contact me directly.
-------------------------------------------------------------------------

SJ mail about our first meeting  
-------------------------------------------------------------------------
Dear RAs and TOs,

You will shortly get a link to the excellent Google document that Chris 
has worked hard on and which explains (I think) everything we need to 
know about SVN to get started using it regularly at HET.

We will meet with Chris next Wednesday (Nov 27) from 3-4pm in the 82" 
Library for a hands-on workshop of creating and committing to SVN 
repositories. To make the best use of our time together, I wanted to 
ask you all to attempt the following steps before we meet:

1. Read the document from Chris. I learned things about SVN I never 
   knew, and it gives good examples along the way. If you have questions 
   before we get together, please raise them - they can either be covered 
   in our session next week or worked out ahead of time. So, please make 
   time to read the document completely.

2. Verify that you can log in to ute2. I took a quick look and found 
   these logins, if that helps:
 logins      last used:
 awestfall   18 Dec 2018
 nathan     never
 cassie     never
 justenp     30 Oct 2018
 stevenj     20 Nov 2019
 sco     30 May 2017
 sir     23 Sep 2019

3. Set up SSH keys (if you want) for efficient access to svn on ute2

3b. Create an SSH tunnel to access svn on ute2 from outside the HET wired network (this will be important to access ute2 during our session together next week, and if you want to access svn from the wireless network, at home, or offsite).

4. Choose one of your projects to be the first to create a repository for. Ideally it would be fairly simple, that doesn't interact a lot with TCS, and which other TOs/RAs might use. You probably already have it listed on the spreadsheet of projects:
https://docs.google.com/spreadsheets/d/12EwIbfK7k4dA34Xk2YmftVmHKQICGBuottdndNOy4O4/edit#gid=0
It would be good to know where your source code lives and have an idea of what this project does.


Then, at the session next Wednesday, we will:
-verify that everyone can log in to ute2
-verify that SSH keys/tunnels are working
-with help from Chris, create a repository for your project
-add code and commit an update to that repository
-discuss questions/answers with Chris


At a future session we will need to discuss deployment/installation procedures, but this will be a good start for now to get us a little more comfortable with SVN.

As a reminder, we're meeting:
3-4pm Wednesday Nov 27th, 82" Library. Bring your laptops.

Let me and Chris know if you have any questions/problems with these steps beforehand (it's worth trying things ahead of time to keep everyone on the same page together).

Thanks,
Steven
-------------------------------------------------------------------------


An old Sep19,2019 email I sent :
-------------------------------------------------------------------------
Hi guys: 

  That was an intersting conversation about svn we had this afternoon. 
I have looked over a variety of codes I regularly use. After our discussion, 
I'm not sure they will be appropriate for a simple practical example. Each 
code calls a lot of other codes. However, in the spirit of mvoing forward, 
and because I said I would send a list, here are a few suggestions of things  
that might be used as a test case: 
  
  1) pas_imlistgen  
       Gathers lists of PAS images by type (bib, acm, gc1, etc....) and 
       conditions (last image taken, all images, newest images, etc...) 
       for a user-specified date. 

  2) fgstar
       Displays an HET field with the IHMP footprint and probe annuli 
       overplotted. Potential USNO-B1.0 catalog sources are overplotted 
       in the user-specified annulu (e.g. stars in the gc1 area). 

  3) biblook 
       Displays a BIB image with ds9 and derives the peak pixel value. 
       This is useful for conducting the high speed BIB test. 

In reality, choices 2 and 3 call lots of other codes. Hence, I'm not sure 
how practical they would be for an introductory exercise. 

-Steve 
-------------------------------------------------------------------------

 Old May2017 notes I made with Chris  
-------------------------------------------------------------------------

Tue May 30 10:54:12 CDT 2017
============================

I have a collection of scripts (./src01) that I wil: 
  1) commit to a source repository
  2) pull the source back 
  3) install from scratch in a temporary bin directory. 

The 3 scripts are: 
  iput     == general script installer 
  show_help == handle online help messagaes 
  lastim    == survey the het data disk and listd the 
               last images from acm, bib, gc1, etc.....

NOTES: 
A pretty good tutorial is:  
  https://www.clear.rice.edu/comp314/svn.html
The whole issue of how to create a repository is skiterd over, just 
like at het, but most of the other phases are well covered with examples. 

Notes with Chris Robison:
We'll do the work on a local machine named:  ute2
% ssh -X sco@ute2.as.utexas.edu 
*** name reolve problem use:
% ssh sco@ute2
**** same passwd as sco mcs, ldas, vdas, ....
My repository on ute2 will be:  scodev 

-------------------------------
Here is what we did to creat my "working copy":
% ls
README.svn_example01  src01/
% mkdir scodev
% cd scodev
% cp -r ../src01 trunk
% pwd
/home/sco/SVN/example01/scodev
% ls
trunk/

When I run this, I find I do not have svn installed. 
% pwd
/home/sco/SVN/example01/scodev
% svn import -m "My first import" svn+ssh://sco@ute2/repos/scodev
svn: Command not found.

% sudo apt-get install svn             # svn not recognized  
% sudo apt-get install subversion      # this worked 

I try again to do the import 
% svn import -m "My first import" svn+ssh://sco@ute2/repos/scodev
sco@ute2's password: 
svn: E170013: Unable to connect to a repository at URL 'svn+ssh://sco@ute2/repos/scodev'
svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
svn: E210002: Network connection closed unexpectedly
**** Chris is working 

% svn import -m "My first import" svn+ssh://sco@ute2/repos/scodev
sco@ute2's password: 
sco@ute2's password: 
sco@ute2's password: 
Adding         BB
Adding         README.svn_example01
Adding         S
Adding         S/README.svn_example01
Adding         scodev
Adding         scodev/trunk
Adding         scodev/trunk/iput
Adding         scodev/trunk/lastim
Adding         scodev/trunk/show_help
Adding         src01
Adding         src01/iput
Adding         src01/lastim
Adding         src01/show_help
Committing transaction...
Committed revision 1.
*** Error: I should have been in scodev.

% svn co svn+ssh://sco@ute2/repos/scodev
sco@ute2's password: 
A    scodev/S
A    scodev/S/README.svn_example01
A    scodev/BB
A    scodev/scodev
A    scodev/scodev/trunk
A    scodev/scodev/trunk/iput
A    scodev/scodev/trunk/show_help
A    scodev/scodev/trunk/lastim
A    scodev/src01
A    scodev/src01/iput
A    scodev/src01/show_help
A    scodev/src01/lastim
A    scodev/README.svn_example01
Checked out revision 1.
-------------------------------------------------------------------------

 *** I try to log in from home ***   
-------------------------------------------------------------------------
% ssh -X sco@ute2.as.utexas.edu
ssh: Could not resolve hostname ute2.as.utexas.edu: Name or service not known

I go to het first, then:
% gomer
[sco@ursa ~]$ ssh -X sco@ute2.as.utexas.edu
sco@het.as.utexas.edu's password:   **** literally the same passwd I use for all mcs work ***** 

Note also:
I was able to access CR's  google doc. I used the print option 
and save the doc as a pdf. I can view a wonderfully large-font 
version locally with: 
% evince svn_cr_1..pd 
-------------------------------------------------------------------------




SSH keys.

 

I initially started this section from home. One thing the write-up does not make clear is that getting into the HET internal system (i.e. the system I n when I attach my laptop in the control riim via an ethernet cable) is a major pain in the ass. I never got this figure out until I got with Chris in the HET control room and we went over. Moreover, we found that the permssions on my .ssh subdiretcory on ute2 were set incorrectly. The ssh keys were never being recognized becasue of this. On mcs [sco@mcs ~]$ ssh-add -1 Could not open a connection to your authentication agent. [astronomer@mcs ~]$ ssh-add -1 Could not open a connection to your authentication agent. On sco2019: % ssh-add -1 unknown option -- 1 usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -E hash Specify hash algorithm used for fingerprints. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider. -e pkcs11 Remove keys provided by PKCS#11 provider. -q Be quiet after a successful operation.

More soon I hope.




First svn repository.

Here is my first project repository that Chris R creates around Nov27,2019.

 
Chris Robison   cerobison@utexas.edu   
Your repository is here: svn+ssh://ute2/repos/astronomy/scolib
To make a working copy:
$ svn co svn+ssh://ute2/repos/astronomy//scolib
$ cp ~/.ssh/config_hetlocal ~/.ssh/config 
 




First session at 82".

Here are some running notes from our Nov27,2019 meeting in the 82" library. Most of us (including me!) wer successfully "tunneled i" to our ute2 accounts and we were ready to make our first working copies with svn. At this point the network locked us out and we made no further progress.

 
* Login to het a go from there. 
% ssh -X sco@ute2.as.utexas.edu 
% ssh sco@ute2  (same passwd as sco mcs,ldas,...)
[sco@ute2 ~/SVN]$ ls
old_2017/
My repository will be:   svn+ssh://ute2/repos/astronomy/scolib
[sco@ute2 ~/SVN]$ ls /ute2/repos/astronomy/scolib

wifi at library:     r2FfdLT5aML8veSH

-----------------------------------------------------------------------------
TUNNEL 
I cut and paste the two files (config_hetloca and config_hettunnel) in ~/.ssh 

Test:
From steveo:
% cd .ssh 
% cp ~/.ssh/config_hettunnel ~/.ssh/config
% ssh sco@ursa   (login with my oldgermanic_het) 
**** Leave this open, then ....

Then from another window in sco laptop:
% ssh sco@ute2
* This shhould let me in with no request for a passwd. 
**** Sometimes (?) this asks for my pass key password.  Recall that 
     my passkey passwd is scopass (white cat name with captial, with 
     no underscore) 

To checkout a project: 
$ svn co svn+ssh://ute2/repos/astronomy/scolib

To make my firt working copy: 
% cd /home/sco/SVN/New1/
% svn co svn+ssh://ute2/repos/astronomy/scolib
Checked out revision 0.
% ls
scolib/

This is empty, so now I fill it with what I want there. 

The code I want: 
cp /home/sco/Installs/install_steveo_20191127/codes/fortran/gfortran_compiler/libs/otwlib


I think a useful thing will be for me to:
Get the permisoons for my .ssh subdir and the files in it on my 
machines:   steveo. ute2, sco2019, ..... 
The file sof interst are: 
config_hetlocal
config_hettunnel
id_rsa
id_rsa.pub
known_hosts

On steveo (my laptop):
% pwd
/home/sco/.ssh
% ls -lt
total 76
-rw-rw-r-- 1 sco sco  177 Nov 27 15:26 config
-rw-r--r-- 1 sco sco 5530 Nov 27 14:21 known_hosts
-rw-rw-r-- 1 sco sco  177 Nov 27 13:52 config_hettunnel
-rw-rw-r-- 1 sco sco  147 Nov 27 13:49 config_hetlocal
-rw------- 1 sco sco 3326 Nov 27 11:50 id_rsa
-rw-r--r-- 1 sco sco  749 Nov 27 11:50 id_rsa.pub





Basic Procedures for SVN.

Here I list the basic SVN procedures on my laptop (steveo).

 
% tlap       (open small gnome terminals) 
 
* Login to het a go from there. 
% ssh -X sco@ute2.as.utexas.edu 
% ssh sco@ute2  (same passwd as sco mcs,ldas,...)
[sco@ute2 ~/SVN]$ ls
old_2017/
My repository will be:   svn+ssh://ute2/repos/astronomy/scolib
[sco@ute2 ~/SVN]$ ls /ute2/repos/astronomy/scolib

-----------------------------------------------------------------------------
To open a TUNNEL 
% cp ~/.ssh/config_hettunnel ~/.ssh/config
% ssh sco@ursa                   (login with my OldGermanic_het) 
**** Leave this open (in a tab) but we'll not use it anymore

Then from another window in sco laptop:
In the second tab of my tlap window, I can TEST my login to ute2: 
% ssh sco@ute2
* This shhould let me in with no request for a passwd. 
**** So far, every time I do this after a new login, this pops up a small 
     window and asks for my pass key password.  Recall that my passkey 
     passwd is scopass (white cat name with captial, with no underscore) 

*** Opena a new (SCO1 terminal) window and work. 
% ssh sco@ute2       # No passwd is requested 

To checkout a project: 
$ svn co svn+ssh://ute2/repos/astronomy/scolib

To make my FIRST working copy of scolib: 
% cd /home/sco/SVN/New1/
% svn co svn+ssh://ute2/repos/astronomy/scolib
Checked out revision 0.
% ls
scolib/
*** This is empty, so now I fill it with what I want there. 

The code I want: 
cp -r /home/sco/Installs/install_steveo_20191127/codes/fortran/gfortran_compiler/libs/otwlib .
 
# This does not look good
% pwd
/home/sco/SVN/New1
% ls
scolib/
% svn status
svn: warning: W155007: '/home/sco/SVN/New1' is not a working copy





Back to SCO code page