|
|
(16 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | {| align="right"
| |
− | | __TOC__
| |
− | |}
| |
| | | |
− | ==Introduction==
| |
− |
| |
− | Subversion is used as the version control system for the sources of the project — it holds all of the program source code and data that make up PCGen. It allows us to track changes in the various files, share our work with each other and to coordinate our activity in a single location.
| |
− |
| |
− | Developers use a subversion client to download the sources (called checkout) and update the sources with changes (called commit). The [http://subversion.apache.org/ official site] propose binaries or links to them for many operating systems. Most GNU/Linux distributions propose it as a package; in Debian it is the <a href="apt:subversion>subversion package</a>. One commonly used Windows subversion client, [[#TortoiseSVN|TortoiseSVN]], is described below. Most integrated development environments (IDEs) include Subversion support. In the case of [[Eclipse]], it is by using the the [http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA subclipse] plugin.
| |
− |
| |
− | =NEW Update with SF Upgrade=
| |
− |
| |
− | On Beta projects (versus Classic projects), Sourceforge seems to be encouraging the use of svn+ssh rather than https. It seems that using http is still possible with Beta projects, maybe limited to read only access.
| |
− |
| |
− | The command to get the trunk and put it in the pcgen-trunk directory is:
| |
− | svn checkout https://svn.code.sf.net/p/pcgen/code/Trunk pcgen-trunk
| |
− |
| |
− | ==SVN+SSH Access==
| |
− |
| |
− | It is possible to use SSH to get the repository simply with read only access. The command to get the trunk is:
| |
− | <nowiki>svn checkout svn://svn.code.sf.net/p/pcgen/code/Trunk pcgen-trunk</nowiki>
| |
− |
| |
− | To get a read/write access, the command, where USERNAME has to be changed to your Sourceforge account id is:
| |
− | <nowiki>svn checkout --username=USERNAME svn+ssh://USERNAME@svn.code.sf.net/p/pcgen/code/Trunk pcgen-trunk</nowiki>
| |
− |
| |
− | It will be asking your Sourceforge password.
| |
− |
| |
− | It is also possible to use a SSH key to avoid sending your encrypted password over the network. It is more secure, because to access PCGen repository, they need a file on your computer, not just your password. If the SSH key file is protected by a password, the protection is more improved.
| |
− | The following paragraphs describe the procedure needed in order to use the key file.
| |
− |
| |
− | ===On Windows===
| |
− |
| |
− | '''Install PuttyGen'''
| |
− |
| |
− | puttygen.exe - http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
| |
− |
| |
− |
| |
− | '''Generate a SSH Key (file ends with .ppk)'''
| |
− |
| |
− | * run puttygen
| |
− | * Generate a New Key - SSH2
| |
− | * IN the comment section add 'sourceforgeUserId@shell.sourceforge.net'
| |
− | * OPTIONAL - You may set a passphrase, SF recommends it.
| |
− | * click the Save private key button
| |
− | * enter a filename for your new .ppk file when prompted
| |
− | * press Save
| |
− | * Copy the Public Key Information
| |
− | * Go to your SF Developer Account Services
| |
− | * Edit Keys
| |
− | * Paste your Public Key here
| |
− |
| |
− |
| |
− | '''Install Pageant'''
| |
− |
| |
− | pageant.exe - http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe
| |
− |
| |
− |
| |
− | '''Run the ageant'''
| |
− |
| |
− | * double-click on pageant.exe
| |
− | * you should now see a computer with a black hat in the tray
| |
− | * Add your .ppk to the ageant
| |
− |
| |
− | * right-click on the computer with the black hat in your taskbar
| |
− | * select Add Key from the context menu
| |
− | * browse to your recently-created .ppk file and select it
| |
− | * click Open
| |
− | * enter your password when prompted (If you set the Passphrase earlier in this set up for your key, this is what it is asking for)
| |
− | * verify that your key has been added by double-clicking on the computer with the black hat
| |
− |
| |
− | If you don't want to repeat this procedure after every reboot of your client, you should place Pageant in the auto-start group of your Windows installation. You can append the keys with complete paths as command line arguments to Pageant.exe.
| |
− |
| |
− | '''Install Plink'''
| |
− |
| |
− | plink.exe - http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe
| |
− |
| |
− |
| |
− | '''Install TortoiseSVN'''
| |
− |
| |
− | TortoiseSVN download page
| |
− |
| |
− |
| |
− | '''Configure TortoiseSVN'''
| |
− |
| |
− | You need to tell TortoiseSVN to use TortoisePlink to handle SSH traffic. To do this see the following steps:
| |
− |
| |
− | * right-click on an explorer window somewhere
| |
− | * hover over TortoiseSVN in the context menu
| |
− | * select Settings from the sub-menu
| |
− | * select Network from the list on the left
| |
− | * under the SSH box in the right side, click the Browse... button
| |
− | * browse to and select TortoisePlink.exe (mine is in c:\Program Files\TortoiseSVN\bin\TortoisePlink.exe)
| |
− | * click Open
| |
− | * click Apply
| |
− |
| |
− | ===On GNU/Linux===
| |
− |
| |
− | On top of subversion client, an ssh client is needed. OpenSSH is included in most distributions, on Debian, the package is openssh-client.
| |
− |
| |
− | If you don’t have a key yet, create one with:
| |
− | ssh-keygen
| |
− | It will ask you where to store it (default is fine), and an eventual password. The public and private key will then be generated.
| |
− |
| |
− |
| |
− | This command is used to copy the public key to an SSH server (in the case of the default location to store the key):
| |
− | ssh-copy-id USERNAME@svn.code.sf.net
| |
− |
| |
− |
| |
− | Then you can use this command to grab the project:
| |
− | svn checkout --username=USERNAME svn+ssh://USERNAME@svn.code.sf.net/p/pcgen/code/Trunk pcgen-trunk
| |
− |
| |
− | In my case, my password to the id key was asked then my Sourceforge account key was asked.
| |
− |
| |
− |
| |
− | To be Done: testing commits with this configuration.
| |
− |
| |
− | ===On Mac OS X===
| |
− |
| |
− | [http://developer.apple.com/library/mac/#documentation/MacOSXServer/Conceptual/XServer_ProgrammingGuide/Articles/SSH.html Apple Developer SSH Page]
| |
− |
| |
− | =Related Articles=
| |
− |
| |
− | * Macintosh instructions can be found at [[SVN on the Mac]]
| |
− | * [[Web access to SVN]]
| |
− | * [[Merging]] with Subversion
| |
− | * [[Basic Developer Setup#Setting up with Eclipse|Setting up with Eclipse]]
| |
− |
| |
− | = Using SVN =
| |
− |
| |
− | The Subversion command line client is not terribly hard to use either, especially if you are familiar with CVS. You can download [http://subversion.tigris.org/project_packages.html binaries] for various platforms, including Windows.
| |
− |
| |
− | Note the section on that page that says that the Subversion development team does *not* directly support these binaries. They mean it. However, questions about these posted to the [http://subversion.tigris.org/servlets/ProjectMailingListList Subversion users mailing list] are usually answered pretty quickly.
| |
− |
| |
− |
| |
− | ==TortoiseSVN==
| |
− |
| |
− | TSVN is a GUI client for Subversion repositories. Before installing TSVN, please note that it is a Windows Explorer Shell extension, and as such, will not work on any other operating system.
| |
− |
| |
− | Make sure you have version 3.0 or later of the Windows Installer. This should be included in Windows Update for both Windows XP and Windows 2000. If for some reason you are still stuck on Windows 2000 (or earlier!), and can't update to the latest Service Pack, you are out of luck. I don't know if TSVN will work on Windows NT or Windows 98.
| |
− |
| |
− | # Close down all applications that might be running.
| |
− | # Download the [http://tortoisesvn.net/downloads TortoiseSVN Program] and the [http://tortoisesvn.sourceforge.net/?q=support manual].
| |
− | # Run the MSI.
| |
− | # Restart your computer.
| |
− | # Make sure you actually restarted your machine, not just logged off. TSVN is a shell extension, which means that you *must* restart your machine after installing.
| |
− |
| |
− | After you've installed TSVN, your Windows Explorer right-click context menus will all have a new entry called "Tortoise SVN". Click this new entry to see the options available. Exactly how you will connect to a repository depends on how SourceForge has Subversion set up. I'll update this entry with more information when it becomes available.
| |
− |
| |
− | TSVN uses it's own SSH client, based on PuTTY, so you don't have to have it installed separately. The first time you attempt to browse a repository or do a check out, it will ask you for your credentials. You have the option of saving those credentials for future sessions as well.
| |
− |
| |
− | See the TSVN user's [http://tortoisesvn.tigris.org/list_etiquette.html mailing list information page] to subscribe to the mailing list. There are bunches of knowledgeable people there to help with virtually any problem you might have. Please make sure you follow proper nettiquette on this list, and research any questions you might have before posting something as a bug.
| |
− |
| |
− | ==RapidSVN==
| |
− |
| |
− | If you are using an operating system other than Windows, and you want a GUI client, there is a cross platform GUI client called [http://rapidsvn.tigris.org/ RapidSVN], but I have no experience, good or bad, with that program.
| |
− |
| |
− | == Subclipse ==
| |
− |
| |
− | There is also an [http://subclipse.tigris.org/ Eclipse plug-in] that is highly thought of, see [[Basic Developer Setup]] for details.
| |