From dev-return-39006-archive-asf-public=cust-asf.ponee.io@subversion.apache.org Tue Feb 12 14:54:15 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 4501D180675 for ; Tue, 12 Feb 2019 15:54:15 +0100 (CET) Received: (qmail 3236 invoked by uid 500); 12 Feb 2019 14:54:14 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 3219 invoked by uid 99); 12 Feb 2019 14:54:13 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Feb 2019 14:54:13 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 4DE2FCB64C for ; Tue, 12 Feb 2019 14:54:13 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.599 X-Spam-Level: X-Spam-Status: No, score=0.599 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=visualsvn.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id C2rsVedAnBL8 for ; Tue, 12 Feb 2019 14:54:11 +0000 (UTC) Received: from mail-vs1-f66.google.com (mail-vs1-f66.google.com [209.85.217.66]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id BE93F623F2 for ; Tue, 12 Feb 2019 14:43:59 +0000 (UTC) Received: by mail-vs1-f66.google.com with SMTP id i64so1702183vsc.8 for ; Tue, 12 Feb 2019 06:43:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visualsvn.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=C1V0sCgZrW3+rl10x2PnW46XgnO4x1PFkCqpNypq5K8=; b=L8/7PkwwmU/IJlht2U6E9OhkYdm/Su+DlO/ZGkbq+z1YZQCDfCS9CUh/LfBHP8hQlF Q0STnUTRIBneeyBUOEgkuNHeeuCQQMxhsVVPFKYU9vAIvbXAi0cZKHSpu1vmzlEdCjrK v/BwpDHBpYOwyPkft2MgmaBfOpJzGBGfez8s8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=C1V0sCgZrW3+rl10x2PnW46XgnO4x1PFkCqpNypq5K8=; b=fSCLfmFFmu0hG98zFcHfRjGhEoyf7gF68I2/TyV5+j88nfGF65NW6M5/zDGkEeqMfs QgmOZTDiHpTo35OFk874KN4us6u1eTk+SAw+mlpjO05iNQvtmByOZtPvhVrYufzROnwe WQSmoKMiYFr8n2F73s1Z5MO6PB66o7o3DxOn7e2WZdbVFoaKQyoVoR91/0KxpBKPXX24 A7waqP7V+ZGD/wzxk0KVomLRm4tHHBH6/Qsllhk1qaYDV5FlwaICIBZcVGzav9aRCYch q3QBI4xxbkxmaBSuvhYB8syyR5EJ/o6xosX/EVAOrYG7PBsgbMoIf4mT+Erru4AJEUIf HywQ== X-Gm-Message-State: AHQUAub9bptM7wwNWtuo/Yz0J6Ya93brJIIWo7OTYsHLUBxh1VV4xQ0h gQbJlir0/JqJ7LOnIFzg/oFxjgEXRzmKvqfowJoXNQ== X-Google-Smtp-Source: AHgI3IbL2miaTcoNO7u0jdFOQ0iAZehqkzJJCvAAZ8kgVb/q2WV5vtB43hyaElt8vC1YVEJkZbL8O1biKGVYXnGZtcA= X-Received: by 2002:a67:cb02:: with SMTP id b2mr1638147vsl.162.1549982633463; Tue, 12 Feb 2019 06:43:53 -0800 (PST) MIME-Version: 1.0 References: <1543567469.2094417.1594091408.1BA41F63@webmail.messagingengine.com> <1548695373.1103997.1645381592.78B86684@webmail.messagingengine.com> <1549639676.1228761.1653760776.600197B4@webmail.messagingengine.com> In-Reply-To: <1549639676.1228761.1653760776.600197B4@webmail.messagingengine.com> From: Sergey Raevskiy Date: Tue, 12 Feb 2019 17:43:41 +0300 Message-ID: Subject: Re: [PATCH] Add '--include' and '--exclude' options to 'svnadmin dump' To: Julian Foad Cc: Subversion Development Content-Type: multipart/mixed; boundary="0000000000004718840581b37429" --0000000000004718840581b37429 Content-Type: text/plain; charset="UTF-8" Hello! After some investigation I realized that PATH passed by repos layer to AUTHZ_FUNC is not guaranted to be canonical. In fact, when path is under copied directory (as in #4760) it does not contain leading slash. This causes ary_prefix_match() function to ignore those paths, since it requires canonical path. I've attached patch with fix. Log message: [[[ Follow-up to r1811992: Canonicalize PATH before passing it to the FILTER_FUNC. In some cases (e.g. for nodes under copied directories) PATH passed by repos layer to AUTHZ_FUNC may be non-canonical (missing leading '/'). This causes FILTER_FUNC implemented in svnadmin to wrongly report PATH as "not included". This fixes #4760. * subversion/libsvn_repos/dump.c (dump_filter_authz_func): Canonicalize PATH before passing it to the FILTER_FUNC. Add comment. * subversion/tests/cmdline/svnadmin_tests.py (dump_include_copied_directory): New. (test_list): Add new test to table. Patch by: sergey.raevskiy{_AT_}visualsvn.com ]]] On Fri, Feb 8, 2019 at 6:27 PM Julian Foad wrote: > > Sergey Raevskiy wrote: > > > Ping! Sergey or anyone, are you able to investigate this? > > > > Hello! > > > > Sorry for the late reply. I'm plannig to investigate this in short time. > > That's good to hear! Thank you. > > If you need any help, please ask here or in the #svn-dev IRC channel. I'm sure we'll be happy to help as much as we can. > > -- > - Julian > > > > > Julian Foad wrote on 2018-11-30: > > > > https://issues.apache.org/jira/browse/SVN-4729 > [...] > > > > A user has reported a problem with this feature. > > > > https://issues.apache.org/jira/browse/SVN-4760 > > > > > > > > It looks like when the source of a copied directory is excluded, it is > > > > only adding the directory itself and not adding the directory's > > > > contents. That sounds to me like a bug -- it is not the behaviour I > > > > would expect. > > > > > > > > I see that the regression tests only test with an empty source directory. > > > > subversion/tests/cmdline/svnadmin_tests.py : dump_exclude_copysource() etc. --0000000000004718840581b37429 Content-Type: text/plain; charset="US-ASCII"; name="issue4760.patch.txt" Content-Disposition: attachment; filename="issue4760.patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_js1vjnh30 SW5kZXg6IHN1YnZlcnNpb24vbGlic3ZuX3JlcG9zL2R1bXAuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIHN1 YnZlcnNpb24vbGlic3ZuX3JlcG9zL2R1bXAuYwkocmV2aXNpb24gMTg1MzQ0MCkNCisrKyBzdWJ2 ZXJzaW9uL2xpYnN2bl9yZXBvcy9kdW1wLmMJKHdvcmtpbmcgY29weSkNCkBAIC00NCw2ICs0NCw3 IEBADQogI2luY2x1ZGUgInByaXZhdGUvc3ZuX3NvcnRzX3ByaXZhdGUuaCIKICNpbmNsdWRlICJw cml2YXRlL3N2bl91dGZfcHJpdmF0ZS5oIgogI2luY2x1ZGUgInByaXZhdGUvc3ZuX2NhY2hlLmgi CisjaW5jbHVkZSAicHJpdmF0ZS9zdm5fZnNwYXRoLmgiCiAKICNkZWZpbmUgQVJFX1ZBTElEX0NP UFlfQVJHUyhwLHIpICgocCkgJiYgU1ZOX0lTX1ZBTElEX1JFVk5VTShyKSkKIApAQCAtMTk5Niw2 ICsxOTk3LDExIEBAIGR1bXBfZmlsdGVyX2F1dGh6X2Z1bmMoc3ZuX2Jvb2xlYW5fdCAqYWxsb3dl ZCwNCiB7CiAgIGR1bXBfZmlsdGVyX2JhdG9uX3QgKmIgPSBiYXRvbjsKIAorICAvKiBGb3Igc29t ZSBub2RlcyAoZS5nLiBmaWxlcyB1bmRlciBjb3BpZWQgZGlyZWN0b3J5KSBQQVRIIG1heSBiZQor ICAgKiBub24tY2Fub25pY2FsIChtaXNzaW5nIGxlYWRpbmcgJy8nKS4gIENhbm9uaWNhbGl6ZSBQ QVRIIGJlZm9yZQorICAgKiBwYXNzaW5nIGl0IHRvIEZJTFRFUl9GVU5DLiAqLworICBwYXRoID0g c3ZuX2ZzcGF0aF9fY2Fub25pY2FsaXplKHBhdGgsIHBvb2wpOworCiAgIHJldHVybiBzdm5fZXJy b3JfdHJhY2UoYi0+ZmlsdGVyX2Z1bmMoYWxsb3dlZCwgcm9vdCwgcGF0aCwgYi0+ZmlsdGVyX2Jh dG9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvb2wpKTsKIH0K SW5kZXg6IHN1YnZlcnNpb24vdGVzdHMvY21kbGluZS9zdm5hZG1pbl90ZXN0cy5weQ0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIHN1YnZlcnNpb24vdGVzdHMvY21kbGluZS9zdm5hZG1pbl90ZXN0cy5weQkocmV2 aXNpb24gMTg1MzQ0MCkNCisrKyBzdWJ2ZXJzaW9uL3Rlc3RzL2NtZGxpbmUvc3ZuYWRtaW5fdGVz dHMucHkJKHdvcmtpbmcgY29weSkNCkBAIC0zOTIwLDYgKzM5MjAsNTEgQEAgZGVmIHJlY292ZXJf cHJ1bmVzX3JlcF9jYWNoZV93aGVuX2Rpc2FibGVkKHNib3gpOg0KIAogICBjaGVja19yZWNvdmVy X3BydW5lc19yZXBfY2FjaGUoc2JveCwgZW5hYmxlX3JlcF9zaGFyaW5nPUZhbHNlKQogCitASXNz dWUoNDc2MCkKK2RlZiBkdW1wX2luY2x1ZGVfY29waWVkX2RpcmVjdG9yeShzYm94KToKKyAgImlu Y2x1ZGUgY29waWVkIGRpcmVjdG9yeSB3aXRoIG5lc3RlZCBub2RlcyIKKworICBzYm94LmJ1aWxk KGNyZWF0ZV93Yz1GYWxzZSkKKworICBzdm50ZXN0LmFjdGlvbnMucnVuX2FuZF92ZXJpZnlfc3Zu KHN2bnRlc3QudmVyaWZ5LkFueU91dHB1dCwgW10sICJjb3B5IiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzYm94LnJlcG9fdXJsICsgJy9BL0QnLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNib3gucmVwb191cmwgKyAnL0NPUFknLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbSIsICJDcmVhdGUgYnJhbmNoLiIpCisK KyAgIyBEdW1wIHJlcG9zaXRvcnkgd2l0aCBvbmx5IC9DT1BZIHBhdGggaW5jbHVkZWQuCisgIF8s IGR1bXAsIF8gPSBzdm50ZXN0LmFjdGlvbnMucnVuX2FuZF92ZXJpZnlfc3ZuYWRtaW4oTm9uZSwg W10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2R1bXAnLCAnLXEnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnL0NPUFknLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNib3gucmVwb19kaXIpCisKKyAg IyBMb2FkIHJlcG9zaXRvcnkgZnJvbSBkdW1wLgorICBzYm94MiA9IHNib3guY2xvbmVfZGVwZW5k ZW50KCkKKyAgc2JveDIuYnVpbGQoY3JlYXRlX3djPUZhbHNlLCBlbXB0eT1UcnVlKQorICBsb2Fk X2FuZF92ZXJpZnlfZHVtcHN0cmVhbShzYm94MiwgTm9uZSwgW10sIE5vbmUsIEZhbHNlLCBkdW1w KQorCisgICMgQ2hlY2sgbG9nLgorICBleHBlY3RlZF9vdXRwdXQgPSBzdm50ZXN0LnZlcmlmeS5S ZWdleExpc3RPdXRwdXQoWworICAgICctK1xcbicsCisgICAgJ3IyXCAuKlxuJywKKyAgICAjIE9u bHkgJy9DT1BZJyBpcyBhZGRlZAorICAgIHJlLmVzY2FwZSgnQ2hhbmdlZCBwYXRoczpcbicpLAor ICAgIHJlLmVzY2FwZSgnICAgQSAvQ09QWScpLAorICAgIHJlLmVzY2FwZSgnICAgQSAvQ09QWS9H JyksCisgICAgcmUuZXNjYXBlKCcgICBBIC9DT1BZL0cvcGknKSwKKyAgICByZS5lc2NhcGUoJyAg IEEgL0NPUFkvRy9yaG8nKSwKKyAgICByZS5lc2NhcGUoJyAgIEEgL0NPUFkvRy90YXUnKSwKKyAg ICByZS5lc2NhcGUoJyAgIEEgL0NPUFkvSCcpLAorICAgIHJlLmVzY2FwZSgnICAgQSAvQ09QWS9I L2NoaScpLAorICAgIHJlLmVzY2FwZSgnICAgQSAvQ09QWS9IL29tZWdhJyksCisgICAgcmUuZXNj YXBlKCcgICBBIC9DT1BZL0gvcHNpJyksCisgICAgcmUuZXNjYXBlKCcgICBBIC9DT1BZL2dhbW1h JyksCisgICAgJy0rXFxuJywKKyAgICAncjFcIC4qXG4nLAorICAgICctK1xcbicKKyAgXSkKKyAg c3ZudGVzdC5hY3Rpb25zLnJ1bl9hbmRfdmVyaWZ5X3N2bihleHBlY3RlZF9vdXRwdXQsIFtdLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2cnLCAnLXYnLCAnLXEnLCBz Ym94Mi5yZXBvX3VybCkKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFJ1biB0aGUgdGVzdHMKIApAQCAt Mzk5Nyw2ICs0MDQyLDcgQEAgdGVzdF9saXN0ID0gWyBOb25lLA0KICAgICAgICAgICAgICAgZHVt cF9ub19jYW5vbmljYWxpemVfc3ZuZGF0ZSwKICAgICAgICAgICAgICAgcmVjb3Zlcl9wcnVuZXNf cmVwX2NhY2hlX3doZW5fZW5hYmxlZCwKICAgICAgICAgICAgICAgcmVjb3Zlcl9wcnVuZXNfcmVw X2NhY2hlX3doZW5fZGlzYWJsZWQsCisgICAgICAgICAgICAgIGR1bXBfaW5jbHVkZV9jb3BpZWRf ZGlyZWN0b3J5LAogICAgICAgICAgICAgIF0KIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoK --0000000000004718840581b37429--