1. 04 Dec, 2020 1 commit
  2. 03 Dec, 2020 2 commits
  3. 28 Nov, 2020 1 commit
  4. 17 Nov, 2020 2 commits
    • Matt Harbison's avatar
      packaging: add a requirements list for CentOS 7 · f3fc512cf85b
      Matt Harbison authored
      This platform needs to be special cased because QScintilla is now linking
      against a newer C library than is available by default.
      
          ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by PyQt5/Qsci.abi3.so)
      
      That error triggered an application update check, which triggered a flood of
      warnings about OpenSSL symbols, and then a qt.network.ssl warning about an
      incompatible version of OpenSSL.  This requires rolling back PyQt5 to something
      compatible with 1.0.x, which necessitates rolling back QScintilla a bit further.
      The Qt blog says 5.12.4 added support for OpenSSL 1.1.1[1], but experimentation
      shows that 5.12.3 also has it.  Using 1.0.2 means there is no TLS 1.3 support.
      
      [1] https://www.qt.io/blog/2019/06/17/qt-5-12-4-released-support-openssl-1-1-1
      
      --HG--
      branch : stable
      f3fc512cf85b
    • Matt Harbison's avatar
      packaging: combine all Windows requirements into a single file · 91aea2fdba0a
      Matt Harbison authored
      I didn't realize this worked, and this is easier than specifying multiple files
      to get a basic setup for a platform when installing.
      
      I pinned a couple of the py2 packages so that they stay on the existing version
      when regenerating the file.  The py3 stuff stayed on the existing versions
      because there were no updates available.
      
      --HG--
      branch : stable
      91aea2fdba0a
  5. 16 Nov, 2020 2 commits
  6. 15 Nov, 2020 1 commit
  7. 14 Nov, 2020 1 commit
  8. 05 Nov, 2020 5 commits
  9. 03 Nov, 2020 2 commits
  10. 29 Oct, 2020 1 commit
    • Matt Harbison's avatar
      updatecheck: handle release candidate version strings in the app · c99738abaf26
      Matt Harbison authored
      This reverts e255f1731274 now that 47386871c8b9 is converting the value from the
      website to a form that handles rc0 builds.  After building and running 5.6rc0,
      it checked for updates and thought 5.5.2 was newer.
      
      The original impetus for e255f1731274 was that a normalized local version of
      `5.5+10` looked like it was newer than a non-normalized `5.5.2`, due to the
      3rd component being multiplied by 10000 when there's a `+` or `rc` in the
      version.  There's still an issue when comparing _build_package_version() values
      because multiplying the periodic component is conditional.  This will cause
      incorrect comparisions when running from source with local changes, committed or
      otherwise.  But it looks like this will work for official release packages.
      
      --HG--
      branch : stable
      c99738abaf26
  11. 31 Oct, 2020 2 commits
  12. 28 Oct, 2020 1 commit
  13. 24 Oct, 2020 5 commits
    • Yuya Nishihara's avatar
      typing: assert that opts['ciexclude'] is a string · c43069b5101d
      Yuya Nishihara authored
        tortoisehg/hgqt/status.py", line 801, in __init__: No attribute 'split'
        on bool [attribute-error]
          In Union[Any, bool, str]
        Called from (traceback):
          line 482, in updateModel
      
      --HG--
      branch : stable
      c43069b5101d
    • Yuya Nishihara's avatar
      typing: add type hint to RepoWidget.runCustomCommand() · 0f6dbab54e65
      Yuya Nishihara authored
      Silences the following error:
      
        tortoisehg/hgqt/repowidget.py", line 2243, in runCustomCommand: No attribute
        'replace' on bool [attribute-error]
          In Union[bool, bytes, str]
        Called from (traceback):
          line 2316, in handleRunCustomCommandRequest
      
      No idea why it returns int or Popen object.
      
      --HG--
      branch : stable
      0f6dbab54e65
    • Yuya Nishihara's avatar
      typing: wrap QObject.parent() to assert that parent is a QWidget · 5ff73191ba50
      Yuya Nishihara authored
        tortoisehg/hgqt/fileview.py", line 897, in _gotoLineDialog: Function
        QInputDialog.getInt was called with the wrong arguments [wrong-arg-types]
          Expected: (parent: PyQt5.QtWidgets.QWidget, ...)
          Actually passed: (parent: PyQt5.QtCore.QObject, ...)
      
      --HG--
      branch : stable
      5ff73191ba50
    • Yuya Nishihara's avatar
      typing: assert model() return value to help pytype · 97ba87d35a66
      Yuya Nishihara authored
      Maybe pytype can now scan more functions since we've fixed the pyqtSlot()
      signature.
      
        tortoisehg/hgqt/reporegistry.py", line 417, in _addAndScanRepo: No attribute
        'indexFromRepoRoot' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/reporegistry.py", line 421, in _addAndScanRepo: No attribute
        'addRepo' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/repoview.py", line 488, in resizeEvent: No attribute
        'columnCount' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/grep.py", line 336, in runSearch: No attribute 'reset'
        on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/grep.py", line 402, in <lambda>: No attribute 'appendRow'
        on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 809, in _onGuardConfigure: No attribute
        'patchName' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 810, in _onGuardConfigure: No attribute
        'patchGuards' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 823, in _onDelete: No attribute 'patchName'
        on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 857, in _updatePatchActions: No attribute
        'appliedCount' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 858, in _updatePatchActions: No attribute
        'rowCount' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 865, in _updatePatchActions: No attribute
        'isApplied' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 865, in <genexpr>: No attribute 'isApplied'
        on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/mq.py", line 867, in _updatePatchActions: No attribute
        'topAppliedIndex' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/repowidget.py", line 854, in _updateRepoViewForModel:
        No attribute 'defaultIndex' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/repowidget.py", line 858, in _updateRepoViewForModel:
        No attribute 'revset' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/revdetails.py", line 421, in _onFileSelected: No attribute
        'fileData' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/revdetails.py", line 465, in updateItemFileActions: No
        attribute 'fileData' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/revdetails.py", line 510, in _applyFlatFileList: No attribute
        'setFlat' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/revdetails.py", line 527, in _applyFileStatusFilter: No
        attribute 'setStatusFilter' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/status.py", line 646, in onSelectionChange: No attribute
        'fileData' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/status.py", line 682, in _toggleSelectedFiles: No attribute
        'data' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
        tortoisehg/hgqt/status.py", line 686, in _toggleSelectedFiles: No attribute
        'setData' on None [attribute-error]
          In Optional[PyQt5.QtCore.QAbstractItemModel]
      
      --HG--
      branch : stable
      97ba87d35a66
    • Yuya Nishihara's avatar
      typing: fix return type of pyqtSlot() to preserve wrapped function type · 1567321490d7
      Yuya Nishihara authored
      --HG--
      branch : stable
      1567321490d7
  14. 23 Oct, 2020 1 commit
  15. 24 Oct, 2020 2 commits
  16. 23 Oct, 2020 1 commit
    • Matt Harbison's avatar
      wix: use the merge module for the VC 14.0 runtime (fixes #5630) · e2fa89c63262
      Matt Harbison authored
      I tried simply adding the missing VCRUNTIME140_1.dll to the *.wxs file, but it's
      not actually being copied into the `dist/` directory to be picked up by WiX.
      Using a merge module seems like a better way to ship the C runtime anyway,
      though I'm starting to see comments about using the VCRedist installer instead.
      
      This means we can drop the existing runtime DLLs in the *.wxs file.  When
      linking, there was a warning about the merge modules needing InstallerVersion
      301 or later, so it's bumped here.  Vista is version 4.0, so I don't think we
      lose anything here.
      
      What apparently happened here is that when I installed Visual Studio 2019 before
      doing the 5.5.2 build, it updated the DLL in System32 (or whatever the source
      for the copy in `dist/`).  AFAICT, this runtime is either from VS 2015 or
      VS 2017.
      
      --HG--
      branch : stable
      e2fa89c63262
  17. 20 Oct, 2020 2 commits
    • Matt Harbison's avatar
      packaging: add a requirements file for installing py2 hg-git dependencies · 056bb26c3a28
      Matt Harbison authored
      This is way too complicated otherwise, and there have been a number of
      complaints since it got dropped from the installer.  To install, simply run
      
          py -2 -m pip install -r contrib/packaging/venv_py2/requirements_hggit.txt --user
      
      The `--user` part is critical to allowing hg.exe and thg.exe to see the
      packages.  The hg-git extension itself must be cloned from source, and the
      extension stanza updated to point to the `hggit` directory inside of it in the
      usual way.
      
      When I installed this with the latest pip 20.2.4, it spit out an error about
      using `--use-feature=2020-resolver` after it installed all of the packages.  It
      appears that this can be ignored, and it didn't happen with 19.2.3 installing
      into a virtualenv.
      
      --HG--
      branch : stable
      056bb26c3a28
    • Matt Harbison's avatar
      typing: add type hints to tortoisehg.hgqt.sync · 52146cd837c0
      Matt Harbison authored
      There's more to do, but let's lock in the fixes for 2490db6d029f::697f7a7053b9.
      A couple of questionable things were flagged in the p4 handler, but I don't have
      that extension (and think it may have disappeared), so leave some comments
      behind in case someone cares to investigate.
      
      --HG--
      branch : stable
      52146cd837c0
  18. 18 Oct, 2020 1 commit
  19. 16 Oct, 2020 2 commits
  20. 17 Oct, 2020 2 commits
  21. 16 Oct, 2020 3 commits