[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH]: Fix merge bug when subtrees need ranges the target doesn't

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Fri, 15 Aug 2008 11:21:55 +0100

Paul Burba wrote:
[...]
> Looking at the documentation for svn_ra_reporter3_t and
> svn_ra_do_diff3 I confess it is not crystal clear exactly what we
> would expect this to do, but it would seem to make more sense to pass
> svn_ra_do_diff3() r31715. Since this editor drive is merging
> r31228-31715 and '.' already has that range merged to it, it's only
> the subtrees we need to merge, so describing '.' as at r31715 seems to
> ok -- dont merge anything to the target in this drive. The attached
> patch does just that and seems to solve the problems Julian was
> seeing.

Paul,

I've tried it out a few ways now. It seems to give the right result.

The output puzzles me, though. (Attached.) It never prints 'G' for
'merGed'; it always prints 'U' when it merges. Did you expect that?

> Does my analysis seem correct? The thing that bugs me is
> that it feels like it should be easy to write a new merge test to
> expose this problem, but I can't seem to do that, which makes we
> wonder if I got it all straight :-\

Uh...

- Julian

$ # Using svn r32485 + merge_target_and_subtree_merge_ranges_dont_intersect.3.diff.txt
$ ~/src/subversion-trunk2/bin/svn merge $SVN_REPOS/trunk_at_32172
--- Merging r31498 through r31715 into 'notes/tree-conflicts/design-overview.txt':
 G notes/tree-conflicts/design-overview.txt
--- Merging r31498 through r31715 into 'notes/tree-conflicts/requirements.txt':
 G notes/tree-conflicts/requirements.txt
--- Merging r31498 through r31715 into 'subversion/libsvn_auth_kwallet/kwallet.cpp':
 G subversion/libsvn_auth_kwallet/kwallet.cpp
--- Merging r31228 through r31715 into 'tools/server-side/svn_server_log_parse.py':
 G tools/server-side/svn_server_log_parse.py
--- Merging r31228 through r31715 into 'tools/server-side/test_svn_server_log_parse.py':
 G tools/server-side/test_svn_server_log_parse.py
--- Merging r31823 through r32172 into '.':
U Makefile.in
U build.conf
U www/mailing-lists.html
U www/release-history.html
U www/links.html
--- Merging r31823 through r32172 into 'www/development.html':
 G www/development.html
--- Merging r31823 through r32172 into '.':
U www/project_tools.html
U www/merge-tracking/design.html
U www/getting.html
U www/images/svn-dav-securityspace-survey.png
U www/faq.html
U www/project_status.html
--- Merging r31823 through r32172 into 'www/issue-tracker.html':
 G www/issue-tracker.html
--- Merging r31823 through r32172 into '.':
U www/roadmap.html
--- Merging r31823 through r32172 into 'www/tasks.html':
 G www/tasks.html
--- Merging r31823 through r32172 into '.':
U www/svn-dav-securityspace-survey.html
A www/faq.ja.html
U www/svn_1.5_releasenotes.html
U www/hacking.html
U www/index.html
U COMMITTERS
--- Merging r31823 through r32172 into 'notes/tree-conflicts/requirements.txt':
 G notes/tree-conflicts/requirements.txt
