Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package git-filter-repo for openSUSE:Factory
checked in at 2021-03-15 10:56:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/git-filter-repo (Old)
and /work/SRC/openSUSE:Factory/.git-filter-repo.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git-filter-repo"
Mon Mar 15 10:56:37 2021 rev:5 rq:879118 version:2.29.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/git-filter-repo/git-filter-repo.changes
2020-09-12 00:09:23.321034786 +0200
+++
/work/SRC/openSUSE:Factory/.git-filter-repo.new.2401/git-filter-repo.changes
2021-03-15 10:56:38.701378382 +0100
@@ -1,0 +2,7 @@
+Mon Mar 15 09:07:19 UTC 2021 - Andreas Schneider <[email protected]>
+
+- Update to version 2.29.0
+ * https://github.com/newren/git-filter-repo/releases/tag/v2.29.0
+- Removed filter-repo-README-remove-outdated-2.28.0-not-yet-re.patch
+
+-------------------------------------------------------------------
Old:
----
filter-repo-README-remove-outdated-2.28.0-not-yet-re.patch
git-filter-repo-2.28.0.tar.xz
New:
----
git-filter-repo-2.29.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ git-filter-repo.spec ++++++
--- /var/tmp/diff_new_pack.vrUyCl/_old 2021-03-15 10:56:39.173379103 +0100
+++ /var/tmp/diff_new_pack.vrUyCl/_new 2021-03-15 10:56:39.177379109 +0100
@@ -1,7 +1,7 @@
#
# spec file for package git-filter-repo
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
%global gitexecdir %{_libexecdir}/git
Name: git-filter-repo
-Version: 2.28.0
+Version: 2.29.0
Release: 0
Summary: Quickly rewrite git repository history (git-filter-branch
replacement)
License: MIT OR GPL-2.0-only
@@ -30,7 +30,6 @@
URL: https://github.com/newren/git-filter-repo
#
Source0:
https://github.com/newren/git-filter-repo/releases/download/v%{version}/%{name}-%{version}.tar.xz
-Patch01: filter-repo-README-remove-outdated-2.28.0-not-yet-re.patch
#
BuildArch: noarch
#
++++++ git-filter-repo-2.28.0.tar.xz -> git-filter-repo-2.29.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/git-filter-repo-2.28.0/Documentation/converting-from-bfg-repo-cleaner.md
new/git-filter-repo-2.29.0/Documentation/converting-from-bfg-repo-cleaner.md
---
old/git-filter-repo-2.28.0/Documentation/converting-from-bfg-repo-cleaner.md
2020-07-27 20:06:22.000000000 +0200
+++
new/git-filter-repo-2.29.0/Documentation/converting-from-bfg-repo-cleaner.md
2020-10-19 21:01:00.000000000 +0200
@@ -106,7 +106,7 @@
becomes
```shell
- git filter-repo --use-base-names --path id_dsa --path id_rsa --invert-paths
+ git filter-repo --use-base-name --path id_dsa --path id_rsa --invert-paths
```
### Removing sensitive content
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/git-filter-repo-2.28.0/Documentation/git-filter-repo.txt
new/git-filter-repo-2.29.0/Documentation/git-filter-repo.txt
--- old/git-filter-repo-2.28.0/Documentation/git-filter-repo.txt
2020-07-27 20:06:22.000000000 +0200
+++ new/git-filter-repo-2.29.0/Documentation/git-filter-repo.txt
2020-10-19 21:01:00.000000000 +0200
@@ -872,9 +872,12 @@
globs (see https://docs.python.org/3/library/fnmatch.html), or regular
expressions (see
https://docs.python.org/3/library/re.html#regular-expression-syntax).
If none of these are specified, `literal:` is assumed.
- * globs and regexes are applied to each line of the file; it is not
- possible with --replace-text to match a multi-line string.
- * If multiple matches are found on a line, all are replaced.
+ * If multiple matches are found, all are replaced.
+ * globs and regexes are applied to the entire file, but without any
+ special flags turned on. Some folks may be interested in adding `(?m)`
+ to the regex to turn on MULTILINE mode, so that `^` and `$` match the
+ beginning and ends of lines rather than the beginning and end of file.
+ See https://docs.python.org/3/library/re.html for details.
See also the `--blob-callback` from <<CALLBACKS>>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/git-filter-repo-2.28.0/Documentation/html/git-filter-repo.html
new/git-filter-repo-2.29.0/Documentation/html/git-filter-repo.html
--- old/git-filter-repo-2.28.0/Documentation/html/git-filter-repo.html
2020-07-27 20:06:22.000000000 +0200
+++ new/git-filter-repo-2.29.0/Documentation/html/git-filter-repo.html
2020-10-19 21:01:00.000000000 +0200
@@ -2002,13 +2002,16 @@
</li>
<li>
<p>
-globs and regexes are applied to each line of the file; it is not
- possible with --replace-text to match a multi-line string.
+If multiple matches are found, all are replaced.
</p>
</li>
<li>
<p>
-If multiple matches are found on a line, all are replaced.
+globs and regexes are applied to the entire file, but without any
+ special flags turned on. Some folks may be interested in adding
<code>(?m)</code>
+ to the regex to turn on MULTILINE mode, so that <code>^</code> and
<code>$</code> match the
+ beginning and ends of lines rather than the beginning and end of file.
+ See <a
href="https://docs.python.org/3/library/re.html">https://docs.python.org/3/library/re.html</a>
for details.
</p>
</li>
</ul></div>
@@ -2663,7 +2666,7 @@
<div id="footer">
<div id="footer-text">
Last updated
- 2020-07-07 08:38:34 PDT
+ 2020-10-19 08:10:08 PDT
</div>
</div>
</body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/git-filter-repo-2.28.0/Documentation/man1/git-filter-repo.1
new/git-filter-repo-2.29.0/Documentation/man1/git-filter-repo.1
--- old/git-filter-repo-2.28.0/Documentation/man1/git-filter-repo.1
2020-07-27 20:06:22.000000000 +0200
+++ new/git-filter-repo-2.29.0/Documentation/man1/git-filter-repo.1
2020-10-19 21:01:00.000000000 +0200
@@ -2,12 +2,12 @@
.\" Title: git-filter-repo
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 07/27/2020
+.\" Date: 10/19/2020
.\" Manual: Git Manual
-.\" Source: Git 2.28.0.dirty
+.\" Source: Git 2.29.0.dirty
.\" Language: English
.\"
-.TH "GIT\-FILTER\-REPO" "1" "07/27/2020" "Git 2\&.28\&.0\&.dirty" "Git Manual"
+.TH "GIT\-FILTER\-REPO" "1" "10/19/2020" "Git 2\&.29\&.0\&.dirty" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -1296,7 +1296,7 @@
.sp -1
.IP \(bu 2.3
.\}
-globs and regexes are applied to each line of the file; it is not possible
with \-\-replace\-text to match a multi\-line string\&.
+If multiple matches are found, all are replaced\&.
.RE
.sp
.RS 4
@@ -1307,7 +1307,15 @@
.sp -1
.IP \(bu 2.3
.\}
-If multiple matches are found on a line, all are replaced\&.
+globs and regexes are applied to the entire file, but without any special
flags turned on\&. Some folks may be interested in adding
+\fB(?m)\fR
+to the regex to turn on MULTILINE mode, so that
+\fB^\fR
+and
+\fB$\fR
+match the beginning and ends of lines rather than the beginning and end of
file\&. See
+\m[blue]\fBhttps://docs\&.python\&.org/3/library/re\&.html\fR\m[]
+for details\&.
.RE
.sp
See also the \fB\-\-blob\-callback\fR from the section called
\(lqCALLBACKS\(rq\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/git-filter-repo-2.28.0/INSTALL.md
new/git-filter-repo-2.29.0/INSTALL.md
--- old/git-filter-repo-2.28.0/INSTALL.md 2020-07-27 20:06:22.000000000
+0200
+++ new/git-filter-repo-2.29.0/INSTALL.md 2020-10-19 21:01:00.000000000
+0200
@@ -17,6 +17,19 @@
these versions.
+# Notes for Windows Users
+
+It seems that the default python on Windows is not fully functional,
+and windows might not allow executing python scripts by default. See
+[issue 124](https://github.com/newren/git-filter-repo/issues/124),
+[issue 36](https://github.com/newren/git-filter-repo/issues/36), and
+[this git mailing list
+thread](https://lore.kernel.org/git/[email protected]/)
+for details and workarounds. I believe that Windows users installing
+git-filter-repo via Scoop will be okay, but those using a manual
+installation or pip install may run into these issues.
+
+
# Manual Installation
filter-repo only consists of a few files that need to be installed:
@@ -70,14 +83,26 @@
instructions regardless of whether the html version of help is
installed.
-So, installation might look something like
-```
-cp -a git-filter-repo $(git --exec-path)
-cp -a git-filter-repo.1 $(git --man-path)/man1
-cp -a git-filter-repo.html $(git --html-path)
-ln -s $(git --exec-path)/git-filter-repo \
- $(python -c "import site;
print(site.getsitepackages()[-1])")/git_filter_repo.py
-```
+So, installation might look something like the following:
+
+1. If you don't have the necessary documentation files (because you
+ are installing from a clone of filter-repo instead of from a
+ tarball) then you can first run:
+
+ `make snag_docs`
+
+ (which just copies the generated documentation files from the
+ `docs` branch)
+
+2. Run the following
+
+ ```
+ cp -a git-filter-repo $(git --exec-path)
+ cp -a git-filter-repo.1 $(git --man-path)/man1
+ cp -a git-filter-repo.html $(git --html-path)
+ ln -s $(git --exec-path)/git-filter-repo \
+ $(python -c "import site;
print(site.getsitepackages()[-1])")/git_filter_repo.py
+ ```
# Installation via [pip](https://pip.pypa.io/)
@@ -86,6 +111,12 @@
$ pip3 install git-filter-repo
+However, the place where pip places that package might not be in your
+$PATH (thus requiring you to manually update your $PATH afterwards),
+and on windows the pip install might not take care of python-specific
+issues for you (see "Notes for Windows Users", above). As such,
+installation via package managers is recommended instead.
+
# Installation via Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/git-filter-repo-2.28.0/README.md
new/git-filter-repo-2.29.0/README.md
--- old/git-filter-repo-2.28.0/README.md 2020-07-27 20:06:22.000000000
+0200
+++ new/git-filter-repo-2.29.0/README.md 2020-10-19 21:01:00.000000000
+0200
@@ -430,7 +430,7 @@
(and occasionally other commands) in core git, based on things
filter-repo needs to do its work:
- * git-2.28.0 (not yet released)
+ * git-2.28.0
* [fast-import: add new --date-format=raw-permissive format](
https://git.kernel.org/pub/scm/git/git.git/commit/?id=d42a2fb72f)
* git-2.24.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/git-filter-repo-2.28.0/contrib/filter-repo-demos/filter-lamely
new/git-filter-repo-2.29.0/contrib/filter-repo-demos/filter-lamely
--- old/git-filter-repo-2.28.0/contrib/filter-repo-demos/filter-lamely
2020-07-27 20:06:22.000000000 +0200
+++ new/git-filter-repo-2.29.0/contrib/filter-repo-demos/filter-lamely
2020-10-19 21:01:00.000000000 +0200
@@ -577,7 +577,7 @@
return
tag.skip()
- reset = Reset(tag.ref, tag.from_ref)
+ reset = fr.Reset(tag.ref, tag.from_ref)
self.filter.insert(reset, direct_insertion = False)
def muck_stuff_up(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/git-filter-repo-2.28.0/git-filter-repo
new/git-filter-repo-2.29.0/git-filter-repo
--- old/git-filter-repo-2.28.0/git-filter-repo 2020-07-27 20:06:22.000000000
+0200
+++ new/git-filter-repo-2.29.0/git-filter-repo 2020-10-19 21:01:00.000000000
+0200
@@ -1189,13 +1189,14 @@
original_id = self._parse_original_id();
author_name = None
+ author_email = None
if self._currentline.startswith(b'author'):
(author_name, author_email, author_date) = self._parse_user(b'author')
(committer_name, committer_email, committer_date) = \
self._parse_user(b'committer')
- if not author_name:
+ if not author_name and not author_email:
(author_name, author_email, author_date) = \
(committer_name, committer_email, committer_date)
@@ -1314,6 +1315,8 @@
if not tag.dumped:
self._imported_refs.add(b'refs/tags/'+tag.ref)
tag.dump(self._output)
+ else:
+ tag.skip()
def _parse_progress(self):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/git-filter-repo-2.28.0/t/t9390-filter-repo.sh
new/git-filter-repo-2.29.0/t/t9390-filter-repo.sh
--- old/git-filter-repo-2.28.0/t/t9390-filter-repo.sh 2020-07-27
20:06:22.000000000 +0200
+++ new/git-filter-repo-2.29.0/t/t9390-filter-repo.sh 2020-10-19
21:01:00.000000000 +0200
@@ -317,6 +317,31 @@
)
'
+test_expect_success 'tag of tag before relevant portion of history' '
+ test_create_repo filtered_tag_of_tag &&
+ (
+ cd filtered_tag_of_tag &&
+ echo contents >file &&
+ git add file &&
+ git commit -m "Initial" &&
+
+ git tag -a -m "Inner Tag" inner_tag HEAD &&
+ git tag -a -m "Outer Tag" outer_tag inner_tag &&
+
+ mkdir subdir &&
+ echo stuff >subdir/whatever &&
+ git add subdir &&
+ git commit -m "Add file in subdir" &&
+
+ git filter-repo --force --subdirectory-filter subdir &&
+
+ git show-ref >refs &&
+ ! grep refs/tags refs &&
+ git log --all --oneline >commits &&
+ test_line_count = 1 commits
+ )
+'
+
test_expect_success '--subdirectory-filter' '
setup_metasyntactic_repo &&
(
@@ -1649,4 +1674,37 @@
test_cmp expect actual
'
+test_expect_success 'empty author ident' '
+ test_create_repo empty_author_ident &&
+ (
+ cd empty_author_ident &&
+
+ git init &&
+ cat <<-EOF | git fast-import --quiet &&
+ feature done
+ blob
+ mark :1
+ data 8
+ initial
+
+ reset refs/heads/develop
+ commit refs/heads/develop
+ mark :2
+ author <[email protected]> 1535228562 -0700
+ committer Full Name <[email protected]> 1535228562 -0700
+ data 8
+ Initial
+ M 100644 :1 filename
+
+ done
+ EOF
+
+ git filter-repo --force --path-rename filename:stuff &&
+
+ git log --format=%an develop >actual &&
+ echo >expect &&
+ test_cmp expect actual
+ )
+'
+
test_done