Skip to content
Snippets Groups Projects
  1. Apr 02, 2021
  2. Apr 01, 2021
  3. Mar 22, 2021
    • Georges Racinet's avatar
      tags: allow obsoleting tagged changesets if tagging also obsoleted · fedcfa30a927
      Georges Racinet authored
      We have a general protection against making tag targets obsolete, but
      it was seeing tags that are themselves obsolete, hence preventing the
      legitimate case of obsoleting both, so we need to recheck,
      using the original (filtered) repository.
      
      In many cases, it is not so easy to have a tag in the filtered repository
      that points to an obsolete changeset: normally Mercurial would just ignore the
      tag in that case, but it can happen if the obsolete changeset is
      still visible (e.g, if it has children). This is now used by the
      test case for the protection, once we do the rechecking on filtered tags.
      
      
      Closes: heptapod#432
      fedcfa30a927
  4. Mar 21, 2021
  5. Mar 20, 2021
  6. Mar 19, 2021
  7. Mar 12, 2021
  8. Mar 11, 2021
  9. Mar 10, 2021
    • Georges Racinet's avatar
      Bumping dev version after push to PyPI · 5d69243046d4
      Georges Racinet authored
      I don't feel the need to create a tag for 2.4.0dev0. It's
      just to make it easy for developpers until 2.4.0 itself gets
      released (should be tomorrow or the day after)
      5d69243046d4
    • Georges Racinet's avatar
      GitLab ref files: return new content from ensuring methods · 5a8f3a9a1974
      Georges Racinet authored
      Each individual ensuring method now returns the content just
      stored (or `None` if nothing happened).
      
      This is nicer to downstream readers, such as HGitaly: they
      can call ensure after detection of missing file and used the
      returned collection directly.
      5a8f3a9a1974
  10. Mar 09, 2021
  11. Mar 08, 2021
  12. Mar 07, 2021
    • Georges Racinet's avatar
      GitLab special refs: ensuring the state file presence · 1476f1dcb8aa
      Georges Racinet authored
      This is provided as a CLI command and an easy to import
      function. The decision to ensure the state file from the
      Git repository should not belong to py-heptapod, but
      either to an operator fixing inconsistencies or to HGitaly.
      
      All currently existing refs on native Mercurial repositories
      are Merge Request heads: no other ref could have worked, because
      `WriteRef` is currently refusing to do anything else than
      setting the default branch.
      
      Still, we have the possiblity of corruption with the same TODO
      as for branches and tags.
      1476f1dcb8aa
  13. Mar 10, 2021
  14. Mar 06, 2021
    • Georges Racinet's avatar
      GitLab special refs: create/read/update/delete · 4ed6f4b4255e
      Georges Racinet authored
      Part of heptapod#431.
      
      This doesn't provide a callable to initialize the special
      refs file from the Git repository refs yet.
      
      We found it acceptable to use a single file for all these
      special refs, but we decided to exlude keep-arounds for the
      reason stated in the docstring for the `SPECIAL_REFS` constant.
      
      We've considered using local Mercurial tags, but we finally
      preferred to reuse our own logic for GitLab state files.
      Reasons:
      
      - local tags are not exposed as 1st class citizens in the
        internal API, everything is meant to add them to global
        tags for exposition in `hg tags`.
      - with local tags, we'd have to perform additional namespacing
        to prevent confusion and would still be at risk of confusion
        (or even attack by masking with a global tag?)
      - the unneeded complexity for our use case in Mercurial local
        tags is such that it took us less time to implement the whole
        write and read logic on the py-heptapod primitive, with
        complete tests than to be reasonably sure of how local tags
        really behave (cache invalidation etc.)
      - uniformity of py-heptapod/HGitaly formats.
      4ed6f4b4255e
  15. Mar 08, 2021
  16. Feb 25, 2021
Loading