--- Merging r31823 through r32172 into '.':
U notes/tree-conflicts/resolution.txt
--- Merging r31823 through r32172 into 'notes/tree-conflicts/design-overview.txt':
UG notes/tree-conflicts/design-overview.txt
--- Merging r31823 through r32172 into '.':
U notes/tree-conflicts/detection.txt
U subversion/libsvn_ra/compat.c
U subversion/libsvn_ra/ra_loader.c
U subversion/libsvn_diff/diff_memory.c
U subversion/libsvn_diff/token.c
U subversion/libsvn_diff/diff_file.c
U subversion/libsvn_fs/access.c
U subversion/libsvn_subr/subst.c
U subversion/libsvn_subr/config_file.c
U subversion/libsvn_subr/config.c
U subversion/libsvn_subr/cache-inprocess.c
U subversion/libsvn_subr/io.c
U subversion/libsvn_subr/cmdline.c
U subversion/libsvn_subr/ssl_client_cert_pw_providers.c
U subversion/libsvn_subr/prompt.c
U subversion/libsvn_subr/hash.c
U subversion/libsvn_subr/error.c
U subversion/libsvn_subr/stream.c
U subversion/libsvn_subr/utf.c
U subversion/libsvn_subr/cache-memcache.c
U subversion/libsvn_subr/mergeinfo.c
U subversion/libsvn_subr/ssl_server_trust_providers.c
U subversion/libsvn_subr/simple_providers.c
U subversion/libsvn_subr/path.c
U subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
U subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
U subversion/bindings/javahl/native/Pool.h
U subversion/bindings/javahl/native/CopySources.cpp
U subversion/bindings/javahl/native/SVNClient.cpp
U subversion/bindings/javahl/native/EnumMapper.h
U subversion/bindings/javahl/native/InfoCallback.cpp
U subversion/bindings/javahl/native/EnumMapper.cpp
U subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java
U subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
U subversion/bindings/swig/svn_ra.i
U subversion/bindings/swig/python/tests/client.py
U subversion/bindings/swig/ruby/test/test_client.rb
U subversion/bindings/swig/ruby/test/util.rb
U subversion/bindings/swig/ruby/test/run-test.rb
U subversion/bindings/swig/ruby/test/windows_util.rb
U subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c
U subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h
U subversion/bindings/swig/include/svn_containers.swg
U subversion/tests/cmdline/mergeinfo_tests.py
U subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
U subversion/tests/cmdline/basic_tests.py
U subversion/tests/cmdline/merge_tests.py
U subversion/svndumpfilter/main.c
U subversion/libsvn_ra_svn/client.c
U subversion/libsvn_ra_svn/editorp.c
U subversion/libsvn_ra_svn/marshal.c
U subversion/svn/props.c
U subversion/svn/cl.h
U subversion/svn/mergeinfo-cmd.c
U subversion/svn/propget-cmd.c
U subversion/svn/conflict-callbacks.c
U subversion/svn/main.c
U subversion/po/fr.po
U subversion/po/pl.po
U subversion/po/nb.po
U subversion/libsvn_fs_base/tree.c
U subversion/libsvn_fs_base/reps-strings.c
U subversion/libsvn_fs_base/bdb/env.c
U subversion/libsvn_fs_base/bdb/nodes-table.c
U subversion/libsvn_fs_base/fs.c
U subversion/libsvn_fs_base/revs-txns.c
U subversion/libsvn_fs_base/trail.c
U subversion/libsvn_fs_base/util/fs_skels.c
U subversion/include/svn_error_codes.h
U subversion/include/svn_repos.h
U subversion/include/svn_config.h
U subversion/include/svn_auth_dso.h
U subversion/include/svn_wc.h
U subversion/include/svn_cmdline.h
U subversion/include/svn_client.h
U subversion/include/svn_error.h
A subversion/include/private/svn_cmdline_private.h
--- Merging r31823 through r32172 into 'subversion/include/private/svn_auth_private.h':
UG subversion/include/private/svn_auth_private.h
--- Merging r31823 through r32172 into '.':
U subversion/include/svn_auth.h
U subversion/libsvn_wc/props.c
U subversion/libsvn_wc/props.h
U subversion/libsvn_wc/diff.c
U subversion/libsvn_wc/entries.c
U subversion/libsvn_wc/util.c
U subversion/libsvn_wc/ambient_depth_filter_editor.c
U subversion/libsvn_wc/adm_crawler.c
U subversion/libsvn_wc/adm_files.c
U subversion/libsvn_wc/status.c
U subversion/libsvn_wc/lock.c
U subversion/libsvn_wc/update_editor.c
U subversion/libsvn_wc/translate.c
U subversion/libsvn_client/switch.c
U subversion/libsvn_client/externals.c
U subversion/libsvn_client/util.c
U subversion/libsvn_client/merge.c
U subversion/libsvn_client/prop_commands.c
U subversion/libsvn_client/checkout.c
U subversion/libsvn_client/cat.c
U subversion/libsvn_client/locking_commands.c
U subversion/libsvn_client/diff.c
U subversion/libsvn_client/copy.c
U subversion/libsvn_client/mergeinfo.c
U subversion/libsvn_client/blame.c
U subversion/libsvn_client/update.c
U subversion/libsvn_client/commit_util.c
U subversion/libsvn_client/commit.c
U subversion/svnlook/main.c
U subversion/libsvn_ra_serf/auth.c
U subversion/libsvn_ra_serf/util.c
U subversion/libsvn_ra_serf/getlocationsegments.c
U subversion/libsvn_ra_neon/log.c
U subversion/libsvn_ra_neon/session.c
U subversion/libsvn_ra_neon/fetch.c
U subversion/libsvn_ra_neon/replay.c
--- Merging r31823 through r32172 into 'subversion/libsvn_auth_kwallet/kwallet.cpp':
UG subversion/libsvn_auth_kwallet/kwallet.cpp
--- Merging r31823 through r32172 into '.':
U subversion/svnsync/main.c
U subversion/libsvn_repos/log.c
U subversion/libsvn_repos/hooks.c
U subversion/libsvn_repos/node_tree.c
U subversion/libsvn_repos/delta.c
U subversion/libsvn_repos/rev_hunt.c
U subversion/libsvn_repos/replay.c
U subversion/libsvn_repos/repos.h
U subversion/libsvn_delta/svndiff.c
U subversion/libsvn_delta/path_driver.c
U subversion/libsvn_delta/text_delta.c
U subversion/libsvn_fs_fs/tree.c
U subversion/libsvn_fs_fs/fs_fs.c
U subversion/libsvn_fs_fs/lock.c
U subversion/libsvn_fs_fs/dag.c
U build/win32/make_dist.py
U build/ac-macros/zlib.m4
U build/ac-macros/apache.m4
U build/ac-macros/serf.m4
U build/generator/gen_vcnet_vcproj.py
U build/generator/gen_win.py
U tools/dist/write-announcement.py
--- Merging r31823 through r32172 into 'tools/server-side/test_svn_server_log_parse.py':
 G tools/server-side/test_svn_server_log_parse.py
