changeset 499:b3309be1640f

More help. This I think will do for 1.0.
author Chris Cannam
date Mon, 22 Aug 2011 21:31:55 +0100
parents 21aa41b62c3a
children 2d59eda59895
files easyhg.qrc help/a-11.html help/a-12.html help/a-30.html help/a-31.html help/a-32.html help/a-33.html help/topics.html help/topics/11.txt help/topics/12.txt help/topics/30.txt help/topics/31.txt help/topics/32.txt help/topics/33.txt
diffstat 14 files changed, 164 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/easyhg.qrc	Mon Aug 22 18:46:06 2011 +0100
+++ b/easyhg.qrc	Mon Aug 22 21:31:55 2011 +0100
@@ -40,6 +40,7 @@
 	<file>help/a-30.html</file>
 	<file>help/a-31.html</file>
 	<file>help/a-32.html</file>
+	<file>help/a-33.html</file>
 	<file>help/images/openremote50.png</file>
 	<file>help/images/openfolder50.png</file>
 	<file>help/images/openlocal50.png</file>
--- a/help/a-11.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/a-11.html	Mon Aug 22 21:31:55 2011 +0100
@@ -1,7 +1,7 @@
 <link rel="stylesheet" type="text/css" href="help.css"/>
 
 
-<h2>I have a folder of source code or documents on my computer and I want to use version control to manage it</h2>
+<h2>I have a folder of source code or documents on my computer and I want to use version control to manage them</h2>
 
 <p>To start using version control for a project folder, you need to
 initialise a repository there.  EasyMercurial does this for you when
--- a/help/a-12.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/a-12.html	Mon Aug 22 21:31:55 2011 +0100
@@ -1,10 +1,10 @@
 <link rel="stylesheet" type="text/css" href="help.css"/>
 
 
-<h2>I want to start a completely new project using version control</h2>
+<h2>I want to start a new project using version control</h2>
 
-<p>To start using version control for an initially empty project, just
-initialise a repository in an empty folder:</p>
+<p>You can initialise a repository in an empty folder, in order to start
+using version control for a new project:</p>
 
 <p><b>1. Click the Open toolbar button or use File -> Open</b></p>
 
@@ -18,5 +18,5 @@
 
 <p>A new repository will be created, stowed into the empty working folder
 you selected.  At first, it will have an empty history.  You can then
-start to add and commit changes to your files.
+start to add files and commit changes to your files.
 <ul><li>Note: the equivalent Mercurial command for this is <b>hg init</b></li></ul>
--- a/help/a-30.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/a-30.html	Mon Aug 22 21:31:55 2011 +0100
@@ -7,5 +7,5 @@
 
 <p><a href="a-31.html">Permit your colleagues to &ldquo;pull&rdquo; your changes</a> directly from the local repository in your working folder, <i>or</i></p>
 
-<p><a href="a-32.html">&ldquo;Push&rdquo; your changes to a remote repository</a> which you can all use as a master copy.</p>
+<p><a href="a-32.html">&ldquo;Push&rdquo; your changes to a shared remote repository</a> which you can all use as a master copy.</p>
 
--- a/help/a-31.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/a-31.html	Mon Aug 22 21:31:55 2011 +0100
@@ -1,7 +1,7 @@
 <link rel="stylesheet" type="text/css" href="help.css"/>
 
 
-<h2>I want to let my colleagues pull changes from my local repository</h2>
+<h2>I want to let my colleagues pull changes directly from my local repository</h2>
 
 <p>You can do this on a temporary basis using EasyMercurial, for
 occasional ad-hoc transfers:</p>
--- a/help/a-32.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/a-32.html	Mon Aug 22 21:31:55 2011 +0100
@@ -1,5 +1,37 @@
 <link rel="stylesheet" type="text/css" href="help.css"/>
 
 
-<h2>I want to push my changes to a master repository shared with my colleagues</h2>
+<h2>I want to put my changes into a master repository shared with my colleagues</h2>
 
