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 |