<p>I just did a merge using something like:</p>

<pre><code>svn merge -r 67212:67213 https://my.svn.repository/trunk .
</code></pre>

<p>I only had 2 files, one of which is a simple <code>ChangeLog</code>.  Rather than just merging my <code>ChangeLog</code> changes, it actually pulled mine plus some previous ones that were not in the destination <code>ChangeLog</code>.  I noticed there was a conflict when I executed --dry-run, so I updated <code>ChangeLog</code>, and there was still a conflict (and I saw the conflict when I did the actual merge).</p>

<p>I then later diffed on the file I was merging from:</p>

<pre><code>svn diff -r 67212:67213 ChangeLog
</code></pre>

<p>And I see just the changes I had made, so I know that extra changes didn't get in there somehow. </p>

<p>This makes me worried that merge is not actually just taking what I changed, which is what I would have expected.  Can anybody explain what happened?</p>

<p>UPDATE: In response to NilObject:</p>

<p>So, I have 2 files changed, only ChangeLog is relevant, the other merged fine.  When I go to my regular trunk checkout, I do the diff command above and see:</p>

<pre><code>Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67212)
+++ ChangeLog   (revision 67213)
@@ -1,3 +1,7 @@
+2008-08-06  Mike Stone  &lt;myemail&gt;
+
+   * changed_file: Details.
+
 2008-08-06  Someone Else  &lt;their_email&gt;

    * theirChanges: Details.
</code></pre>

<p>After my merge of the previous changes, the diff of ChangeLog looks like this:</p>

<pre><code>Index: ChangeLog
===================================================================
--- ChangeLog   (revision 67215)
+++ ChangeLog   (working copy)
@@ -1,3 +1,14 @@
+&lt;&lt;&lt;&lt;&lt;&lt;&lt; .working
+=======
+2008-08-06  Mike Stone  &lt;myemail&gt;
+
+   * changed_file: Details.
+
+2008-08-06  Someone Else  &lt;their_email&gt;
+
+   * theirChanges: Details.
+
+&gt;&gt;&gt;&gt;&gt;&gt;&gt; .merge-right.r67213
 2008-08-05  Someone Else2  &lt;their2_email&gt;

    * olderChange: Details.
</code></pre>

<p>Note that the entry that was incorrectly pulled in was not in the file I am merging it to, but yet it was not one of my changes and shouldn't have been merged anyways.  It was easy to fix (remove the extra lines that weren't part of my changes), but it still makes me worry about merging automatically in <code>SVN</code>.</p>

[{'answer_id': 4104, 'author': 'Ecton', 'author_id': 457, 'author_profile': 'https://Stackoverflow.com/users/457', 'pm_score': 0, 'selected': False, 'text': "<p>There's not really enough information to go on here.</p>\n\n<pre><code>svn merge -r 67212:67213 https://my.svn.repository/trunk .\n</code></pre>\n\n<p>will merge any files changed in the revision 67212 in the folder /trunk on the repository and merge them into your current working directory. If you do:</p>\n\n<pre><code>svn log -r 67212\n</code></pre>\n\n<p>What files does it show changed? Merge will only pull changes from the first argument, and apply them to the second. It does not upload back to the server in the first argument.</p>\n\n<p>If this doesn't answer your question, could you post more details as to what exactly is happening?</p>\n"}, {'answer_id': 13738, 'author': 'Cebjyre', 'author_id': 1612, 'author_profile': 'https://Stackoverflow.com/users/1612', 'pm_score': 3, 'selected': True, 'text': "<p>This only happens with conflicts - basically svn tried to merge the change in, but (roughly speaking) saw the change as:</p>\n\n<p>Add</p>\n\n<pre><code>2008-08-06  Mike Stone  &lt;myemail&gt;\n\n* changed_file: Details.\n</code></pre>\n\n<p>before</p>\n\n<pre><code>2008-08-06  Someone Else  &lt;their_email&gt;\n</code></pre>\n\n<p>And it couldn't find the Someone Else line while doing the merge, so chucked that bit in for context when putting in the conflict. If it was a non-conflicting merge only the changes you expected would have been applied.</p>\n"}]
['https://Stackoverflow.com/questions/4072', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/122/']