Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package git-review for openSUSE:Factory 
checked in at 2021-12-08 22:09:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/git-review (Old)
 and      /work/SRC/openSUSE:Factory/.git-review.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "git-review"

Wed Dec  8 22:09:29 2021 rev:16 rq:936498 version:2.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/git-review/git-review.changes    2021-12-05 
22:47:18.805407077 +0100
+++ /work/SRC/openSUSE:Factory/.git-review.new.31177/git-review.changes 
2021-12-08 22:10:45.962913542 +0100
@@ -1,0 +2,21 @@
+Tue Dec  7 21:06:05 UTC 2021 - Matej Cepl <mc...@suse.com>
+
+- Update to 2.2.0:
+  - When checking for unstaged or uncommitted changes to avoid
+    performing a test rebase, unstaged and uncommitted changes in
+    Git submodules are now ignored since those won???t be rebased
+    anyway.
+  - git-review now handles the Git core.hooksPath configuration
+    option correctly. Thus, it installs the commit-msg hook
+    into the core.hooksPath directory, if that option is
+    set. Otherwise, it continues to install the hook into
+    .git/hooks, relative to the root of the checkout.
+  - With Git 2.18.0 and later, the --rebase-merges (-r) option
+    will be used in place of the deprecated --preserve-merges
+    (-p) option. This fixes a critical error when git-review is
+    used with Git versions 2.34.0 onward, where the old option is
+    no longer available.
+- Remove unnecessary
+  7182166ec00ad3645821435d72c5424b4629165f.patch
+
+-------------------------------------------------------------------

Old:
----
  7182166ec00ad3645821435d72c5424b4629165f.patch
  git-review-2.1.0.tar.gz

New:
----
  git-review-2.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ git-review.spec ++++++
--- /var/tmp/diff_new_pack.ry0uTn/_old  2021-12-08 22:10:46.394913745 +0100
+++ /var/tmp/diff_new_pack.ry0uTn/_new  2021-12-08 22:10:46.398913747 +0100
@@ -17,14 +17,13 @@
 
 
 Name:           git-review
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        Tool to submit code to Gerrit
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://git.openstack.org/cgit/openstack-infra/git-review
 Source:         
https://files.pythonhosted.org/packages/source/g/%{name}/%{name}-%{version}.tar.gz
-Patch1:         
https://opendev.org/opendev/git-review/commit/7182166ec00ad3645821435d72c5424b4629165f.patch
 BuildRequires:  fdupes
 # Note that this package is intentionally not using singlespec because
 # it is not a library but a plain CLI tool, and it doesn't make sense to
@@ -56,6 +55,7 @@
 
 %install
 %python3_install
+%fdupes %{buildroot}%{python3_sitelib}
 
 %check
 # Can't be executed because it fetches java from web and launches own gerrit

++++++ git-review-2.1.0.tar.gz -> git-review-2.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/.zuul.yaml 
new/git-review-2.2.0/.zuul.yaml
--- old/git-review-2.1.0/.zuul.yaml     2021-04-23 23:09:54.000000000 +0200
+++ new/git-review-2.2.0/.zuul.yaml     2021-11-24 03:35:50.000000000 +0100
@@ -5,16 +5,16 @@
       - publish-opendev-tox-docs
     check:
       jobs: &jobs
-        - build-python-release:
-            nodeset: ubuntu-focal
+        - build-python-release
         - tox-linters
         - tox-py35:
             nodeset: ubuntu-xenial
-        - tox-py36
-        - tox-py37
+        - tox-py36:
+            nodeset: ubuntu-bionic
+        - tox-py37:
+            nodeset: ubuntu-bionic
         - tox-py38
-        - tox-py39:
-            nodeset: ubuntu-focal
+        - tox-py39
     gate:
       jobs: *jobs
     promote:
@@ -22,5 +22,4 @@
         - opendev-promote-python
     release:
       jobs:
-        - opendev-release-python:
-            nodeset: ubuntu-focal
+        - opendev-release-python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/AUTHORS new/git-review-2.2.0/AUTHORS
--- old/git-review-2.1.0/AUTHORS        2021-04-23 23:11:37.000000000 +0200
+++ new/git-review-2.2.0/AUTHORS        2021-11-24 03:37:33.000000000 +0100
@@ -34,6 +34,7 @@
 Doug Hellmann <d...@doughellmann.com>
 Eric Harney <ehar...@redhat.com>
 Fabio Porcedda <fabio.porce...@gmail.com>
