7 * Draw a diagram showing the places version control stores
9 * Check out a working copy of a repository.
10 * View the history of changes to a project.
11 * Add files to a project.
12 * Commit changes made to the working copy.
13 * Get changes from an upstream repository.
14 * Compare the current state of a working copy to the most recent
15 update from the upstream repository.
16 * Explain what "version 123 of `xyz.txt`" actually means.
21 * Version control is a better way to manage shared files than email or
23 * People share their changes by committing them to public repositories
24 and fetch other's changes by updating their local copy from public
26 * The version control system prevents people from overwriting each
27 other's work by making merges explicit.
28 * It also keeps a complete history of changes made to the master so
29 that old versions can be recovered reliably.
30 * Version control systems work best with text files, but can also
31 handle binary files such as images and Word documents.
32 * Every repository is identified by a URL.
33 * Each change to the master copy is identified by a unique revision
35 * Revisions identify snapshots of the entire repository, not changes
37 * Each change should be commented to make the history more readable.
38 * Commits are transactions: either all changes are successfully
39 committed, or none are.
47 * Explain what causes conflicts to occur and how to tell when one has
54 * Conflicts must be resolved before a commit can be completed.
55 * Most version control systems put markers in text files to show
58 Recovering old versions
59 =======================
64 * Discard changes made to a working copy.
65 * Recover an old version of a file.
66 * Explain what branches are and when they are used.
71 * Recovering an old version of a file may not erase the intervening
73 * Use branches to support parallel independent development.
75 Setting up a repository
76 =======================
81 * How to create a repository.
86 * Repositories can be hosted locally, on local (departmental) servers,
87 on hosting services, or on their owners' own domains.
95 * What data provenance is.
96 * How to embed version numbers and other information in files managed
98 * How to record version information about a program in its output.
103 * Put version numbers in programs' output to establish provenance for