1. 27 Nov, 2021 3 commits
  2. 23 Nov, 2021 1 commit
  3. 19 Nov, 2021 1 commit
    • Pierre Riteau's avatar
      Fix use of removed --preserve-merges option · 7182166e
      Pierre Riteau authored
      
      
      The --preserve-merges (-p) option was replaced by --rebase-merges (-r).
      This fixes the following error when using git version 2.34.0:
      
          Errors running git rebase -p -i remotes/gerrit/stable/xena
          fatal: --preserve-merges was replaced by --rebase-merges
      
      In order to keep compatibility with git < 2.18.0 we detect the git
      version and use the old --preserve-merges flag when the version is older
      than 2.18.0.
      
      Co-Authored-By: default avatarClark Boylan <clark.boylan@gmail.com>
      Change-Id: I04de3d0f20aa6bafcf746b7706d61dd9b9af296c
      7182166e
  4. 07 Jul, 2021 1 commit
    • Jeremy Stanley's avatar
      Ignore unstaged/uncommitted submodule changes · 6c3f134a
      Jeremy Stanley authored
      When checking for unstaged or uncommitted changes to avoid the test
      rebase (which could cause data loss for users of git.autostash),
      it's still fine if there are unstaged or uncommitted changes in
      submodules since those won't be rebased. Have the git diff
      invocations explicitly ignore submodules, and also add regression
      tests which demonstrate it's working.
      
      This fixes a regression originally introduced by change
      Iabb8387c9db59a7d02ebfd43b688e7bb93d3159f.
      
      Change-Id: I20d602e86537b573ac1f9788221215047a594f83
      6c3f134a
  5. 24 Jun, 2021 1 commit
    • Florian Haas's avatar
      Doc updates for Git "core.hooksPath" option support · 04786cd9
      Florian Haas authored
      Couple of small follow-ups to Id8a3ac464ff75e6d8207f198089f018cc790eca5:
      
      * Fix formatting in the reno (use monospace as applicable).
      * Update "Installation and Configuration" to say that the local hook
        *normally* goes into .git/hooks.
      
      Change-Id: I1b326bdcaed38d3a82a65f944431f3640652dd33
      04786cd9
  6. 21 Jun, 2021 1 commit
    • Florian Haas's avatar
      Support the Git "core.hooksPath" option when dealing with hook scripts · c40eb491
      Florian Haas authored
      Previously, git-review would assume that the Git repository's hook
      directory is .git/hooks, relative to the root of the checkout. This
      assumption breaks if the user has set the core.hooksPath option on the
      repository (or, for that matter, in ~/.gitconfig or /etc/gitconfig).
      
      core.hooksPath can either be set to an absolute path, in which case it
      is to be interpreted as-is, or to a relative path, in which case it
      should be interpreted as relative to the root of the checkout.
      
      Introduce a new convenience function to suss out the correct path, and
      use it in places where the reference to .git/hooks was previously
      hard-coded.
      
      Reference:
      https: //git-scm.com/docs/git-config#Documentation/git-config.txt-corehooksPath
      
      Depends-on: I0f0f44e57a100420d8e6d2eaec7dbb5d77b654af
      Change-Id: Id8a3ac464ff75e6d8207f198089f018cc790eca5
      c40eb491
  7. 17 Jun, 2021 1 commit
    • Jens Harbott's avatar
      Fix nodeset selections for zuul jobs · d0d3da82
      Jens Harbott authored
      We now are using focal nodes by default, so we no longer need to
      explicitly select those, instead we need bionic for py36+py37.
      
      Change-Id: I0f0f44e57a100420d8e6d2eaec7dbb5d77b654af
      d0d3da82
  8. 23 Apr, 2021 2 commits
    • Zuul's avatar
      Merge "Add option for disabling thin pushes" · afda8ece
      Zuul authored
      afda8ece
    • Clark Boylan's avatar
      Install PBR explicitly · ef1a35f4
      Clark Boylan authored
      We do this because easy_install on python3.5 is failing to find pbr. I
      believe this is happening due to pypi's deprecation of non SNI tls
      connections. They report that the version of 3.5 on xenial should be
      able to do SNI but easy_install at least doesn't seem to do so.
      
      Note we restrict this to python>=3 and <=3.5 as python 2.7 had
      backported fixes. Also, this really only helps with unittesting via tox
      as we instruct tox to explicitly install the requirements files before
      creating/installing the package itself. This is the reason we stick this
      in test-requirements.txt rather than requirements.txt.
      
      Change-Id: Iac2c1f4f575de250ed0dba22d33b017322fd7562
      ef1a35f4
  9. 12 Apr, 2021 1 commit
    • Clark Boylan's avatar
      Add option for disabling thin pushes · 39cd763d
      Clark Boylan authored
      There is a long standing issue with C Git pushing to Gerrit and Jgit
      where the occasional push will fail because the negotiated packs are
      missing a tree object. This happens very occasionally but when it does
      it would be nice to be able to point users at an easy workaround.
      Pushing with --no-thin is that workaround.
      
      Note that --no-thin is much less efficient so shouldn't be used by
      default.
      
      This old bug, https://bugs.launchpad.net/git-review/+bug/1332549, has
      details but it seems to affect current C git and Gerrit+Jgit.
      
      Change-Id: Id6ba52a656a14c921acab1b14ef668e6251245da
      39cd763d
  10. 17 Mar, 2021 1 commit
    • Roman Gorshunov's avatar
      Add missing -h to manpage and remove -c from it · 18189abf
      Roman Gorshunov authored
      - Change implementing the -h/--help option did not add corresponding
        manpage entry for it.
      - Change removing the -c/--comaptible option did not remove
        corresponding manpage entry for it.
      Correcting these oversights now.
      
      Task: #41310
      Change-Id: I548e63a778e36db65dd776aaf4e6d6a7fc103c2d
      18189abf
  11. 03 Mar, 2021 1 commit
  12. 02 Mar, 2021 4 commits
  13. 01 Mar, 2021 3 commits
  14. 26 Feb, 2021 6 commits
    • Jeremy Stanley's avatar
      Increase test timeout to 5 minutes · 7e2f99b2
      Jeremy Stanley authored
      A 2-minute global test timeout was added to the base test class back
      in 2014, to prevent tests from hanging until the job timeout is hit.
      This has served us well, but with updates to Gerrit and increasing
      complexity of our tests, we often get a slew of test timeouts on
      some CI nodes (ad on my workstation for that matter!). Increase this
      to 5 minutes, which should still serve the intended purpose while
      providing more time for tests to complete on less-performant
      systems.
      
      Change-Id: I9673ce3cf18f9e4c96fd7e9f96f5ddce2ef6d957
      7e2f99b2
    • Jeremy Stanley's avatar
      Overhaul Python package metadata and OpenDev URLs · 319953d5
      Jeremy Stanley authored
      Modernize our package metadata in the following ways:
      
      * switch from description-file to long_description with the file
        attribute, and specify an explicit content type and encoding
      
      * replace the home-page parameter with the newer general url one
      
      * add specific labelled project links for improved navigation from
        PyPI's summary sidebar
      
      * add commandline keyword to help folks searching
      
      * use the specific license metadata in addition to the corresponding
        trove classifier for it
      
      * make sure wheels when built also incorporate the LICENSE and
        AUTHORS files so that we're not distributing them without a copy
        of the license text
      
      * stop flagging wheels as "universal" now that git-review no longer
        supports Python 2.7
      
      * drop the old Sphinx integration config for PBR now that it's no
        longer needed
      
      https://setuptools.readthedocs.io/en/latest/userguide/declarative_config.html
      
      Also update old openstack.org URLs throughout contributor docs and
      examples/comments to newer opendev.org counterparts. Remove the old
      redundant HACKING.rst file as well as a lingering MANIFEST.in from
      the times before PBR was a thing. Replace the CONTRIBUTING.rst with
      a shorter one cribbed from bindep. Add the test profile to the one
      entry in bindep.txt to make it more apparent that's not a runtime
      dependency of git-review. Adjust some old "OpenStack, LLC."
      copyrights as indicated by the foundation's "Legal Issues FAQ."
      
      Change-Id: Ie45d4d73ba7b5a860f09cc4f1d849587761d846c
      319953d5
    • Jeremy Stanley's avatar
      Switch to default Sphinx theme · d3afb803
      Jeremy Stanley authored
      Since we're publishing documentation to docs.opendev.org now, drop
      the openstackdocstheme extension and just use the default Alabaster
      theme instead. Also clean up references to OpenStack in the Sphinx
      configuration and remove a really old (and unnecessary) copyright
      year.
      
      Change-Id: I535783db9dccd36a094d41e6cf08469b6d8c3894
      d3afb803
    • Jeremy Stanley's avatar
      Update jobs for opendev tenant · 6db28601
      Jeremy Stanley authored
      As git-review has moved to the "opendev" tenant in OpenDev's Zuul
      now, update its jobs to still work there and re-add release jobs
      based on similar configuration for the opendev/bindep repository.
      
      Change-Id: I7700ca9369080138122829ab2d4ddf3bbaea7b5f
      Depends-On: https://review.opendev.org/777774
      6db28601
    • Jeremy Stanley's avatar
      Don't test rebasing with unstaged changes · d83d99ca
      Jeremy Stanley authored
      For safety, attempts to push a commit with unstaged or uncommitted
      changes in the worktree will be caught and an error reported, rather
      than leaving it up to ``git rebase`` to spot them. This addresses a
      situation where users enabling "rebase.autostash" would otherwise
      experience data loss when the test rebase is subsequently reset.
      
      Change-Id: Iabb8387c9db59a7d02ebfd43b688e7bb93d3159f
      Task: #38921
      d83d99ca
    • Jeremy Stanley's avatar
      Add test helpers for unstaged/uncommitted changes · e8d54043
      Jeremy Stanley authored
      In order to better test detection of unstaged and uncommitted
      changes, add base test methods to create changes and not stage or
      commit them, ensuring they can result in an unstaged diff or staged
      but uncommitted edits. To ensure that these work, use them within
      the simple change creation method to perform the actual file edit.
      
      Change-Id: Ib698d0057a404f073490d1683a8eef8d0c143122
      e8d54043
  15. 24 Feb, 2021 5 commits
    • Zuul's avatar
      Merge "Test/assert Python 3.9 support" · c1b1e6cb
      Zuul authored
      c1b1e6cb
    • Zuul's avatar
      Merge "Test with Gerrit 2.13" · 6b1bc93f
      Zuul authored
      6b1bc93f
    • Zuul's avatar
      b938882c
    • Jeremy Stanley's avatar
      Test/assert Python 3.9 support · 5d93035d
      Jeremy Stanley authored
      Update our package metadata and job list to include Python 3.9.
      
      Change-Id: I931b1bf6e41b2d18d56a9b841ac8eda501093628
      5d93035d
    • Jeremy Stanley's avatar
      Test with Gerrit 2.13 · 95df6748
      Jeremy Stanley authored
      More recent OpenSSH/OpenSSL versions no longer want to communicate
      with the mina-sshd in Gerrit 2.11. In order to pave the way for
      testing on distros new enough to supply Python 3.9 packages, upgrade
      the version of Gerrit used in the functional testsuite.
      
      Because 2.12 and later moved user SSH keys into Git, we can no
      longer rely on the same gsql bootstrapping method to inject them
      into the golden site. However, if we init the server in --dev mode,
      we can use the default admin/secret test administrator account
      instead of creating a new administrator account ourselves (we just
      need to post an SSH public key for it to the REST API at runtime).
      
      Also stop precreating host keys and running a reindex, partially
      reverting I1c5db09c53a56ffd856da24decf29566e86f9d87, which we did to
      keep 2.11 working on some older (but then newer) platforms. Keep the
      reindexing in the golden site though, as this remains necessary and
      likely also provides some performance benefits.
      
      Add/improve some code comments around relevant bits, so further
      updates or rewrites will be less of a struggle for maintainers.
      
      Change-Id: I1245519d912a385c4b9bd09da1728d9b7933802b
      95df6748
  16. 23 Feb, 2021 1 commit
    • Jeremy Stanley's avatar
      Create test projects with positional argument · deb6d086
      Jeremy Stanley authored
      In the years since our test framework was created, the
      create-project CLI syntax has changed and the --name parameter is
      deprecated in favor of using a positional argument. Switching to
      this newer syntax becomes necessary for newer Gerrit versions which
      no longer recognize the --name option.
      
      Change-Id: I342de827d6a7d7af418f4b1eac54f5dce7c672ed
      deb6d086
  17. 09 Feb, 2021 1 commit
    • Jeremy Stanley's avatar
      Add missing -p/-P/-w/-W/--license to manpage · 1193b349
      Jeremy Stanley authored
      Changes implementing the -p/-P, -w/-W and --license options did not
      add corresponding manpage entries for them, so correct that
      oversight now.
      
      Change-Id: I06e7deccf96f6fc37871e049970d1c53a5df29db
      Task: #41792
      1193b349
  18. 30 Jan, 2021 1 commit
  19. 28 Jan, 2021 1 commit
    • Jeremy Stanley's avatar
      Add release notes in preparation for next release · 707da48e
      Jeremy Stanley authored
      Many changes merged since the last release lack release notes. Since
      we'll want to summarize them for the announcement anyway, we may as
      well commit those summaries for posterity.
      
      Change-Id: I56cda54cd9df781004462e95545a192302dd7bd4
      707da48e
  20. 27 Jan, 2021 1 commit
  21. 22 Jan, 2021 1 commit
    • Daniel Lublin's avatar
      Allow choosing field for author in named branch · a0963a1b
      Daniel Lublin authored
      This adds a setting for choosing which of {name, email, username} to use
      as "author" when constructing the name for the branch to where a change
      is downloaded.
      
      The rationale is that sometimes the given "name" is just long and
      unwieldy (when displaying the branch in the shell prompt, for example),
      and one may be already used to the "username".
      
      Change-Id: Ieed465f69ed0c0864979a92f609bd8f58cd8e883
      a0963a1b
  22. 21 Jan, 2021 1 commit
  23. 20 Jan, 2021 1 commit