+Florian Haas <flor...@citynetwork.eu>
 Frederic Lepied <frederic.lep...@enovance.com>
 Han-Wen Nienhuys <han...@google.com>
 Hannu Hartikainen <hannu.hartikai...@gmail.com>
@@ -46,6 +47,7 @@
 James E. Blair <jebl...@linux.vnet.ibm.com>
 Jan Kundr??t <jan.kund...@cesnet.cz>
 Jason Axelson <bostonvaul...@gmail.com>
+Jens Harbott <j.harb...@x-ion.de>
 Jeremy Stanley <fu...@yuggoth.org>
 John Vandenberg <jay...@gmail.com>
 Julien Danjou <jul...@danjou.info>
@@ -73,6 +75,7 @@
 Paul Belanger <paul.belan...@polybeacon.com>
 Pavel Sedl??k <psed...@redhat.com>
 Pete Zaitcev <zait...@kotori.zaitcev.us>
+Pierre Riteau <pie...@stackhpc.com>
 Roger Luethi <r...@patchworkscience.org>
 Roman Gorshunov <roman.gorshu...@att.com>
 Sachi King <nak...@nakato.io>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/ChangeLog 
new/git-review-2.2.0/ChangeLog
--- old/git-review-2.1.0/ChangeLog      2021-04-23 23:11:37.000000000 +0200
+++ new/git-review-2.2.0/ChangeLog      2021-11-24 03:37:33.000000000 +0100
@@ -1,6 +1,16 @@
 CHANGES
 =======
 
+2.2.0
+-----
+
+* Add release note for the rebase merge handling fix
+* Fix use of removed --preserve-merges option
+* Ignore unstaged/uncommitted submodule changes
+* Doc updates for Git "core.hooksPath" option support
+* Support the Git "core.hooksPath" option when dealing with hook scripts
+* Fix nodeset selections for zuul jobs
+
 2.1.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/PKG-INFO 
new/git-review-2.2.0/PKG-INFO
--- old/git-review-2.1.0/PKG-INFO       2021-04-23 23:11:38.093790800 +0200
+++ new/git-review-2.2.0/PKG-INFO       2021-11-24 03:37:33.261706400 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: git-review
-Version: 2.1.0
+Version: 2.2.0
 Summary: Tool to submit code to Gerrit
 Home-page: http://docs.opendev.org/opendev/git-review
 Author: OpenDev Contributors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/doc/source/installation.rst 
new/git-review-2.2.0/doc/source/installation.rst
--- old/git-review-2.1.0/doc/source/installation.rst    2021-04-23 
23:09:54.000000000 +0200
+++ new/git-review-2.2.0/doc/source/installation.rst    2021-11-24 
03:35:50.000000000 +0100
@@ -89,9 +89,13 @@
 git-review has a custom hook mechanism to run a script before certain
 actions. This is done in the same spirit as the classic hooks in git.
 
-There are two types of hooks, a global one which is stored in
-``~/.config/git-review/hooks/`` and one local to the repository stored in
-``.git/hooks/`` with the other git hook scripts.
+There are two types of hooks:
+
+* a global one which is stored in ``~/.config/git-review/hooks/``,
+
+* and one local to the repository, which is stored with the other git
+  hook scripts. Normally that's the ``.git/hooks/`` directory in your
+  checkout.
 
 **The script needs be executable before getting executed**
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review/cmd.py 
new/git-review-2.2.0/git_review/cmd.py
--- old/git-review-2.1.0/git_review/cmd.py      2021-04-23 23:09:54.000000000 
+0200
+++ new/git-review-2.2.0/git_review/cmd.py      2021-11-24 03:35:50.000000000 
+0100
@@ -247,7 +247,7 @@
     script_file = "%s-review" % (action)
     (top_dir, git_dir) = git_directories()
     paths = [os.path.join(CONFIGDIR, "hooks", script_file),
-             os.path.join(git_dir, "hooks", script_file)]
+             os.path.join(git_get_hooks_path(top_dir, git_dir), script_file)]
     for fpath in paths:
         if os.path.isfile(fpath) and os.access(fpath, os.X_OK):
             status, output = run_command_status(fpath)
@@ -285,7 +285,26 @@
         raise
 
 
