On Mon, Apr 22, 2013 at 5:15 AM, Z W <mpc8...@gmail.com> wrote: > Hi All > > How does one use --record-only option with svn merge ?
It is used to tell svn that a revision has already been merged. A typical use case is when you want to "block" a certain revision from being merged. See http://svnbook.red-bean.com/en/1.7/svn.branchmerge.advanced.html#svn.branchmerge.advanced.blockchanges > Is it used when a revision number is found in svn mergeinfo eligible list > and returns no changes ? > ie > eg r234455 is on the eligible list but when applied with svn merge, there's > no change. > Is that when we use --record-only option after that ? Perhaps. But you don't really need to use --record-only in that case. I'd say: just run the merge as you just did (because it's in the eligible list): even though it didn't perform any content changes to the files, it might have rearranged the mergeinfo for you (elided). After that, there's really no need to "record-only" it anymore ... it will already be recorded (and will no longer show up in the eligible list). > Will it mess up the --bidirectional option when applying the merge from > branch to a trunk in the future ? What's the --bidirectional option? Do you mean the "automatic merging" (aka Symmetric merge [1]) that's slated for release in SVN 1.8? AFAIK, using --record-only by itself won't harm "automatic merging" in any way (it just does what it always did: recording a revision as having been merged). Though subtree merging can make things considerably more difficult. See for instance: http://subversion.tigris.org/issues/show_bug.cgi?id=4269 (subtree mergeinfo can degrade automatic merge performance) > Would it cause any harm if we remerge the same files even though there's no > changes to the destination files and the original files ? No (unless you interfere manually with merge tracking, e.g. by not committing some mergeinfo change or something). Some mergeinfo might be elided, but other than that ... > Why does the merge below returns empty ? > [linux svn 1.6 workingCopyDir] svn merge -c 234455 > [url]https://some.url.com/svn/code/path[/url] > [linux svn 1.6 workingCopyDir] Not sure what you mean here. If the merge doesn't have anything to do, there will be no output I guess. > When we did this below, it also returns empty. Why is that ? > [linux svn 1.6 workingCopyDir] svn prophet svn:mergeinfo . > [linux svn 1.6 workingCopyDir] I suppose you mean "propget". If the property is not set, it will not return anything. [1] http://wiki.apache.org/subversion/SymmetricMerge -- Johan