--- Merging r31823 through r32172 into 'tools/server-side/svn_server_log_parse.py':
UG tools/server-side/svn_server_log_parse.py
--- Merging r31823 through r32172 into '.':
U tools/dev/contribulyze.py
U tools/dev/check-license.py
U tools/dev/graph-dav-servers.py
U contrib/client-side/emacs/psvn.el
U configure.ac
U CHANGES
A packages/windows-WiX
A packages/windows-WiX/BuildSubversion
A packages/windows-WiX/BuildSubversion/Post.rtf
A packages/windows-WiX/BuildSubversion/CommonBinaryFeature.wxi
A packages/windows-WiX/BuildSubversion/CreateIcons.wxs
A packages/windows-WiX/BuildSubversion/Setup.wxs
A packages/windows-WiX/BuildSubversion/Pre.rtf
A packages/windows-WiX/BuildSubversion/BuildSubversion.wixproj
A packages/windows-WiX/BuildSubversion/LicensesFeature20x.wxi
A packages/windows-WiX/BuildSubversion/dlgbmp.bmp
A packages/windows-WiX/BuildSubversion/Files.wxs
A packages/windows-WiX/BuildSubversion/LicensesFeature22x.wxi
A packages/windows-WiX/BuildSubversion/LicensesCommon.wxi
A packages/windows-WiX/BuildSubversion/CommonBinaryFiles.wxi
A packages/windows-WiX/BuildSubversion/WixDialog
A packages/windows-WiX/BuildSubversion/WixDialog/WixUI_Subversion.wixlib
A packages/windows-WiX/BuildSubversion/WixDialog/AdminExitDialog.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/InfoDlg.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/WixUI_en-us-subversion.wxl
A packages/windows-WiX/BuildSubversion/WixDialog/WixUI_Subversion.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/build.bat
A packages/windows-WiX/BuildSubversion/WixDialog/ApacheSelectDlg.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/ReadyDlg.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/WelcomeDlgSv.wxs
A packages/windows-WiX/BuildSubversion/WixDialog/PostDlg.wxs
A packages/windows-WiX/BuildSubversion/iconvFeature20x.wxi
A packages/windows-WiX/BuildSubversion/iconvFeature22x.wxi
A packages/windows-WiX/BuildSubversion/CommonShareFeature.wxi
A packages/windows-WiX/BuildSubversion/CommonSASLFeature.wxi
A packages/windows-WiX/BuildSubversion/ApacheFeature20x.wxi
A packages/windows-WiX/BuildSubversion/Bitmaps
A packages/windows-WiX/BuildSubversion/Bitmaps/New.ico
A packages/windows-WiX/BuildSubversion/Bitmaps/dlgbmp.bmp
A packages/windows-WiX/BuildSubversion/Bitmaps/info.ico
A packages/windows-WiX/BuildSubversion/Bitmaps/xbannrbmp.bmp
A packages/windows-WiX/BuildSubversion/Bitmaps/svn_bck.png
A packages/windows-WiX/BuildSubversion/Bitmaps/wiz-164x314x24.bmp
A packages/windows-WiX/BuildSubversion/Bitmaps/Up.ico
A packages/windows-WiX/BuildSubversion/Bitmaps/wiz-55x55x24.bmp
A packages/windows-WiX/BuildSubversion/Bitmaps/exclamic.ico
A packages/windows-WiX/BuildSubversion/ApacheFeature22x.wxi
A packages/windows-WiX/BuildSubversion/LicensesCommonFeature.wxi
A packages/windows-WiX/BuildSubversion/iconvFiles20x.wxi
A packages/windows-WiX/BuildSubversion/ProgramMenu.wxi
A packages/windows-WiX/BuildSubversion/iconvFiles22x.wxi
A packages/windows-WiX/BuildSubversion/CommonShareFiles.wxi
A packages/windows-WiX/BuildSubversion/CommonSASLFiles.wxi
A packages/windows-WiX/BuildSubversion/ApacheFiles20x.wxi
A packages/windows-WiX/BuildSubversion/Licenses20x.wxi
A packages/windows-WiX/BuildSubversion/ApacheFiles22x.wxi
A packages/windows-WiX/BuildSubversion/Licenses22x.wxi
A packages/windows-WiX/BuildSubversion/wiz-55x55x24.bmp
A packages/windows-WiX/BuildSubversion.sln
A packages/windows-WiX/readme.txt
 G .

---------------------------------------------------------------------
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-15 12:22:30 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.