UNIX 103: more progress on document
authorKyle Spaans <kspaans@student.math.uwaterloo.ca>
Mon, 29 Jun 2009 20:54:28 +0000 (16:54 -0400)
committerKyle Spaans <kspaans@student.math.uwaterloo.ca>
Mon, 29 Jun 2009 20:54:28 +0000 (16:54 -0400)
Added some more definitions, and fleshed out the existing ones a little
more. Still need to come up with the more advanced part of the body.
Perhaps I'll consult some online docs.

code-management.pod

index 2b04041..b0de971 100644 (file)
@@ -38,7 +38,15 @@ them here.
 
 =item Repository
 
-=item Commit
+The I<repository> is location where all of the data and meta data used by the
+VCS is kept: your files, different versions of your files, extra logging data
+that describes the changes, etc.  All actions performed by the VCS will happen
+against the I<repository>.
+
+=item History
+
+VCS gives you a I<history> of all of the changes made to the repository. Useful
+metadata like who made which changes to which files and when and why.
 
 =item Diff
 
@@ -47,19 +55,30 @@ I<diff>. It's a standard format that is both human and computer readable to
 show the differences between two files. See the C<diff> utility for more
 information, but often VCS have their own C<diff>.
 
+=item Commit
+
+A set of diffs get bundled into a I<commit> and saved in the repository's
+history. The primary unit of currency in version control is the commit.
+
 =item Patch
 
 A patch is actually just a diff. A I<patch> can be applied to a file to make
 the changes to that file that were described by the diff. See the C<patch>
 utility.
 
-=item History
+=item Branch
 
-VCS gives you a I<history> of all of the commits to the repository. You can
-use the I<history> to generate patches to give to other people, or just look at
-diffs between two versions of a file.
+A I<branch> is a copy of the contents of the repository. Branches can be used
+to do non-linear development. That is, separate ideas or topics can be
+developed in their own branches. Branches are great for doing experimental work
+that you don't want to contaminate your main codebase with. Two branches of the
+same code base will have identical ancestor commits somewhere in their
+history.
 
-=item Branch
+=item Merge
+
+Two branches can be I<merged> together. This will bring together the changes
+from each branch into a single branch.
 
 =back