+def git_get_hooks_path(top_dir, git_dir):
+    """Get the path where we need to store and retrieve Git hooks.
+
+    Normally hooks go into .git/hooks, but users can override with the
+    core.hooksPath option. This can either be an absolute path, in
+    which case we use it as-is, or a relative path, in which case we
+    must interpret it as relative to top_dir.
+    """
+    hook_dir = os.path.join(git_dir, "hooks")
+    hooks_path_option = git_config_get_value('core', 'hooksPath')
+    if hooks_path_option:
+        if os.path.isabs(hooks_path_option):
+            hook_dir = hooks_path_option
+        else:
+            hook_dir = os.path.join(top_dir, hooks_path_option)
+    return hook_dir
+
+
 class Config(object):
+
     """Expose as dictionary configuration options."""
 
     def __init__(self, config_file=None):
@@ -365,6 +384,9 @@
             run_command_exc(CannotInstallHook, *cmd)
         # If there are submodules, the hook needs to be installed into
         # each of them.
+        # Here, we don't check for any nonstandard hooks path, because
+        # it should be safe to assume that very few users are inclined
+        # to set the core.hooksPath option in a submodule checkout.
         run_command_exc(
             CannotInstallHook,
             "git", "submodule", "foreach",
@@ -866,13 +888,13 @@
     # Either the rebase will fail with a similar message, or if the user
     # has turned on rebase.autostash then the subsequent reset will
     # silently discard those changes.
-    cmd = "git diff --quiet"
+    cmd = "git diff --ignore-submodules --quiet"
     (status, output) = run_command_status(cmd)
     if status != 0:
         printwrap("You have unstaged changes. Please commit or stash them "
                   "first, and then try again.")
         sys.exit(1)
-    cmd = "git diff --cached --quiet"
+    cmd = "git diff --cached --ignore-submodules --quiet"
     (status, output) = run_command_status(cmd)
     if status != 0:
         printwrap("You have uncommitted changes. Please commit or stash them "
@@ -887,10 +909,25 @@
                   "re-run with the '-R' option enabled." % (branch, remote))
         sys.exit(1)
 
-    if interactive:
-        cmd = "git rebase -p -i %s" % remote_branch
-    else:
-        cmd = "git rebase -p %s" % remote_branch
+    # Determine git version to set rebase flags below.
+    output = run_command("git version")
+    rebase_flag = "--rebase-merges"
+    if "git version" in output:
+        try:
+            v = output.rsplit(None, 1)[1]
+            gitv = tuple(map(int, v.split('.')[:3]))
+            if gitv < (2, 18, 0):
+                rebase_flag = "--preserve-merges"
+        except Exception:
+            # We tried to determine the version and failed. Use current git
+            # flag as fallback.
+            warn("Could not determine git version. "
+                 "Using modern git rebase flags.")
+
+    interactive_flag = interactive and '-i' or ''
+
+    cmd = "git rebase %s %s %s" % \
+        (rebase_flag, interactive_flag, remote_branch)
 
     (status, output) = run_command_status(cmd, GIT_EDITOR='true')
     if status != 0:
@@ -1686,7 +1723,8 @@
     if options.custom_script:
         run_custom_script("pre")
 
-    hook_file = os.path.join(git_dir, "hooks", "commit-msg")
+    hook_dir = git_get_hooks_path(top_dir, git_dir)
+    hook_file = os.path.join(hook_dir, "commit-msg")
     have_hook = os.path.exists(hook_file) and os.access(hook_file, os.X_OK)
 
     if not have_hook:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review/tests/__init__.py 
new/git-review-2.2.0/git_review/tests/__init__.py
--- old/git-review-2.1.0/git_review/tests/__init__.py   2021-04-23 
23:09:54.000000000 +0200
+++ new/git-review-2.2.0/git_review/tests/__init__.py   2021-11-24 
03:35:50.000000000 +0100
@@ -291,6 +291,18 @@
                              '--work-tree=' + self._dir('test'),
                              command, *args)
 
+    def _run_git_sub(self, command, *args):
+        """Run git command using submodule of test git directory."""
+        if command == 'init':
+            utils.run_git('init', self._dir('test', 'sub'))
+            self._simple_change_sub('submodule content', 'initial commit')
+            utils.run_git('submodule', 'add', os.path.join('.', 'sub'),
+                          chdir=self._dir('test'))
+            return self._run_git('commit', '-m', 'add submodule')
+        return utils.run_git('--git-dir=' + self._dir('test', 'sub', '.git'),
+                             '--work-tree=' + self._dir('test', 'sub'),
+                             command, *args)
+
     def _run_gerrit(self, ssh_addr, ssh_port, http_addr, http_port):
         # create a copy of site dir
         if os.path.exists(self.site_dir):
