I'm trying to figure out how merge tracking should work to be more
usable (at least for me and my friends). For now, we don't use merge
tracking because it just doesn't work for us :) Moreover, some of our
day-by-day practices are partially broken. After migrating to
Subversion 1.5 merges became (very!) slow and unpredictable.
There are (for now) three problems I found. Please let me know if they
are bugs or features :)
1) Merge touches all files with explicit mergeinfo even if content of
these files isn't touched by merged revisions. This can result in
inability to commit changes after merge.
Let's suppose that we have project with following structure:
---corefile.txt <with some explicit mergeinfo>
When user merges any change from a branch to the trunk, mergenfo for
$/trunk/core/corefile.txt will be changed (even if corefile.txt isn't
somehow touched by this change). And if user doesn't have write access
to the core folder then he will not be able to commit this change.
2) Mergeinfo produced during WC-to-WC copy differs from equivalent
REPO-to-REPO copy. If you copy file in working copy and there is no
mergeinfo in the working copy then the new file will get an empty
mergeinfo record. Similar REPO-to-REPO copy operation doesn't produce
empty mergeinfo record.
This problem was already discussed here:
3) Unnecessary mergeinfo records are produced on copy operations. If
user plainly renames file1.txt to file2.txt in the same folder then
file2.txt gets explicit merge even if file1.txt didn't have one. In
agile environments file renaming is performed very often and this
result in whole working copy filled by unnecessary mergeinfo records.
This slows down merge operation dramatically.
I would like to help fixing these problems. Please let me know if I
understand them correctly. Any suggestions regarding fixing these
problems would be very helpful.
With best regards,
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-27 15:00:43 CEST