title: EGit - fetch, merge, pull troubles
body: <p>OK, here's the deal.<br>
  I have Git installed on my Debian (lenny) remote server. Git version there is 1.5.6.5. I intend to use it as a remote shared/backup repository.<br>
  My development machine is running Windows, where my Eclipse with EGit is. So, this is what I did:  </p>
  
  <ul>
  <li>Created shared user for git.</li>
  <li>Set up the SSH (in Eclipse and on the server), exchanged public keys, etc, all went well.</li>
  <li>I created remote repo and initialized it with <em>git --bare init</em>.</li>
  <li>Created project in local repo, did a couple of changes and commits, successfully.</li>
  <li>Pushed master branch from local repo, to remote master. So far so good.</li>
  <li>(In addition, on a third machine, I cloned the remote repo (through EGit import) without any problems, whatsoever.)</li>
  </ul>
  
  <p>The "strange" stuff began when I <strong>deleted</strong> a couple of files from project, <strong>commited</strong>, and then tried to <strong>pull</strong> from remote, expecting to restore deleted items, since the last snapshot that was pushed to remote had all the files. Since <em>pull</em> is essentially <em>fetch + merge</em> , seems that EGit has some known issues regarding the merge strategy. Nevertheless, I configured fetch, resulting in following fetch specification:  </p>
  
  <pre><code>refs/heads/master:refs/remotes/amrtest1/master
  </code></pre>
  
  <p>Fetch went OK, at least it seemed so, new folder was created in the local repo for the remote master branch, and I noticed FETCH_HEAD is there as well.<br>
  With checked-out local master branch I tried merge with the remote master... The result was:  </p>
  
  <ul>
  <li>Locally deleted files were <strong>not</strong> restored.</li>
  <li>in the Synchronize perspective, I could see the missing files (in the outgoing mode?)</li>
  <li>In the history view of EGit, the action of fetching was chronologically <strong>before</strong> the local commit (after deleting files), which is certainly not correct.</li>
  </ul>
  
  <p>Am I doing something wrong here? Are my expectations of restoring the state invalid, based on the described process? If so, what would be the way to go (to restore the state form remote repo, or at least merge it correctly with existing local)?  </p>
  
  <p>Thanks.</p>