Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Copyright
Dedication
Contents at a Glance
Contents
About the Authors
About the Technical Reviewer
About the Cover Image Artist
Acknowledgments
Introduction
Chapter 1: Are You Set Up? Creating a Basic Development Environment
Microsoft Windows
Getting the package
Getting your install on
Mac
Getting the package
Setting up
MAMP Pro
Ubuntu
Package manager
Terminal method
Summary
Chapter 2: In the Beginning There Were Just Files
What is version control?
The earlier version control solutions
SCCS
RCS
PVCS
CVS
ClearCase
VSS
Perforce
AccuRev
BitKeeper
Summary
Chapter 3: Meet the Current Players in the Game: SVN, Git, and Mercurial
The differences between then and now
An introduction to the lead players: SVN, Git, and Mercurial
What's the difference between them and why should I care?
Apache Subversion (SVN)
Mercurial
Git
Where to install and usr/local
Compiling software
The process of SVN and setting it up
Setting up on Windows
Setting up on Mac
Setting up on Ubuntu
Using a real application to work with SVN
How Mercurial does the job and getting it set up
Setting up on Windows
Setting up on Mac
Setting up on Ubuntu
Compiling from source
How Git is a little bit different
Setting up on Windows
Setting up on Mac
Setting up on Ubuntu
Compiling from source
Summary
Chapter 4: The Benefits of Version Control
Having a backup of your files
Naming conventions
USB drives
External hard drives
Dropbox
Backup summary
Collaborative projects
The ability to work on different machines
A full history of changes
Safety from deleted files
Going back to a previous version
Checking for differences between files
Dealing with indecisive clients
Comments
Using comments to deal with bugs
The drawbacks of e-mail
Giving clients confidence in you
Working on projects and files
Going local
Merging
Branching
Bridging
Summary
Chapter 5: I Don't Like Terminal; Which Programs Can I Use?
SVN
Windows
Mac
Unix
SVN Summary
Mercurial
Windows
Mac
Mercurial summary
Git
Windows
Mac
Git summary
Summary
Chapter 6: You Mean I Can Version Control Everything?!
Why version control isn't the solution for some files
Cloud storage
zovo
Amazon Cloud Drive
ZumoDrive
Dropbox
Visual versioning
PixelNovel
Adobe Drive 3
Zoom
Document management
Microsoft SharePoint
HyperOffice
MagnetSVN
Google Docs
Summary
Chapter 7: What Can Make My Life Easier?
Windows editors
Notepad++
Visual Studio
Mac editors
TextMate
Coda
BBEdit
Cross platform
Eclipse/Aptana
NetBeans
SVN
Mercurial
Git
Adding and committing
Sublime Text 2
Mercurial
SVN
Git
Summary
Chapter 8: I Have a Conflict: What Can I Do?
Manual conflict management
SVN
Mercurial
Git
Configuring a merge tool for use
GUIs
Windows
Mac
Linux
Cross-platform
Summary
Chapter 9: I'm Feeling Brave; Can I Do This With Terminal?
SVN
.bash_profile on Mac or Linux
SVN merge
Setting up on Windows
Global options
SVN checkout
svn status
Update
Specific revisions
svn export
svn help
svn log
svn import
Conflicts, and how to solve them
Reverting changes
Deleting, moving, and renaming files
svn add * (multiple files)
SVN Summary
Mercurial
Configuration
Some global options
Creating and cloning repositories
Basic file operations
Going remote
Mercurial summary
Git
Setting up merge tools
Creating a repository
Cloning a repository
Basic commands
git log
Reverting unstaged changes
Moving and renaming files
Reverting to previous changes
Tagging
Pulling changes
Pushing changes
Git summary
Chapter summary
Chapter 10: How to Create a Server
Setting up the server
Domain names and DNS records
A few good hosting providers
Linode
Media Temple
SVN
Getting started
Managing users
Integrating with Apache
You're up and running!
Mercurial
Getting started
Managing users
Integrating with Apache
Git
Getting started
Gaining access to the server
Cloning the repository
Summary
Chapter 11: I Don't Have a Server, What Other Options Do I Have?
Beanstalk
Features
Support
Pricing
To sum up Beanstalk
Springloops
Features
Pricing
To sum up Springloops
Unfuddle
Features
Pricing
To sum up Unfuddle
Google Project Hosting
Features
To sum up Google Project Hosting
Assembla
Features
Pricing
To sum up Assembla
XP-Dev
Features
Pricing
To sum up XP-Dev
Codesion
Features
Support
Pricing
To sum up Codesion
BitBucket
Features
Pricing
To sum up BitBucket
CodebaseHQ
Features
Pricing
To sum up CodebaseHQ
GitHub
Features
Pricing
To sum up GitHub
I'm still not feeling these services, what else is available?
Summary
Chapter 12: Why Branching Is Great
What is a branch?
When can I use branches?
Release branches
Feature branches
How do I create a branch?
SVN
Git
Mercurial
A worked example
SVN
Git
Mercurial
Summary
Chapter 13: Hooks, and Why They Can Be Useful
SVN Hooks
start-commit
pre-commit
post-commit
pre-revprop-change
post-revprop-change
Git Hooks
pre-commit
commit-msg
post-commit
prepare-commit-msg
pre-rebase
post-receive
post-update
update
pre-applypatch
applypatch-msg
Mercurial Hooks
prechangegroup
changegroup
pretxnchangegroup
preoutgoing
outgoing
incoming
precommit
commit
pretxncommit
preupdate
update
pretag
tag
Enabling Hooks
Enabling Hooks in SVN
Enabling Hooks in Git
Enabling hooks in Mercurial
Defining multiple actions for a Hook
Hooks in action
Preventing empty commit messages
Checking a commit message contains a bug ticket number
Running JSLint tests before committing changes
Sending e-mail notifications of commits
Summary
Chapter 14: Upgrading from CVS and Converting Repositories
CVS
Changing to SVN
Turning CVS into Mercurial
CVS to Git
CVS migration summary
SVN
SVN to Mercurial
SVN to Git
Mercurial to Git
Git to Mercurial
Mercurial or Git to SVN
Summary
Appendix: Terminal Commands
SVN
Checking out a repository
Adding files
Committing files
Log
Updating
Reverting
Deleting
Cleanup
Status
Performing a diff
Branching
Switch to a different branch
Merging
Resolving conflicts
Moving or renaming files
Blame
Help
Mercurial
Creating a repository
Status
Checking out/updating
Pushing changes
Pulling changes
Committing changes
Adding files
Removing files
Adding and removing
Blame
Resolving
Moving or renaming files
Reverting changes
Cloning repositories
Merge
Help
Branching
Git
Adding files
Creating a repository
Cloning a repository
Checking out branches
Branching
Help
Committing changes
Log
Status
Merging branches
Moving or renaming files
Pulling changes
Pushing changes
Removing files
Index
← Prev
Back
Next →
← Prev
Back
Next →