@@ -344,6 +356,26 @@
         message = self._run_git('log', '-1', '--format=%s\n\n%b')
         self._run_git('commit', '--amend', '-m', message)
 
+    def _unstaged_change_sub(self, change_text, file_=None):
+        """Helper method to create small submodule changes and not stage."""
+        if file_ is None:
+            file_ = self._dir('test', 'sub', 'test_file.txt')
+        utils.write_to_file(file_, ''.encode())
+        self._run_git_sub('add', file_)
+        utils.write_to_file(file_, change_text.encode())
+
+    def _uncommitted_change_sub(self, change_text, file_=None):
+        """Helper method to create small submodule changes and not commit."""
+        if file_ is None:
+            file_ = self._dir('test', 'sub', 'test_file.txt')
+        self._unstaged_change_sub(change_text, file_)
+        self._run_git_sub('add', file_)
+
+    def _simple_change_sub(self, change_text, commit_message, file_=None):
+        """Helper method to create small submodule changes and commit them."""
+        self._uncommitted_change_sub(change_text, file_)
+        self._run_git_sub('commit', '-m', commit_message)
+
     def _configure_ssh(self, ssh_addr, ssh_port):
         """Setup ssh and scp to run with special options."""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review/tests/test_git_review.py 
new/git-review-2.2.0/git_review/tests/test_git_review.py
--- old/git-review-2.1.0/git_review/tests/test_git_review.py    2021-04-23 
23:09:54.000000000 +0200
+++ new/git-review-2.2.0/git_review/tests/test_git_review.py    2021-11-24 
03:35:50.000000000 +0100
@@ -18,6 +18,7 @@
 import json
 import os
 import shutil
+import tempfile
 import testtools
 
 from git_review import tests
@@ -102,6 +103,53 @@
         self._run_git_review(
             '-s', chdir=os.path.join(self.test_dir, 'subdirectory'))
 
+    def test_git_review_s_without_core_hooks_path_option(self):
+        """Test whether git-review -s correctly creates the commit-msg hook,
+        with the Git core.hooksPath option unset.
+        """
+        hooks_subdir = ".git/hooks"
+        self.reset_remote()
+
+        # There really isn't a good way to ensure that
+        # "core.hooksPath" option is presently unset. "git config
+        # --unset" is not idempotent; if you try to unset a config
+        # option that isn't defined it fails with an exit code of
+        # 5. Running "git config core.hooksPath" to retrieve the value
+        # returns 1 if unset, but we can't use self.assertRaises here
+        # either because run_cmd raises a generic Exception and that's
+        # too broad. So instead, we don't check core.hooksPath at all
+        # here, and instead rely on the next two tests to unset the
+        # option after they've set it.
+        self._run_git_review('-s')
+        self.assertTrue(os.path.exists(os.path.join(self.test_dir,
+                                                    hooks_subdir,
+                                                    'commit-msg')))
+
+    def test_git_review_s_with_core_hooks_path_option_relative(self):
+        """Test whether git-review -s correctly creates the commit-msg hook,
+        with the Git core.hooksPath option set to a relative path.
+        """
+        hooks_subdir = "foo"
+        self.reset_remote()
+        self._run_git("config", "core.hooksPath", hooks_subdir)
+        self._run_git_review('-s')
+        self.assertTrue(os.path.exists(os.path.join(self.test_dir,
+                                                    hooks_subdir,
+                                                    'commit-msg')))
+        self._run_git("config", "--unset", "core.hooksPath")
+
+    def test_git_review_s_with_core_hooks_path_option_absolute(self):
+        """Test whether git-review -s correctly creates the commit-msg hook,
+        with the Git core.hooksPath option set to an absolute path.
+        """
+        self.reset_remote()
+        with tempfile.TemporaryDirectory() as hooks_dir:
+            self._run_git("config", "core.hooksPath", hooks_dir)
+            self._run_git_review('-s')
+            self.assertTrue(os.path.exists(os.path.join(hooks_dir,
+                                                        'commit-msg')))
+        self._run_git("config", "--unset", "core.hooksPath")
+
     def test_git_review_d(self):
         """Test git-review -d."""
         self._run_git_review('-s')
@@ -238,6 +286,22 @@
         exc = self.assertRaises(Exception, self._run_git_review)
         self.assertIn("You have uncommitted changes. Please", exc.args[0])
 
