subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 钱海远(Nathan) <>
Subject 答复: Svnadmin dump with include will lost the svn:log in sometime
Date Mon, 23 Mar 2020 07:02:53 GMT
Thankyou. Waiting for your good news.

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 <>
发送时间: 2020年3月23日 14:25
收件人: 钱海远(Nathan) <>
主题: Re: Svnadmin dump with include will lost the svn:log in sometime

钱海远(Nathan) wrote on Mon, 23 Mar 2020 05:56 +0000:
> The version is 1.10.6 , I was try to reproduce this issue.
> You can make a commit like this :
> Revision 1
> A /test
> A /Test/a.c
> A /another
> A /another/b.c
> Revision 2
> M /test/a.c
> M /another/b.c
> Then run command : svnadmin dump svnroot include "/test"
> Then it will happen.

Thanks, I can reproduce this with current trunk:

% svnadmin create r
% svnmucc -U file://$PWD/r mkdir foo mkdir bar put =(:) foo/iota put =(:) bar/kappa -mm %
svnadmin dump r --include=/foo | grep -B1 -A2 svn:log
* Dumped revision 0.
* Dumped revision 1.
% svnadmin dump r | grep -B1 -A2 svn:log
* Dumped revision 0.
K 7
V 1
* Dumped revision 1.

I agree it makes sense to keep the log message, at least as an option.

I'll reopen SVN-4850 in a minute.

As to the cause, I stand corrected: it's indeed due to authz, exactly as you said:

(lldb) n
Process 24108 stopped
* thread #1, name = 'svnadmin', stop reason = step over
    frame #0: 0x00007ffff7f9ba21`svn_repos_fs_revision_proplist(table_p=0x00007fffffffdd80,
repos=0x00007ffff7deb4c0, rev=1, authz_read_func=(`dump_filter_authz_func
at dump.c:2010), authz_read_baton=0x00007fffffffdf50, pool=0x00007ffff66a7028) at fs-wrap.c:514
   511                                            authz_read_func, authz_read_baton,
   512                                            pool));
-> 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) $0 = svn_repos_revision_access_partial ]]]

authz was set up internally by svn_repos_dump_fs4():

  2083  /* We use read authz callback to implement dump filtering. If there is no
  2084   * read access for some node, it will be excluded from dump as well as
  2085   * references to it (e.g. copy source). */
  2086  if (filter_func)
  2087    {
  2088      authz_func = dump_filter_authz_func;
  2089      authz_baton.filter_func = filter_func;
  2090      authz_baton.filter_baton = filter_baton;
  2091    }
  2092  else
  2093    {
  2094      authz_func = NULL;
  2095    }

Nevertheless, we can't just make svn_repos_fs_revision_proplist() include svn:log; that would
make svnserve and mod_dav_svn expose information that currently they do not.

I'm not sure what the easiest way to fix this is…



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<>

View raw message