VersionControlProblems » History » Version 3

Chris Cannam, 2010-11-07 10:06 AM

1 1 Chris Cannam
h1. Version Control Problems
2 1 Chris Cannam
3 1 Chris Cannam
Some problems that complete beginners face when trying to create and work with repositories using current version control systems.
4 1 Chris Cannam
5 1 Chris Cannam
h2. Subversion
6 1 Chris Cannam
7 1 Chris Cannam
 * Puzzlement over "recommended" trunk/branches/tags structure
8 1 Chris Cannam
9 1 Chris Cannam
When instructing people how to create new projects, it's arguably simplest to ignore this and go for a structure that places them directly in the project directory.  But that still results in confusion when checking out other people's projects that do have a difference between root URL and trunk URL.
10 2 Chris Cannam
11 3 Chris Cannam
Note, I'm not counting "difficulty in doing branch merges" etc as a problem for new users of Subversion -- most people will simply never use branches so it's not an issue.
12 3 Chris Cannam
13 2 Chris Cannam
 * Difference between repository and working copy
14 2 Chris Cannam
15 2 Chris Cannam
Not a problem for many people, but some seem to find the terminology confusing
16 2 Chris Cannam
17 2 Chris Cannam
 * Requirement to update/merge/resolve before commit if someone else has modified the repository
18 2 Chris Cannam
19 2 Chris Cannam
A good user interface can make this workflow clearer
20 2 Chris Cannam
21 2 Chris Cannam
 * Forgetting to "svn add" new files
22 2 Chris Cannam
23 2 Chris Cannam
User interface should make a prominent note of files that have been created since the last commit
24 2 Chris Cannam
25 2 Chris Cannam
 * Forgetting to use svn when renaming or removing files
26 2 Chris Cannam
27 2 Chris Cannam
 * Admin help required for corrupted working copy because of sensitivity to changes in .svn directories (reported)
28 3 Chris Cannam
29 3 Chris Cannam
h2. Mercurial
30 3 Chris Cannam
31 3 Chris Cannam
 * Requirement to pull/update/merge/resolve/commit before pushing if someone else has modified the repository
32 3 Chris Cannam
33 3 Chris Cannam
A good user interface can make this workflow clearer (a bad one can make it almost impossible), but it is generally more complex than SVN because of:
34 3 Chris Cannam
35 3 Chris Cannam
 * Mystification over branches, particularly anonymous branch created when you pull before a merge
36 3 Chris Cannam
37 3 Chris Cannam
A good user interface can still help here by making the branch structure explicit -- many just pile up the change log in a single list