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

RE: svn commit: r25249 - in trunk/subversion: include libsvn_client libsvn_wc svn tests/cmdline tests/cmdline/svntest

From: Paul Burba <pburba_at_collab.net>
Date: 2007-06-01 17:39:57 CEST

Hi Ben,

Two questions on this patch:

1) The utility main.merge_notify_line() checks the new merge range
notifications when merging to a file target. But we don't check the
notifications when merging into a directory (i.e.
actions.run_and_verify_merge/run_and_verify_merge2() simply doesn't take
them into account). So the new code in do_merge() is never actually
tested. Did you look into making run_and_verify_merge() handle this?

2) In the case where a merge updates *only* svn:mergeinfo, we still
print the range notifications, but nothing after them. For example:

>svn st -uv merge_tests-1
                5 5 jrandom merge_tests-1\A\B\E\beta
                1 1 jrandom merge_tests-1\A\B\E\alpha
                1 1 jrandom merge_tests-1\A\B\E
                1 1 jrandom merge_tests-1\A\B\lambda
                1 1 jrandom merge_tests-1\A\B\F
                1 1 jrandom merge_tests-1\A\B
                1 1 jrandom merge_tests-1\A\D\G\pi
                4 4 jrandom merge_tests-1\A\D\G\rho
                1 1 jrandom merge_tests-1\A\D\G\tau
                1 1 jrandom merge_tests-1\A\D\G
                6 6 jrandom merge_tests-1\A\D\H\omega
                3 3 jrandom merge_tests-1\A\D\H\psi
                1 1 jrandom merge_tests-1\A\D\H\chi
                1 1 jrandom merge_tests-1\A\D\H
                1 1 jrandom merge_tests-1\A\D\gamma
                1 1 jrandom merge_tests-1\A\D
                1 1 jrandom merge_tests-1\A\mu
                1 1 jrandom merge_tests-1\A\C
                1 1 jrandom merge_tests-1\A
                2 2 jrandom merge_tests-1\A_COPY\B\E\alpha
                7 7 jrandom merge_tests-1\A_COPY\B\E\beta
                2 2 jrandom merge_tests-1\A_COPY\B\E
                2 2 jrandom merge_tests-1\A_COPY\B\F
                2 2 jrandom merge_tests-1\A_COPY\B\lambda
                2 2 jrandom merge_tests-1\A_COPY\B
                2 2 jrandom merge_tests-1\A_COPY\mu
                2 2 jrandom merge_tests-1\A_COPY\C
                2 2 jrandom merge_tests-1\A_COPY\D\gamma
 M 2 2 jrandom merge_tests-1\A_COPY\D\G
                2 2 jrandom merge_tests-1\A_COPY\D\G\pi
M 2 2 jrandom merge_tests-1\A_COPY\D\G\rho
                2 2 jrandom merge_tests-1\A_COPY\D\G\tau
                2 2 jrandom merge_tests-1\A_COPY\D\H
                2 2 jrandom merge_tests-1\A_COPY\D\H\chi
                2 2 jrandom merge_tests-1\A_COPY\D\H\omega
                2 2 jrandom merge_tests-1\A_COPY\D\H\psi
                2 2 jrandom merge_tests-1\A_COPY\D
                2 2 jrandom merge_tests-1\A_COPY
                1 1 jrandom merge_tests-1\iota
                1 1 jrandom merge_tests-1
Status against revision: 7

>svn pl -vR merge_tests-1
Properties on 'merge_tests-1\A_COPY':
  svn:mergeinfo : /A:1
Properties on 'merge_tests-1\A_COPY\B\E\beta':
  svn:mergeinfo : /A/B/E/beta:1,5
Properties on 'merge_tests-1\A_COPY\D\G':
  svn:mergeinfo : /A/D/G:1,4

# Perform a merge which makes no changes to the WC
>svn merge %URL%/A merge_tests-1\A_COPY -r3:5
--- Merging revision 4:
--- Merging revision 5:
--- Merging revisions 4-5:

I suppose this is better than what we did before, which was no output
and a 'silent' change to the svn:mergeinfo props. At least it looks
like something is happening now! So I suppose this is less of a
question and just more of an observation.

Paul

> -----Original Message-----
> From: sussman@tigris.org [mailto:sussman@tigris.org]
> Sent: Thursday, May 31, 2007 11:09 PM
> To: svn@subversion.tigris.org
> Subject: svn commit: r25249 - in trunk/subversion: include
> libsvn_client libsvn_wc svn tests/cmdline tests/cmdline/svntest
>
> Author: sussman
> Date: Thu May 31 20:08:37 2007
> New Revision: 25249
>
> Log:
> Have 'svn merge' send a notification for each revision range merged.
>
> * subversion/include/svn_wc.h
> (svn_wc_notify_action_t): new 'svn_wc_notify_merge_begin' action.
> (svn_wc_notify_t): new 'merge_range' field to describe
> range being merged.
>
> * subversion/libsvn_wc/util.c
> (svn_wc_create_notify): have constructor explicitly NULL new field.
> (svn_wc_dup_notify): duplicate the new merge_range_t field.
>
> * subversion/libsvn_client/merge.c
> (do_merge, do_single_file_merge): send new merge_begin notification.
> also, use a subpool in
> the ranges loop.
>
> * subversion/svn/notify.c
> (notify): print the merge_begin notification, describe
> range being merged.
>
> * subversion/tests/cmdline/svntest/main.py
> (merge_notify_line): new utility func to return expected output line
> of new merge notification.
>
> * subversion/tests/cmdline/update_tests.py
> Use utility func anywhere we call 'merge' via run_and_verify_svn().
>
> * subversion/tests/cmdline/merge_tests.py
> Use utility func anywhere we call 'merge' via run_and_verify_svn().
>
>
>
> Modified:
> trunk/subversion/include/svn_wc.h
> trunk/subversion/libsvn_client/merge.c
> trunk/subversion/libsvn_wc/util.c
> trunk/subversion/svn/notify.c
> trunk/subversion/tests/cmdline/merge_tests.py
> trunk/subversion/tests/cmdline/svntest/main.py
> trunk/subversion/tests/cmdline/update_tests.py

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 1 17:40:54 2007

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.