+<p>Setting up such a repository with a properly configured remote server
+is out of the scope of this Help, but you generally want one of the
+following:</p>
+
+<p><b>A server that everyone on your team has secure ssh access to</b>, <i>or</i></p>
+
+<p><b>An account with a managed online Mercurial hosting service</b></p>
+
+<p>With either of the above, you should be able to create a new
+repository on the server and obtain a Mercurial URL for it.  That may
+be a <i>ssh://host/path</i> URL in the former case, or the URL (often an
+<i>https</i> one) provided by the service in the latter case.</p>
+
+<p>In EasyMercurial, you then:</p>
+
+<p><b>1. Go to Remote -> Set Remote Location.., enter the URL of the remote repository and click OK.</b>
+<ul><li>This tells EasyMercurial to use that URL as the default location for subsequent push and pull operations.</li></ul></p>
+
+<p><b>2. Click Push on the main toolbar at the top of the EasyMercurial window.</b></p>
+
+<p>This will push all of the changes that you have made in your local
+repository (since you pushed to the same target, if you ever have).
+You should do this regularly whenever you have a coherent set of
+changes for others to use or test.  Your colleagues can then pull from
+the same remote repository URL to obtain your changes.</p>
+
+<p>For this to work, the target repository must be <i>related</i> to the local
+one.  That means either a repository that has been pulled to, or
+pushed to from, the local repository before; or the repository that
+was initially used to clone the local one from; or else an empty
+repository.</p>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/help/a-33.html	Mon Aug 22 21:31:55 2011 +0100
@@ -0,0 +1,38 @@
+<link rel="stylesheet" type="text/css" href="help.css"/>
+
+
+<h2>I tried to push my changes, but it told me &ldquo;the remote repository may have been changed by someone else&rdquo; and refused</h2>
+
+<p>This error indicates that the remote repository has some changes in it
+that you do not have in your local repository (and that are in
+branches that you have also changed).  Perhaps someone else made these
+changes and pushed them, or they may have come from you pushing from a
+different computer.</p>
+
+<p>A good principle is that you should review and test your changes
+before you push them to another repository.  Although (with a
+distributed version control system) it's generally OK to commit
+changes locally that don't really work or that aren't complete enough
+to test, it's a bad idea to push anything that would cause the remote
+repository to have an untested set of changes in it.</p>
+
+<p>For that reason, if you change some files and someone else changes
+others and you both push them without knowing about the other one,
+Mercurial must refuse whichever push happens later &ndash; it won't simply
+merge the changes because the result might not make any sense.</p>
+
+<p>Instead you must pull the other person's changes and merge them
+locally before you push.  Fortunately, this is easy to do.</p>
+
+<p><b>1. Click Pull on the main toolbar at the top of the EasyMercurial window.</b>
+<ul><li>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.</li></ul></p>
+
+<p><b>2. Click Merge in the toolbar on the left.</b>
+<ul><li>Any changes that affect different files, or that affect different parts of the same file, will be merged automatically.  For changes that affect the same parts of the same file, you will be asked to choose which change to include in the merged copy.</li></ul></p>
+
+<p><b>3. Review or test the resulting merged version in your local working folder.</b></p>
+
+<p><b>4. Commit the merged version.</b></p>
+
+<p><b>5. Push again to the remote repository.</b></p>
+
--- a/help/topics.html	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics.html	Mon Aug 22 21:31:55 2011 +0100
@@ -7,8 +7,8 @@
 <p><a href="a-04.html">What is a repository?</a></p>
 <h3>Opening and initialising things</h3>
 <p><a href="a-10.html">Someone gave me a repository URL and asked me to clone it</a></p>
-<p><a href="a-11.html">I have a folder of source code or documents on my computer and I want to use version control to manage it</a></p>
-<p><a href="a-12.html">I want to start a completely new project using version control</a></p>
+<p><a href="a-11.html">I have a folder of source code or documents on my computer and I want to use version control to manage them</a></p>
+<p><a href="a-12.html">I want to start a new project using version control</a></p>
 <p><a href="a-13.html">I have a Mercurial repository on my local computer already and I want to use it with EasyMercurial</a></p>
 <h3>Making changes</h3>
 <p><a href="a-20.html">I've added a new file: what do I do with it?</a></p>
@@ -17,5 +17,6 @@
 <p><a href="a-23.html">I just deleted a file using the system file manager &ndash; then remembered I hadn't told the version control tool about it &ndash; what now?</a></p>
 <h3>Sharing changes</h3>
 <p><a href="a-30.html">I have committed some changes &ndash; how do I share them with my colleagues?</a></p>
-<p><a href="a-31.html">I want to let my colleagues pull changes from my local repository</a></p>
-<p><a href="a-32.html">I want to push my changes to a master repository shared with my colleagues</a></p>
+<p><a href="a-31.html">I want to let my colleagues pull changes directly from my local repository</a></p>
+<p><a href="a-32.html">I want to put my changes into a master repository shared with my colleagues</a></p>
+<p><a href="a-33.html">I tried to push my changes, but it told me &ldquo;the remote repository may have been changed by someone else&rdquo; and refused</a></p>
--- a/help/topics/11.txt	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics/11.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -1,6 +1,6 @@
 {Opening and initialising things}
 
