conversas [email protected] - "svn+code.ua"

23
Diogo Gomes <[email protected]> Diogo Gomes [email protected] t

Upload: diogo-gomes

Post on 27-Jun-2015

1.440 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes<[email protected]>

Diogo [email protected]

Page 2: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 2

Project Management

– Meet your project enemies

Page 3: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 3

Managing Projects

• Where do you keep issues/to-do’s ?– Email ?– Excel Sheets ?– Post-it’s

• What about documentation– Word document

• How do you handle collaboration ?!

Page 4: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 4

Managing Files

• Exchanging files, code, docs– Email ?– FTP ?– USB sticks ?!

• Backups– Renaming files (v1, v2, very old, backup, bck)– Multiple folders– External device (USB stick, USB disk)

Page 5: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 5

Solutions

• Software tools can help:–Track iterations–Organize Documentation–Organize Data/Code–Collaborate

Page 6: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 6

Project Management

• Innumerous Tools– MS Project, Trac, *Forge, Redmine, Google Code

• Functionalities– Collaboration (wiki’s, mailing lists, forum’s)– Issue Tracking– Time Planning– Portfolio– Resources Management– Documentation Management

Page 7: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 7

Wiki

• It’s a set of interlinked web pages created using a simplified markup language

• Enables cooperative editing of documentation– Anyone can edit!

• Navigation is usually chaotic, but provides a better mapping of relationship between subjects.

Page 8: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 8

Issue Tracking

• trouble ticket system, support ticket or incident ticket system can overlap with bug tracker

• Systematic approach to problem solving• Enables efficient tracking of progress• Provides the means to monitor and

coordinate a project progress

Page 9: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 9

Source Code Management (SCM)

• don’t worry about overwriting files or losing code.

• keep a constant history of every file in your project.

• view the changes to specific code, review with your team, and even roll back changes to previous versions.

Page 10: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 10

Benefits of SCM’s

• Improves team collaboration. – Many people can update the same files without

the risk of overwriting each others work.• Can provide a constant backup of your files in

a central location, where you can share changes and updates with team members.

Page 11: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 11

Source Code Management (SCM)

• SCM models– Atomic Operations– File Locking– Version Merging– Baselines, labels and tags

• Repository Model– Centralized (CVS, SVN, VSS)– Distributed (GIT, Mercurial)

Page 12: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 12

CodeUA• Objectives

– Provide the academic community a tool that can assist in software project management.• Research (IEETA, IT)• Classes (ARA, Eng. Software, Eng. Serviços, FR, P*, etc)

– To allow both public and private projects– To gather all efforts under a single entity/tool– Multiplatform Solution (Windows, Linux, OSX)– Integrated with the university remaining services (SSO)

• Opportunities– To provide students experience using software and project management tools– Usage of the tool in order to track grad-students progress– Mass software collection tool

• Platform used: Redmine + SVN (WIP: GIT)

Page 13: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 13

Redmine

• http://www.redmine.org/• Main features

– Multiple project support– Flexible access control system– Issue tracking– Document Management– RSS and E-Mail notification– Per Project Wiki’s and Forum’s– Time Management including Gantt graph generation– Easy integration of several SCM’s (eg: SVN, CVS, Git)– New functionalities can be introduced through Plugins

• Built on Ruby-on-Rails (RoR) (Mongrel + MySQL)

Page 14: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 14

Projects

• Subprojects– Ex: Project Cake, sub-project

Chocolate Cake

• Issues can be used to track both features and bugs

• Integration between SCM, Issues, Wiki– Example: commits can

reference an Issue #

• Roadmaps enable to track project milestones, and plan ahead

Page 15: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 15

SCM Integration

• Navigation through the repository

• Statistics • Comments Integration• Shared Authentication

(Web / SCM)

Page 16: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 16

SVN

• How can I use SVN?• Client Software– Windows: TortoiseSVN– Linux: Use the cmdline – OSX: Versions

• Create your project– CodeUA – Google Code– SourceForge

Page 17: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 17

SVN basics

• Checkout– Download project

• Alter your files locally

Page 18: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 18

SVN basics

• Commit– Upload your changes

• Keep all versions

Page 19: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 19

SVN (1)

• svn checkout path://to.project.site/ folder

– imports the content of the URL into a new folder called subversion

• svn update

– used to grab the latest version of files from the Subversion server.

• svn log

– log of what happened in the repository

Page 20: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 20

SVN (2)

• svn import /fs/path path://to.project/

– Used to initially import your files to the server• svn add file

– indicates that a new file should be versioned• svn delete file

– indicates that a file should be removed from the HEAD

• svn commit

– used to grab the latest version of files from the Subversion server.

Page 21: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 21

SVN (3)

• svn diff file

– what have I done compared with the repository • svn blame file

– who did which change to the file• svn status

– shows the things that have changed in your working copy.

Page 22: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 22

WALK THROUGHhttps://code.ua.pt

Page 23: Conversas 2.0@sapo.labs - "svn+code.ua"

Diogo Gomes <[email protected]> 24

GIT

• Not dependent on network access or a central server

• Strong support for non-linear development

• Very Fast• Compatibility with

existing systems/protocols

• Important Concepts– Pull, Push, Commit