+    def test_ignore_unstaged_submodule_changes(self):
+        """Test message displayed when unstaged changes are present."""
+        self._run_git_review('-s')
+        self._run_git('checkout', '-b', 'test_branch')
+        self._run_git_sub('init')
+        self._unstaged_change_sub(change_text='simple message')
+        self._run_git_review()
+
+    def test_ignore_uncommitted_submodule_changes(self):
+        """Test message displayed when staged changes are present."""
+        self._run_git_review('-s')
+        self._run_git('checkout', '-b', 'test_branch')
+        self._run_git_sub('init')
+        self._uncommitted_change_sub(change_text='simple message')
+        self._run_git_review()
+
     def test_rebase_no_remote_branch_msg(self):
         """Test message displayed where no remote branch exists."""
         self._run_git_review('-s')
@@ -259,9 +323,11 @@
                             'create conflict with master')
 
         exc = self.assertRaises(Exception, self._run_git_review)
-        self.assertIn(
-            "Errors running git rebase -p -i remotes/%s/master" % self._remote,
-            exc.args[0])
+        rebased = ("Errors running git rebase --rebase-merges "
+                   "-i remotes/%s/master" % self._remote in exc.args[0] or
+                   "Errors running git rebase --preserve-merges "
+                   "-i remotes/%s/master" % self._remote in exc.args[0])
+        self.assertTrue(rebased)
         self.assertIn("It is likely that your change has a merge conflict.",
                       exc.args[0])
 
@@ -277,9 +343,11 @@
                             self._dir('test', 'new_test_file.txt'))
 
         review_res = self._run_git_review('-v')
-        self.assertIn(
-            "Running: git rebase -p -i remotes/%s/master" % self._remote,
-            review_res)
+        rebased = ("Running: git rebase --rebase-merges "
+                   "-i remotes/%s/master" % self._remote in review_res or
+                   "Running: git rebase --preserve-merges "
+                   "-i remotes/%s/master" % self._remote in review_res)
+        self.assertTrue(rebased)
         self.assertEqual(self._run_git('rev-parse', 'HEAD^1'), head_1)
 
     def test_uploads_with_nondefault_rebase(self):
@@ -319,8 +387,10 @@
 
         review_res = self._run_git_review('-v')
         # no rebase needed; if it breaks it would try to rebase to master
-        self.assertNotIn("Running: git rebase -p -i remotes/origin/master",
-                         review_res)
+        self.assertNotIn("Running: git rebase --rebase-merges "
+                         "-i remotes/origin/master", review_res)
+        self.assertNotIn("Running: git rebase --preserve-merges "
+                         "-i remotes/origin/master", review_res)
         # Don't need to query gerrit for the branch as the second half
         # of this test will work only if the branch was correctly
         # stored in gerrit
@@ -337,8 +407,11 @@
         self.assertEqual(change_id, new_change_id)
         review_res = self._run_git_review('-v')
         # caused the right thing to happen
-        self.assertIn("Running: git rebase -p -i remotes/origin/maint",
-                      review_res)
+        rebased = ("Running: git rebase --rebase-merges "
+                   "-i remotes/origin/maint" in review_res or
+                   "Running: git rebase --preserve-merges "
+                   "-i remotes/origin/maint" in review_res)
+        self.assertTrue(rebased)
 
         # track different branch than expected in changeset
         branch = self._run_git('rev-parse', '--abbrev-ref', 'HEAD')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review.egg-info/PKG-INFO 
new/git-review-2.2.0/git_review.egg-info/PKG-INFO
--- old/git-review-2.1.0/git_review.egg-info/PKG-INFO   2021-04-23 
23:11:37.000000000 +0200
+++ new/git-review-2.2.0/git_review.egg-info/PKG-INFO   2021-11-24 
03:37:33.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: git-review
-Version: 2.1.0
+Version: 2.2.0
 Summary: Tool to submit code to Gerrit
 Home-page: http://docs.opendev.org/opendev/git-review
 Author: OpenDev Contributors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review.egg-info/SOURCES.txt 
new/git-review-2.2.0/git_review.egg-info/SOURCES.txt
--- old/git-review-2.1.0/git_review.egg-info/SOURCES.txt        2021-04-23 
23:11:38.000000000 +0200
+++ new/git-review-2.2.0/git_review.egg-info/SOURCES.txt        2021-11-24 
03:37:33.000000000 +0100
@@ -28,7 +28,6 @@
 git_review.egg-info/dependency_links.txt
 git_review.egg-info/entry_points.txt
 git_review.egg-info/not-zip-safe
