Commit Graph

54 Commits

Author SHA1 Message Date
Jon Dufresne c513c5e890 Harmonize return type of VersionControl.get_revision in subclasses
Previously, the Subversion subclass violated the parent's type signature
by returning an int, but it is now coerced to a str to match the
expected signature.
2020-12-30 11:25:29 -08:00
Jon Dufresne 0b761a164c Harmonize type signature of VersionControl.get_remote_url() subclasses
In the base class, the signature is defined as:

    type: (str) -> str

Further, the docstring says:

    Raises RemoteNotFoundError if the repository does not have a remote
    url configured.

However, some subclasses were returning None instead of raising
RemoteNotFoundError. This violated the type signature and forced calling
code to handle multiple error paradigms.

Now, all subclasses implement the base's signature.

This allowed simplifying some call sites as they can assume None will
not be returned.

This mismatch was noticed while trying to remove "mypy:
disallow-untyped-defs=False" comments.
2020-12-25 13:45:17 -08:00
Jon Dufresne c148bcc1aa Use short Python3 super() syntax 2020-12-24 15:11:51 -08:00
Jon Dufresne f32adaf09b Remove __future__ imports
Unnecessary since dropping Python 2.
2020-12-24 08:38:09 -08:00
Hugo van Kemenade 817ee23051 Remove redundant Python 2.7 code 2020-12-22 09:06:26 +02:00
Devesh Kumar Singh ab3ee7191c Remove on_returncode parameter from call_subprocess 2020-05-23 19:13:13 +05:30
Devesh Kumar Singh 94882fd1ed Remove show_stdout from run_command args 2020-05-23 19:13:13 +05:30
Tzu-ping Chung 6e2e74ac29 Normalize path returned by VCS on return 2020-01-15 16:37:05 +08:00
Tzu-ping Chung 85654a9eb8 Minor code formatting and logging 2020-01-14 18:08:00 +08:00
Tzu-ping Chung e0781159c6 Strip the repo root output 2020-01-14 16:40:48 +08:00
Tzu-ping Chung 2d3e8f72e6 Detect all registered VCS and choose inner-most 2020-01-14 00:30:27 +08:00
tbeswick 7ebc54171c Fixed missing return statement in `Mercurial.controls_location()`, it
only got found after reverting `VersionControl.controls_location()`
2019-10-11 17:15:35 +13:00
tbeswick f197479dc8 Fixed LF getting converted to CRLF in last commit. 2019-10-11 14:30:30 +13:00
tbeswick f81f3c902c Removed `get_repo_root_dir()`, this functionality is now included in `Git.get_subdirectory()` and `Mercurial.get_subdirectory()`.
Added `find_path_to_setup_from_repo_root()` function to perform the
common parts of `get_subdirectory()`.
2019-10-11 12:27:17 +13:00
TonyBeswick bcbaee7aa5
Merge branch 'master' into master 2019-10-08 18:39:08 +13:00
tbeswick c6906f1a38 - Abstracted out common `get_subdirectory()` code in `Git` and `Mercurial`, adding `get_repo_root_dir()` for the vcs specific code.
- Reverted behaviour of `Git.controls_location()` and `Mercurial.controls_location()` to call the vcs command if the base `VersionControl.controls_location()` doesn't detect the vcs directory.
- Added `log_failed_cmd` argument `VcsSupport.run_command()` to allow vcs commands to be tried without logging errors if they aren't present.
- Corrected indentation.
- Removed `expect_stderr=True` in `test_freeze_mercurial_clone_srcdir` as its not required.
2019-10-08 18:15:22 +13:00
Christopher Hunt 5a997b7509
Merge pull request #7065 from chrahunt/pr-5955
Explicit support for hg+file
2019-10-06 09:39:42 -04:00
Pradyun Gedam 2eafb0218b
Update all the imports as needed 2019-09-30 11:15:24 +05:30
Maxim Kurnikov 3692097cca add per-file disallow_untyped_defs=False, and set it to True globally 2019-09-29 23:31:15 +02:00
tbeswick b2bae62641 Fixed problem where vcs commands were being called even if they're not installed, causing errors to be logged. 2019-09-25 11:40:38 +12:00
tbeswick 657a7cb0c2 - Added missing argument to run_command: on_returncode='ignore'
- fixed lint errors.
2019-09-24 21:05:30 +12:00
Chris Jerdonek 0435316fde Move path_to_url() to utils/urls.py. 2019-09-24 02:01:52 -07:00
Tony Beswick 063b899c3b Adding `get_subdirdctory` method to `Mercurial` class so it can detect a setup.py in a repo subdirectory. 2019-09-24 12:20:53 +12:00
Tony Beswick c0809f4183 Added a `controls_location` implementation to the `Mercurial` class, so it porperly detects that subdirectories are under mercurial control. 2019-09-24 11:46:02 +12:00
Chris Hunt 05964ead48 Address previous review comments 2019-09-22 11:10:25 -04:00
Adam Tse 3f98ee4250 Explicit support and tests for `hg+file` scheme for `pip install`. 2019-09-22 11:04:23 -04:00
Chris Jerdonek 7783c47131
Hide security-sensitive strings in VCS command log messages (#6890) 2019-08-21 03:22:57 -07:00
Chris Jerdonek 393f626276 Add type annotations to VCS methods passing an url to run_command(). 2019-08-16 16:20:56 -07:00
Chris Jerdonek 5c89643d3d Remove importing from vcs in pip/_internal/__init__.py.
This also renames the current vcs/__init__.py to vcs/versioncontrol.py.
2019-06-03 01:18:36 -07:00
Chris Jerdonek 68c105c29d Make VersionControl.fetch_new() an instance method. 2019-05-22 00:11:07 -07:00
Chris Jerdonek 0573d7f81f
Merge pull request #6408 from cjerdonek/vcs-remove-url-attribute
Remove url as an attribute of VersionControl
2019-05-07 15:17:56 -04:00
Pradyun Gedam 422d989056
Merge pull request #5931 from xrmx/fix5059
Remove last use of SafeConfigParser
2019-05-07 11:37:37 -04:00
Chris Jerdonek 0ea639d644 Remove url as an instance attribute of the VersionControl class. 2019-05-06 22:59:18 -04:00
Chris Jerdonek a829362e6a Make fetch_new() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 977d3f6f8c Make is_commit_id_equal() a class method. 2019-03-22 00:04:55 -07:00
Chris Jerdonek 22e4be1410 Address review comment: make two methods static. 2019-03-17 00:27:09 -07:00
Chris Jerdonek 12e41eef8b Make VersionControl.get_base_rev_args() a class method. 2019-03-16 01:21:30 -07:00
Chris Jerdonek fdbfde03e1 Implement get_src_requirement() in the VersionControl base class. 2019-03-01 11:01:25 -08:00
Chris Jerdonek 8d45557ff1 Make get_src_requirement() a class method. 2019-01-09 01:52:24 -08:00
Chris Jerdonek 8a036105dd Make get_revision() and get_revision_hash() class methods. 2019-01-09 01:52:19 -08:00
Chris Jerdonek 8a771d027d Make get_remote_url() a class method. 2019-01-09 01:24:16 -08:00
Chris Jerdonek 7e8e706791 Rename VersionControl.get_url() to get_remote_url(). 2018-11-09 22:55:59 -08:00
Chris Jerdonek 07900ed732 Change VersionControl.get_src_requirement() to accept the project name. 2018-11-08 04:24:05 -08:00
Riccardo Magliocchetti 376abc0655 remove last user of SafeConfigParser
Fixes #5059
2018-10-30 12:11:04 +01:00
Chris Jerdonek 520df5356f Add misc.make_vcs_requirement_url(). 2018-09-25 01:31:34 -07:00
Chris Jerdonek 59b8a80c9b Remove two unreachable returns in VersionControl.get_src_requirement(). 2018-09-20 00:34:05 -07:00
Chris Jerdonek d5af777d0d Fix issue #5624: installing a Git ref for installs after the first. 2018-08-08 00:16:57 -07:00
Chris Jerdonek 701d010c02 Implement VersionControl.obtain() in the base class. 2018-07-08 22:46:25 -07:00
Chris Jerdonek 64d205e896 Refactor out a new VersionControl.fetch_new() method. 2018-07-07 21:55:55 -07:00
Chris Jerdonek da30b7007d Address @pradyunsg's review comment. 2017-10-05 02:32:54 -07:00