-I have a folder of source code or documents on my computer and I want to use version control to manage it
+I have a folder of source code or documents on my computer and I want to use version control to manage them
 
 To start using version control for a project folder, you need to
 initialise a repository there.  EasyMercurial does this for you when
--- a/help/topics/12.txt	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics/12.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -1,9 +1,9 @@
 {Opening and initialising things}
 
-I want to start a completely new project using version control
+I want to start a new project using version control
 
-To start using version control for an initially empty project, just
-initialise a repository in an empty folder:
+You can initialise a repository in an empty folder, in order to start
+using version control for a new project:
 
 *1. Click the Open toolbar button or use File -> Open*
 
@@ -17,6 +17,6 @@
 
 A new repository will be created, stowed into the empty working folder
 you selected.  At first, it will have an empty history.  You can then
-start to add and commit changes to your files.
+start to add files and commit changes to your files.
 
  * Note: the equivalent Mercurial command for this is *hg init*
--- a/help/topics/30.txt	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics/30.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -6,5 +6,5 @@
 
 [[31|Permit your colleagues to "pull" your changes]] directly from the local repository in your working folder, _or_
 
-[[32|"Push" your changes to a remote repository]] which you can all use as a master copy.
+[[32|"Push" your changes to a shared remote repository]] which you can all use as a master copy.
 
--- a/help/topics/31.txt	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics/31.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -1,6 +1,6 @@
 {Sharing changes}
 
-I want to let my colleagues pull changes from my local repository
+I want to let my colleagues pull changes directly from my local repository
 
 You can do this on a temporary basis using EasyMercurial, for
 occasional ad-hoc transfers:
--- a/help/topics/32.txt	Mon Aug 22 18:46:06 2011 +0100
+++ b/help/topics/32.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -1,4 +1,37 @@
 {Sharing changes}
 
-I want to push my changes to a master repository shared with my colleagues
+I want to put my changes into a master repository shared with my colleagues
 
+Setting up such a repository with a properly configured remote server
+is out of the scope of this Help, but you generally want one of the
+following:
+
+*A server that everyone on your team has secure ssh access to*, _or_
+
+*An account with a managed online Mercurial hosting service*
+
+With either of the above, you should be able to create a new
+repository on the server and obtain a Mercurial URL for it.  That may
+be a _ssh://host/path_ URL in the former case, or the URL (often an
+_https_ one) provided by the service in the latter case.
+
+In EasyMercurial, you then:
+
+*1. Go to Remote -> Set Remote Location.., enter the URL of the remote repository and click OK.*
+
+ * This tells EasyMercurial to use that URL as the default location for subsequent push and pull operations.
+
+*2. Click Push on the main toolbar at the top of the EasyMercurial window.*
+
+This will push all of the changes that you have made in your local
+repository (since you pushed to the same target, if you ever have).
+You should do this regularly whenever you have a coherent set of
+changes for others to use or test.  Your colleagues can then pull from
+the same remote repository URL to obtain your changes.
+
+For this to work, the target repository must be _related_ to the local
+one.  That means either a repository that has been pulled to, or
+pushed to from, the local repository before; or the repository that
+was initially used to clone the local one from; or else an empty
+repository.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/help/topics/33.txt	Mon Aug 22 21:31:55 2011 +0100
@@ -0,0 +1,39 @@
+{Sharing changes}
+
+I tried to push my changes, but it told me "the remote repository may have been changed by someone else" and refused
+
+This error indicates that the remote repository has some changes in it
+that you do not have in your local repository (and that are in
+branches that you have also changed).  Perhaps someone else made these
+changes and pushed them, or they may have come from you pushing from a
+different computer.
+
+A good principle is that you should review and test your changes
+before you push them to another repository.  Although (with a
+distributed version control system) it's generally OK to commit
+changes locally that don't really work or that aren't complete enough
+to test, it's a bad idea to push anything that would cause the remote
+repository to have an untested set of changes in it.
+
+For that reason, if you change some files and someone else changes
+others and you both push them without knowing about the other one,
+Mercurial must refuse whichever push happens later -- it won't simply
+merge the changes because the result might not make any sense.
+
+Instead you must pull the other person's changes and merge them
+locally before you push.  Fortunately, this is easy to do.
+
+*1. Click Pull on the main toolbar at the top of the EasyMercurial window.*
+
+ * 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.
+
+*2. Click Merge in the toolbar on the left.*
+
+ * Any changes that affect different files, or that affect different parts of the same file, will be merged automatically.  For changes that affect the same parts of the same file, you will be asked to choose which change to include in the merged copy.
+
+*3. Review or test the resulting merged version in your local working folder.*
+
+*4. Commit the merged version.*
+
+*5. Push again to the remote repository.*
+