comparison help/topics/33.txt @ 500:2d59eda59895

Minor help edit
author Chris Cannam
date Tue, 23 Aug 2011 10:46:33 +0100
parents b3309be1640f
children f56e5c39aad1
comparison
equal deleted inserted replaced
499:b3309be1640f 500:2d59eda59895
1 {Sharing changes} 1 {Sharing changes}
2 2
3 I tried to push my changes, but it told me "the remote repository may have been changed by someone else" and refused 3 I tried to push my changes, but it told me "the remote repository may have been changed by someone else" and refused
4 4
5 This error indicates that the remote repository has some changes in it 5 This indicates that the remote repository has some changes in it that
6 that you do not have in your local repository (and that are in 6 you do not have in your local repository (and that are in branches
7 branches that you have also changed). Perhaps someone else made these 7 that you have also changed).
8 changes and pushed them, or they may have come from you pushing from a 8
9 different computer. 9 Perhaps someone else made these changes and pushed them, or they may
10 have been pushed by you from a different computer.
11
12 *Why should that prevent me from pushing my changes?*
10 13
11 A good principle is that you should review and test your changes 14 A good principle is that you should review and test your changes
12 before you push them to another repository. Although (with a 15 before you push them to another repository. It may be OK to commit
13 distributed version control system) it's generally OK to commit
14 changes locally that don't really work or that aren't complete enough 16 changes locally that don't really work or that aren't complete enough
15 to test, it's a bad idea to push anything that would cause the remote 17 to test, but it's a bad idea to push anything that would cause the
16 repository to have an untested set of changes in it. 18 remote repository to have an untested set of changes in it.
17 19
18 For that reason, if you change some files and someone else changes 20 For this reason, if you change some files, someone else changes some
19 others and you both push them without knowing about the other one, 21 others, and you both try to push them without knowing about the other
20 Mercurial must refuse whichever push happens later -- it won't simply 22 one, Mercurial must refuse the second push -- it can't simply merge
21 merge the changes because the result might not make any sense. 23 the changes because the result might not make any sense.
22 24
23 Instead you must pull the other person's changes and merge them 25 Instead you must pull the other person's changes and merge them
24 locally before you push. Fortunately, this is easy to do. 26 locally before you push. Fortunately, this is easy to do:
25 27
26 *1. Click Pull on the main toolbar at the top of the EasyMercurial window.* 28 *1. Click Pull on the main toolbar at the top of the EasyMercurial window.*
27 29
28 * You should see that some changes are pulled and added to your local repository. This will usually lead to a forked graph in the History pane, as your changes and the other user's were both started from the same parent at the same time. 30 * You should see that some changes are pulled and added to your local repository. This will usually lead to a forked graph in the History pane, as your changes and the other user's were both started from the same parent at the same time.
29 31