钱海远(Nathan) wrote on Mon, 23 Mar 2020 05:30 +0000: > The expected behaviour is: 'svnadmin dump' should include all properties. > > It happened in command : svnadmin dump --include . > > I organized the calling relationship of the function:
I can't reproduce that: [[[ % lldb -- svnadmin dump r --include=/foo ⋮ (lldb) n Process 10902 stopped * thread #1, name = 'svnadmin', stop reason = step over frame #0: 0x00007ffff7d9ba71 libsvn_repos-1.so.0`svn_repos_fs_revision_proplist(table_p=0x00007fffffffddf8, repos=0x00007ffff765b4c0, rev=0, authz_read_func=(libsvn_repos-1.so.0`dump_filter_authz_func at dump.c:1997), authz_read_baton=0x00007fffffffdf70, pool=0x00007ffff54b6028) at fs-wrap.c:514 511 authz_read_func, authz_read_baton, 512 pool)); 513 -> 514 if (readability == svn_repos_revision_access_none) 515 { 516 /* Return an empty hash. */ 517 *table_p = apr_hash_make(pool); (lldb) p readability (svn_repos_revision_access_level_t) $1 = svn_repos_revision_access_full ]]] The value svn_repos_revision_access_full is correct, and indicates that the line you patched won't be executed. FWIW, the backtrace at that point: [[[ (lldb) bt * thread #1, name = 'svnadmin', stop reason = step over * frame #0: 0x00007ffff7d9ba71 libsvn_repos-1.so.0`svn_repos_fs_revision_proplist(table_p=0x00007fffffffddf8, repos=0x00007ffff765b4c0, rev=0, authz_read_func=(libsvn_repos-1.so.0`dump_filter_authz_func at dump.c:1997), authz_read_baton=0x00007fffffffdf70, pool=0x00007ffff54b6028) at fs-wrap.c:514 frame #1: 0x00007ffff7d93633 libsvn_repos-1.so.0`write_revision_record(stream=0x00007ffff54afbe0, repos=0x00007ffff765b4c0, rev=0, include_revprops=1, authz_func=(libsvn_repos-1.so.0`dump_filter_authz_func at dump.c:1997), authz_baton=0x00007fffffffdf70, pool=0x00007ffff54b6028) at dump.c:1967 frame #2: 0x00007ffff7d92fd2 libsvn_repos-1.so.0`svn_repos_dump_fs4(repos=0x00007ffff765b4c0, stream=0x00007ffff54afbe0, start_rev=0, end_rev=0, incremental=0, use_deltas=0, include_revprops=1, include_changes=1, notify_func=(svnadmin`repos_notify_handler at svnadmin.c:1055), notify_baton=0x00007ffff54afc48, filter_func=(svnadmin`dump_filter_func at svnadmin.c:1402), filter_baton=0x00007fffffffe128, cancel_func=(libsvn_subr-1.so.0`check_cancel at cmdline.c:1659), cancel_baton=0x0000000000000000, pool=0x00007ffff765b028) at dump.c:2116 frame #3: 0x0000000000406892 svnadmin`subcommand_dump(os=0x00007ffff765b188, baton=0x00007fffffffe3d8, pool=0x00007ffff765b028) at svnadmin.c:1468 frame #4: 0x00000000004052d2 svnadmin`sub_main(exit_code=0x00007fffffffe524, argc=4, argv=0x00007fffffffe628, pool=0x00007ffff765b028) at svnadmin.c:3314 frame #5: 0x0000000000403d02 svnadmin`main(argc=4, argv=0x00007fffffffe628) at svnadmin.c:3347 frame #6: 0x00007ffff743209b libc.so.6`__libc_start_main(main=(svnadmin`main at svnadmin.c:3333), argc=4, argv=0x00007fffffffe628, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffe618) at libc-start.c:308 frame #7: 0x0000000000403bba svnadmin`_start + 42 (lldb) ]]] That's with 1.13. I don't have 1.10 handy; however, I expect the same is true in 1.10. > I was very sure this will make a malformed dump when it work with include. I expect the dump will load successfully, but TIAS. Daniel > > Best Regards! > Haiyuan Qian > R & D Management Group > Hangzhou Hikvision Digital Technology Co.,Ltd > No.555 Qianmo Road, Binjiang District, Hangzhou 310052, China > M (86)18969199712 > > 本邮件及其附件含有海康威视公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! > This e-mail and its attachments contain confidential information from > HIKVISION, which is intended only for the person or entity whose address is > listed above. Any use of the information contained herein in any way > (including, but not limited to, total or partial disclosure, reproduction, or > dissemination) by persons other than the intended recipient(s) is > prohibited. If you receive this e-mail in error, please notify the sender by > phone or email immediately and delete it! > > > -----邮件原件----- > 发件人: Daniel Shahaf <d...@daniel.shahaf.name> > 发送时间: 2020年3月22日 1:04 > 收件人: 钱海远(Nathan) <qianhaiy...@hikvision.com> > 抄送: users@subversion.apache.org > 主题: Re: Svnadmin dump with include will lost the svn:log in sometime > > 钱海远(Nathan) wrote on Sat, 21 Mar 2020 06:08 +0000: > > I found the there is a BUG in subversion 1.10.6. > > > > Svnadmin dump with include will lost the svn:log in sometime. > > > > I was fix this issue several months ago , I forgot how to the issue > > happened again. But I have a patch to fix this issue, the code was lost the > > processing for SVN_PROP_REVISION_LOG. > > > > If there is no svn:log in the dump file , the load will be fail. > > Let's take these issues one at a time. The expected behaviour is: > > 1. 'svnadmin dump' should include all properties. > > 2. 'svnadmin load' should succeed even when svn:log is missing. > > Now, to your patch. First of all, the patch shouldn't affect svnadmin's > behaviour in any way, because svnadmin doesn't enter the codepath your > changed: that codepath is only used when authz is in effect, and svnadmin > never does authz. (That's how #1 is implemented.) Did you perchance run > 'svnrdump dump' instead? That'd explain why your patch had an effect. > > Next, omitting svn:log in the svn_repos_revision_partial_access case is not a > bug; it's deliberately this way. > > If you can reproduce a case in which either #1 or #2 don't hold, that would > be a bug. However, given that your patch had an effect, you are probably > using some tool other than svnadmin. So, please quote the command lines you > entered and the error messages they generated. > > ________________________________ > CONFIDENTIALITY NOTICE: This electronic message is intended to be viewed only > by the individual or entity to whom it is addressed. It may contain > information that is privileged, confidential and exempt from disclosure under > applicable law. Any dissemination, distribution or copying of this > communication is strictly prohibited without our prior permission. If the > reader of this message is not the intended recipient, or the employee or > agent responsible for delivering the message to the intended recipient, or if > you have received this communication in error, please notify us immediately > by return e-mail and delete the original message and any copies of it from > your computer system. For further information about Hikvision company. please > see our website at www.hikvision.com<http://www.hikvision.com> >