-git_review.egg-info/pbr.json
 git_review.egg-info/requires.txt
 git_review.egg-info/top_level.txt
 git_review/tests/__init__.py
@@ -47,9 +46,12 @@
 releasenotes/notes/fix-usepushurl-c4a234689d808ece.yaml
 releasenotes/notes/git-credentials-bytes-6fcecd405dc4ed29.yaml
 releasenotes/notes/ignore-topic-for-master-patches-9ba01c0762d3df65.yaml
+releasenotes/notes/ignore-unstaged-uncommitted-submodule-changes-99dbf054f5617d08.yaml
 releasenotes/notes/missed-notes-f903719767e0a0ce.yaml
 releasenotes/notes/preserve-local-edits-on-download-0f11c676e5516d9f.yaml
 releasenotes/notes/push-no-follow-tags-3f366ecee85b508d.yaml
 releasenotes/notes/refuse-unstaged-changes-61600bd33adf3a45.yaml
 releasenotes/notes/remove-automatic-branch-naming-8e3e2f6487637b86.yaml
+releasenotes/notes/support-core-hooks-path-ea5402d5d6204f70.yaml
+releasenotes/notes/use-rebase-merges-2550c9573cfbf39a.yaml
 releasenotes/notes/user-notifications-0276f6c14d119225.yaml
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/git-review-2.1.0/git_review.egg-info/pbr.json 
new/git-review-2.2.0/git_review.egg-info/pbr.json
--- old/git-review-2.1.0/git_review.egg-info/pbr.json   2021-04-23 
23:11:37.000000000 +0200
+++ new/git-review-2.2.0/git_review.egg-info/pbr.json   1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"git_version": "afda8ec", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/git-review-2.1.0/releasenotes/notes/ignore-unstaged-uncommitted-submodule-changes-99dbf054f5617d08.yaml
 
new/git-review-2.2.0/releasenotes/notes/ignore-unstaged-uncommitted-submodule-changes-99dbf054f5617d08.yaml
--- 
old/git-review-2.1.0/releasenotes/notes/ignore-unstaged-uncommitted-submodule-changes-99dbf054f5617d08.yaml
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/git-review-2.2.0/releasenotes/notes/ignore-unstaged-uncommitted-submodule-changes-99dbf054f5617d08.yaml
 2021-11-24 03:35:50.000000000 +0100
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    When checking for unstaged or uncommitted changes to avoid performing a
+    test rebase, unstaged and uncommitted changes in Git submodules are now
+    ignored since those won't be rebased anyway.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/git-review-2.1.0/releasenotes/notes/support-core-hooks-path-ea5402d5d6204f70.yaml
 
new/git-review-2.2.0/releasenotes/notes/support-core-hooks-path-ea5402d5d6204f70.yaml
--- 
old/git-review-2.1.0/releasenotes/notes/support-core-hooks-path-ea5402d5d6204f70.yaml
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/git-review-2.2.0/releasenotes/notes/support-core-hooks-path-ea5402d5d6204f70.yaml
       2021-11-24 03:35:50.000000000 +0100
@@ -0,0 +1,8 @@
+---
+fixes:
+  - |
+    git-review now handles the Git ``core.hooksPath`` configuration
+    option correctly. Thus, it installs the ``commit-msg`` hook into
+    the ``core.hooksPath`` directory, if that option is
+    set. Otherwise, it continues to install the hook into
+    ``.git/hooks``, relative to the root of the checkout.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/git-review-2.1.0/releasenotes/notes/use-rebase-merges-2550c9573cfbf39a.yaml 
new/git-review-2.2.0/releasenotes/notes/use-rebase-merges-2550c9573cfbf39a.yaml
--- 
old/git-review-2.1.0/releasenotes/notes/use-rebase-merges-2550c9573cfbf39a.yaml 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/git-review-2.2.0/releasenotes/notes/use-rebase-merges-2550c9573cfbf39a.yaml 
    2021-11-24 03:35:50.000000000 +0100
@@ -0,0 +1,7 @@
+---
+fixes:
+  - |
+    With Git 2.18.0 and later, the ``--rebase-merges`` (``-r``) option will
+    be used in place of the deprecated ``--preserve-merges`` (``-p``)
+    option. This fixes a critical error when git-review is used with Git
+    versions 2.34.0 onward, where the old option is no longer available.

Reply via email to