Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package obs-service-tar_scm for openSUSE:Factory checked in at 2025-06-13 18:42:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/obs-service-tar_scm (Old) and /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new.19631 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-tar_scm" Fri Jun 13 18:42:58 2025 rev:85 rq:1285209 version:0.10.51 Changes: -------- --- /work/SRC/openSUSE:Factory/obs-service-tar_scm/obs-service-tar_scm.changes 2025-06-04 20:27:07.749442544 +0200 +++ /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new.19631/obs-service-tar_scm.changes 2025-06-13 18:43:21.313720361 +0200 @@ -1,0 +2,8 @@ +Thu Jun 12 15:56:52 UTC 2025 - Frank Schreiner <fschrei...@suse.com> + +- Update to version 0.10.51: + * [core] new options `--include-re/--exclude-re` + * [tests] disable test_tar_exclude_re and fix warnings + * [core] revert removal of fnmatch + +------------------------------------------------------------------- Old: ---- obs-service-tar_scm-0.10.50.tar.gz New: ---- obs-service-tar_scm-0.10.51.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ obs-service-tar_scm.spec ++++++ --- /var/tmp/diff_new_pack.XSpkFG/_old 2025-06-13 18:43:22.325761758 +0200 +++ /var/tmp/diff_new_pack.XSpkFG/_new 2025-06-13 18:43:22.325761758 +0200 @@ -123,8 +123,8 @@ %define pkg_name obs-service-tar_scm Name: %{pkg_name}%{nsuffix} -%define version_unconverted 0.10.50 -Version: 0.10.50 +%define version_unconverted 0.10.51 +Version: 0.10.51 Release: 0 Summary: An OBS source service: create tar ball from svn/git/hg License: GPL-2.0-or-later ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.XSpkFG/_old 2025-06-13 18:43:22.357763067 +0200 +++ /var/tmp/diff_new_pack.XSpkFG/_new 2025-06-13 18:43:22.361763231 +0200 @@ -1,5 +1,5 @@ pkgname=obs-service-tar_scm -pkgver=0.10.50 +pkgver=0.10.51 pkgrel=0 pkgdesc="Source Service for the OpenSUSE Build Service (OBS)" arch=('any') ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.XSpkFG/_old 2025-06-13 18:43:22.409765194 +0200 +++ /var/tmp/diff_new_pack.XSpkFG/_new 2025-06-13 18:43:22.413765358 +0200 @@ -12,7 +12,7 @@ </service> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/obs-service-tar_scm.git</param> - <param name="changesrevision">bfbf96f2b1dcd8e1c0743ec69e5c142807252981</param> + <param name="changesrevision">a610aba2039017ce6f25c2aa5e201b8e089a70d0</param> </service> </servicedata> (No newline at EOF) ++++++ debian.dsc ++++++ --- /var/tmp/diff_new_pack.XSpkFG/_old 2025-06-13 18:43:22.433766176 +0200 +++ /var/tmp/diff_new_pack.XSpkFG/_new 2025-06-13 18:43:22.437766340 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: obs-service-tar-scm -Version: 0.10.50 +Version: 0.10.51 Provides: obs-service-obs_scm, obs-service-tar, obs-service-gbp Binary: obs-service-tar_scm Maintainer: Adrian Schroeter <adr...@suse.de> ++++++ obs-service-tar_scm-0.10.50.tar.gz -> obs-service-tar_scm-0.10.51.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/TarSCM/archive.py new/obs-service-tar_scm-0.10.51/TarSCM/archive.py --- old/obs-service-tar_scm-0.10.50/TarSCM/archive.py 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/TarSCM/archive.py 2025-06-12 17:22:17.000000000 +0200 @@ -57,11 +57,18 @@ excludes = r'$.' re_topdir = '(%s)/(%s)' + if args.include_re: + includes = re_topdir % (re.escape(topdir), args.include_re) + + if args.exclude_re: + excludes = re_topdir % (re.escape(topdir), args.exclude_re) + if args.include: incl_arr = [fnmatch.translate(x + '*') for x in args.include] includes = re_topdir % (re.escape(topdir), r'|'.join(incl_arr)) + if args.exclude: - excl_arr = [x for x in args.exclude] + excl_arr = [fnmatch.translate(x) for x in args.exclude] excludes = re_topdir % (re.escape(topdir), r'|'.join(excl_arr)) # add topdir without filtering for now diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/TarSCM/cli.py new/obs-service-tar_scm-0.10.51/TarSCM/cli.py --- old/obs-service-tar_scm-0.10.50/TarSCM/cli.py 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/TarSCM/cli.py 2025-06-12 17:22:17.000000000 +0200 @@ -149,10 +149,18 @@ default=[], metavar='REGEXP', help='Specifies subset of files/subdirectories to ' 'pack in the tarball (can be repeated)') + group.add_argument('--include-re', + metavar='REGEXP', + help='Specifies a regex pattern to match ' + 'files/subdirectories to pack in the archive') group.add_argument('--exclude', action='append', default=[], metavar='REGEXP', help='Specifies excludes when creating the ' 'tarball (can be repeated)') + group.add_argument('--exclude-re', + metavar='REGEXP', + help='Specifies a regex pattern to exclude matching' + ' files from the archive') parser.add_argument('--package-meta', choices=['yes', 'no'], default='no', help='Package the meta data of SCM to allow the ' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/tar_scm.service.in new/obs-service-tar_scm-0.10.51/tar_scm.service.in --- old/obs-service-tar_scm-0.10.50/tar_scm.service.in 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/tar_scm.service.in 2025-06-12 17:22:17.000000000 +0200 @@ -155,10 +155,16 @@ <description>Specify suffix name of package, which is used together with filename to determine tarball name.</description> </parameter> <parameter name="exclude"> - <description>Specify glob pattern to exclude when creating the tarball.</description> + <description>Specify glob pattern to exclude when creating the archive.</description> + </parameter> + <parameter name="exclude-re"> + <description>Specify regex pattern to exclude when creating the archive.</description> </parameter> <parameter name="include"> - <description>Specify subset of files/subdirectories to pack in the tarball.</description> + <description>Specify subset of files/subdirectories to pack in the archive.</description> + </parameter> + <parameter name="include-re"> + <description>Specifies a regex pattern to match files/subdirectories to pack in the archive.</description> </parameter> <parameter name="extract"> <description>Specify a file/glob to be exported directly. Useful for build descriptions like spec files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/tests/commontests.py new/obs-service-tar_scm-0.10.51/tests/commontests.py --- old/obs-service-tar_scm-0.10.50/tests/commontests.py 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/tests/commontests.py 2025-06-12 17:22:17.000000000 +0200 @@ -63,7 +63,7 @@ self.assertTrue(tarents == expected) def test_tar_exclude_re(self): - self.tar_scm_std('--exclude', '(a|c)') + self.tar_scm_std('--exclude-re', '(a|c)') tar_file = os.path.join(self.outdir, self.basename()+'.tar') tar = tarfile.open(tar_file) tarents = tar.getnames() @@ -82,6 +82,16 @@ self.basename() + '/subdir/b'] self.assertTrue(tarents == expected) + def test_tar_include_re(self): + self.tar_scm_std('--include-re', '(a|c)') + tar_file = os.path.join(self.outdir, self.basename()+'.tar') + tar = tarfile.open(tar_file) + tarents = tar.getnames() + expected = [self.basename(), + self.basename() + '/a', + self.basename() + '/c'] + self.assertTrue(tarents == expected) + def test_obs_scm_exclude(self): self.tar_scm_std('--exclude', 'a', '--exclude', 'c', '--use-obs-scm', 'True') cpio = os.path.join(self.outdir, self.basename()+'.obscpio') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/tests/gitsvntests.py new/obs-service-tar_scm-0.10.51/tests/gitsvntests.py --- old/obs-service-tar_scm-0.10.50/tests/gitsvntests.py 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/tests/gitsvntests.py 2025-06-12 17:22:17.000000000 +0200 @@ -91,12 +91,13 @@ self._check_servicedata(revision=3) def _new_change_entry_regexp(self, author, changes): # pylint: disable=R0201 - return textwrap.dedent("""\ - ^------------------------------------------------------------------- - \w{3} \w{3} [ \d]\d \d\d:\d\d:\d\d [A-Z]{3} 20\d\d - %s - - %s - """) % (author, changes) + regex = \ + r"^-+\n" \ + r"\w{3} \w{3} [ \d]\d \d\d:\d\d:\d\d [A-Z]{3} 20\d\d - %s\n" \ + r"\n" \ + r"%s\n" % (author, changes) + print(regex) + return regex def _check_changes(self, orig_changes, expected_changes_regexp): new_changes_file = os.path.join(self.outdir, 'pkg.changes') @@ -160,12 +161,11 @@ print("XXXX 4") expected_changes_regexp = self._new_change_entry_regexp( expected_author, - textwrap.dedent("""\ - - Update to version 0.6.%s: - \* 5 - \* 4 - \* 3 - """) % rev + r"- Update to version 0.6.%s:\n" + r" \* 5\n" + r" \* 4\n" + r" \* 3\n" + % rev ) self._check_changes(orig_changes, expected_changes_regexp) @@ -190,12 +190,11 @@ expected_author = self.fixtures.user_email expected_changes_regexp = self._new_change_entry_regexp( expected_author, - textwrap.dedent("""\ - - Update to version %s: - \* 5 - \* 4 - \* 3 - """) % ver_regex + r"- Update to version %s:\n" + r" \* 5\n" + r" \* 4\n" + r" \* 3\n" + % ver_regex ) self._check_changes(orig_changes, expected_changes_regexp) @@ -220,12 +219,11 @@ expected_author = self.fixtures.user_email expected_changes_regexp = self._new_change_entry_regexp( expected_author, - textwrap.dedent("""\ - - Update to version 0.6.%s: - \* 8 - \* 7 - \* 6 - """) % self.changesrevision(rev, abbrev=True) + r"- Update to version 0.6.%s:\n" + r" \* 8\n" + r" \* 7\n" + r" \* 6\n" + % self.changesrevision(rev, abbrev=True) ) self._check_changes(orig_changes, expected_changes_regexp) @@ -254,11 +252,10 @@ expected_author = self.fixtures.user_email expected_changes_regexp = self._new_change_entry_regexp( expected_author, - textwrap.dedent("""\ - - Update to version 0.6.%s: - \* 5 - \* 4 - \* 3 - """) % self.changesrevision(rev, abbrev=True) + r"- Update to version 0.6.%s:\n" + r" \* 5\n" + r" \* 4\n" + r" \* 3\n" + % self.changesrevision(rev, abbrev=True) ) self._check_changes(orig_changes, expected_changes_regexp) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.10.50/tests/gittests.py new/obs-service-tar_scm-0.10.51/tests/gittests.py --- old/obs-service-tar_scm-0.10.50/tests/gittests.py 2025-05-27 14:46:24.000000000 +0200 +++ new/obs-service-tar_scm-0.10.51/tests/gittests.py 2025-06-12 17:22:17.000000000 +0200 @@ -84,7 +84,7 @@ return self.sha1s('tag%d' % rev) def changesregex(self, rev): # pylint: disable=R0201 - return '\d{10}.%s' % rev # noqa: W605, pylint: disable=W1401 + return r'\d{10}.%s' % rev # noqa: W605, pylint: disable=W1401 def tar_scm_args(self): # pylint: disable=R0201 scm_args = [ @@ -245,7 +245,7 @@ fix = self.fixtures fix.create_commits(2) self.tar_scm_std("--revision", 'tag2', - "--versionrewrite-pattern", 'tag(\d+)', # noqa: W605,E501 pylint: disable=W1401 + "--versionrewrite-pattern", r'tag(\d+)', # noqa: W605,E501 pylint: disable=W1401 "--versionrewrite-replacement", '\\1-test', "--versionformat", "@PARENT_TAG@") self.assertTarOnly(self.basename(version="2-test"))