1 / 15

Version control and issue tracking options for IHE PCD

Version control and issue tracking options for IHE PCD. John Rhoads. Why?.

finn-bowman
Download Presentation

Version control and issue tracking options for IHE PCD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Version control and issue tracking options for IHE PCD John Rhoads

  2. Why? • The FTP site is not a good solution to systematically keeping track of our artifacts (documents, CPs, etc., etc.). It is currently in a poor state of organization, it is vulnerable to intentional or unintentional deletion or change, and it doesn’t represent the history and relationships among successive versions of the same things

  3. Why git? • Git is capable, popular, free open source (used for the Linux Kernel) • Many find it more flexible and easy to use than main free competitor Subversion • Much good info (including a good free ebook) on git-scm.com and elsewhere

  4. Git design criteria • Independent of network access and central control (do everything opposite of CVS) • Fast, small footprint, but powerful • You can install it on just about any machine in a couple of minutes (Windows, Mac, and of course Linux). Windows version gives a good approximation to the Linux shell (useful in itself). You can make any directory into a git repository with one command.

  5. Git: why the name? • Not an abbreviation for anything • Linus Torvalds says “I’m an egotistical bastard and I name all my projects after myself. First ‘Linux’, now ‘git’”. (Recall the British slang meaning of ‘git’ as a)

  6. Why git and GitHub? • GitHub is the equivalent of an online utility for version control. It’s free unless you want privacy (unimportant for Open Source projects like ours) or more than 10 ‘committers’ (read access is unlimited). They provide a relatively nice GUI for Windows and Mac, and a web app, as an alternative to command line use.

  7. Making a Git repository on your computer from the command line The command to make the current directory have a local repository $ gitinit Git responds – this means you have a repository now Initialized empty Git repository in /Users/jrhoads/Documents/GitHub/IHEPCD/CP/.git/ The command to prepare (“stage”) the files in this directory and its subdirectories to be version-controlled in your git repository gitadd .

  8. Committing a Git repository (that is, saving the current state of your project on your computer) Command to see what files git plans to commit to your repository $ gitstatus Git response – I’m prepared to commit two files that will be new to the repository On branch master Initial commit Changes to be committed: (use "gitrm --cached <file>..." to unstage) new file: CP-PCD-070.doc new file: CP-PCD-070.txt

  9. Going further with Git • Plain git from the command line allows you to run a distributed version control project with a minimum of fuss and a maximum of power and flexibility • Several graphical user interfaces and Windows-integrated shell extensions give the same power to the command-line averse. • Github.com is a good source of info and tutorials for both command-line and GUI. See also git-scm.com

  10. GitHub from the web, as opposed to the command line Take a look at, for example: Github.com/IHEPCD/TF Click the “clone” button to create a clone of the repository on your own machine (or the ZIP button to download a zip file of the repository) Or, to get a single file, click the file and then right-click the Raw button and “save link as”, then choose where you want the file on your machine

  11. Issue tracking for Ihepcd

  12. Why issue tracking? • Email streams and wiki hard to manage when things get complicated. Easy for things to ‘fall through the cracks’. Hard for everyone to see what’s happening on an issue. • Gives clarity on who owns the issue

  13. Issue tracking alternatives • Many options: • GitHub has a rudimentary issue tracking facility, but it has poor support for managing the state of the issue • Jira is nice but proprietary • Redmine is free open source but you are on your own for hosting • JetBrainsYouTrack has a hosted option that’s free on a basis similar to GitHub (that is, if you want privacy or a lot of users with admin rights, you pay)

  14. Issue Tracking in progress • I’m trying out YouTrack. Stay tuned for results.

  15. Questions?

More Related