No longer check for new git-review releases
* git-review(latest_is_newer,main,print_exit_message) (update_latest_version): The git-review tool is now being packaged actively by most operating systems/distributions popular amongst the current user base, and has been stable without serious usability bugs for some time. As a result, the expectation is that most users are now installing from places other than PyPI and so the somewhat hackish functions which check for and warn users about the existence of new releases have outlived their usefulness. Removing them to pave the way for continued ease of maintainability improvements, and also to be one less annoying thing packagers and users have to disable downstream. Closes-Bug: 1212829 Change-Id: I9d2ddea794f2b53d4137f0916de4afa029120f59
This commit is contained in:
parent
fed8751db7
commit
f93a719a10
68
git-review
68
git-review
@ -26,7 +26,6 @@ import shlex
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
import time
|
|
||||||
|
|
||||||
if sys.version < '3':
|
if sys.version < '3':
|
||||||
import ConfigParser
|
import ConfigParser
|
||||||
@ -43,8 +42,6 @@ else:
|
|||||||
urlparse = urllib.parse.urlparse
|
urlparse = urllib.parse.urlparse
|
||||||
do_input = input
|
do_input = input
|
||||||
|
|
||||||
from distutils import version as du_version
|
|
||||||
|
|
||||||
version = "1.23"
|
version = "1.23"
|
||||||
|
|
||||||
VERBOSE = False
|
VERBOSE = False
|
||||||
@ -148,48 +145,6 @@ def run_command_exc(klazz, *argv, **env):
|
|||||||
return output
|
return output
|
||||||
|
|
||||||
|
|
||||||
def update_latest_version(version_file_path):
|
|
||||||
"""Cache the latest version of git-review for the upgrade check."""
|
|
||||||
|
|
||||||
if not os.path.exists(CONFIGDIR):
|
|
||||||
os.makedirs(CONFIGDIR)
|
|
||||||
|
|
||||||
if os.path.exists(version_file_path) and not UPDATE:
|
|
||||||
if (time.time() - os.path.getmtime(version_file_path)) < 28800:
|
|
||||||
return
|
|
||||||
|
|
||||||
latest_version = version
|
|
||||||
try:
|
|
||||||
latest_version = json.load(urlopen(PYPI_URL))['info']['version']
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
|
|
||||||
with open(version_file_path, "w") as version_file:
|
|
||||||
version_file.write(latest_version)
|
|
||||||
|
|
||||||
|
|
||||||
def latest_is_newer():
|
|
||||||
"""Check if there is a new version of git-review."""
|
|
||||||
|
|
||||||
# Skip version check if distro package turns it off
|
|
||||||
if os.path.exists(GLOBAL_CONFIG):
|
|
||||||
config = dict(check=False)
|
|
||||||
configParser = ConfigParser.ConfigParser(config)
|
|
||||||
configParser.read(GLOBAL_CONFIG)
|
|
||||||
if not configParser.getboolean("updates", "check"):
|
|
||||||
return False
|
|
||||||
|
|
||||||
version_file_path = os.path.join(CONFIGDIR, "latest-version")
|
|
||||||
update_latest_version(version_file_path)
|
|
||||||
|
|
||||||
latest_version = None
|
|
||||||
with open(version_file_path, "r") as version_file:
|
|
||||||
latest_version = du_version.StrictVersion(version_file.read())
|
|
||||||
if latest_version > du_version.StrictVersion(version):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def git_directories():
|
def git_directories():
|
||||||
"""Determine (absolute git work directory path, .git subdirectory path)."""
|
"""Determine (absolute git work directory path, .git subdirectory path)."""
|
||||||
cmd = ("git", "rev-parse", "--show-toplevel", "--git-dir")
|
cmd = ("git", "rev-parse", "--show-toplevel", "--git-dir")
|
||||||
@ -953,22 +908,6 @@ def convert_bool(one_or_zero):
|
|||||||
return one_or_zero in ["1", "true", "True"]
|
return one_or_zero in ["1", "true", "True"]
|
||||||
|
|
||||||
|
|
||||||
def print_exit_message(status, needs_update):
|
|
||||||
|
|
||||||
if needs_update:
|
|
||||||
print("""
|
|
||||||
***********************************************************
|
|
||||||
A new version of git-review is available on PyPI. Please
|
|
||||||
update your copy with:
|
|
||||||
|
|
||||||
pip install -U git-review
|
|
||||||
|
|
||||||
to ensure proper behavior with gerrit. Thanks!
|
|
||||||
***********************************************************
|
|
||||||
""")
|
|
||||||
sys.exit(status)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
usage = "git review [OPTIONS] ... [BRANCH]"
|
usage = "git review [OPTIONS] ... [BRANCH]"
|
||||||
|
|
||||||
@ -1105,7 +1044,6 @@ def main():
|
|||||||
yes = options.yes
|
yes = options.yes
|
||||||
status = 0
|
status = 0
|
||||||
|
|
||||||
needs_update = latest_is_newer()
|
|
||||||
check_remote(branch, remote,
|
check_remote(branch, remote,
|
||||||
config['hostname'], config['port'], config['project'])
|
config['hostname'], config['port'], config['project'])
|
||||||
|
|
||||||
@ -1145,9 +1083,9 @@ def main():
|
|||||||
|
|
||||||
if options.rebase:
|
if options.rebase:
|
||||||
if not rebase_changes(branch, remote):
|
if not rebase_changes(branch, remote):
|
||||||
print_exit_message(1, needs_update)
|
sys.exit(1)
|
||||||
if not options.force_rebase and not undo_rebase():
|
if not options.force_rebase and not undo_rebase():
|
||||||
print_exit_message(1, needs_update)
|
sys.exit(1)
|
||||||
assert_one_change(remote, branch, yes, have_hook)
|
assert_one_change(remote, branch, yes, have_hook)
|
||||||
|
|
||||||
ref = "publish"
|
ref = "publish"
|
||||||
@ -1188,7 +1126,7 @@ def main():
|
|||||||
|
|
||||||
if options.custom_script:
|
if options.custom_script:
|
||||||
run_custom_script("post")
|
run_custom_script("post")
|
||||||
print_exit_message(status, needs_update)
|
sys.exit(status)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
Reference in New Issue
Block a user