Fixes T3046. Git has no minimum or bad versions; svn has no minimum and the bad version of 1.7.1, and mercurial has a minimum of 1.9 and bad versions 2.2 and 2.1. These error messages are specific about the problem but do not include the details as to what specifically is bad about a given version. I don't think that's really necessary - the details don't help solve the problem and its probably booooooring at best to the average user. The details about a bad version are included in the code however.
Details
- Reviewers
epriestley - Maniphest Tasks
- Restricted Maniphest Task
- Commits
- Restricted Diffusion Commit
rPc9c4dc1d9b01: Config - add setup checks for minimum and "bad" versions of VCS software.
hardcoded a VCS array to let me test all the VCS stuff. added some phlog() calls to make sure the VCS version parsing stuff was working correctly relative to the version(s) on my system. played around with setting minimum versions and bad versions and saw good results depending on what I set.
Diff Detail
- Repository
- rP Phabricator
- Branch
- T3046
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 3049 Build 3055: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
src/applications/config/check/PhabricatorSetupCheckBinaries.php | ||
---|---|---|
105 | Consider mapping these to a reason string to help us remember what's going on and users understand why the version is bad. | |
111 | e.g., The reason for 2.1 is "This version of Mercurial returns a bad exit code after a successful pull." | |
119 | Use version_compare() to deal with stuff like "10.1.1" being a larger version than "2.0.0" even though the string has a smaller alphabetic value. |
updates... I wrote the "why" notes but I did not expose them to the user per my reasoning in the diff summary.