1. 19 Oct, 2020 1 commit
  2. 12 Oct, 2020 1 commit
  3. 28 Sep, 2020 1 commit
    • Ben Avison's avatar
      [prodcommit] Speed optimisation · e12f8677
      Ben Avison authored
      Previously, `prodcommit` used `git submodule summary --cached` as the basis
      of the commit log it generated, and then proceeded to throw away much of the
      information it provided. Now, this command is extremely slow, especially on
      Windows machines where it can take a minute or more to execute. Replace this
      with one of the plumbing commands that `git submodule` used internally, viz
      `git diff-index --cached HEAD`, which provides most of the information it
      needed, but far faster  (more like 0.1 seconds). The one catch is that it
      reports the state of all changed items in the tree, not just the submodules,
      but due to the way we structure superprojects, we can simply assume that
      anything within the top-level `RiscOS` directory is a submodule.
      The commands that determine whether a given submodule is a regression, as
      well as the embedded invocation of `git commit`, remain relatively slow
      operations on Windows, but the overall process is typically now about 3 times
      faster than it was previously.
  4. 21 May, 2020 1 commit
    • Ben Avison's avatar
      [srccommit] Fix server branch revision numbers · 77f79bac
      Ben Avison authored
      The previous change to add the `-a` option to srcccommit changed the way we
      count the number of revisions on a branch since the branch point to use `HEAD`
      rather than the branch name. This is useful for example when using srccommit
      to update `VersionNum` files when doing an interactive rebase on a development
      machine, since the branch tag isn't moved until the end of the rebase.
      However, this change broke the use of srccommit from within a
      `git filter-branch` command, which is how the post-merge hook script operates,
      because in this case, uniquely, HEAD does not reflect the working directory
      currently being operated on. Change the code to select `HEAD` or `$branch`
      depending on whether the `-b` switch is in use.
      Just as well nobody has done any work on branches recently...
  5. 07 Apr, 2020 1 commit
    • Ben Avison's avatar
      Stop generating VersionNum files with trailing spaces · ad70dab6
      Ben Avison authored
      This only applies to the Module_MinorVersion_CMHG line, for commits on master.
      Without this change, many components that would otherwise pass the CI
      whitespace job will fail, either for pipelines running on master, or on
      development branches where the developer used `git commit` rather than
      `srccommit` and therefore inherits the line from the master revision on which
      it is based.
  6. 30 Mar, 2020 1 commit
    • Ben Avison's avatar
      Import of new `diffrelease` script · 6f7d605e
      Ben Avison authored
      This replaces both the old CVS `diffrelease` script and the `rel2html` tool
      which further munged its output, and should produce reasonably similar output
      to what they did. Hypertext links are now restructured to follow URLs exposed
      by GitLab rather than by the CVS viewer. Regressed commits are now included
      but with strikeout. Language in the HTML headers is set to English rather than
  7. 21 Oct, 2019 1 commit
    • Ben Avison's avatar
      [prodcommit] Change short commit hashes to match GitLab · 07b03c4b
      Ben Avison authored
      `prodcommit` uses `git describe` to make a human-friendly name for before and
      after revisions of submodules. Usually this simply resolves to a corresponding
      tag name, however occasionally the revision is not tagged, and `git describe`
      makes up a name that includes the short commit hash of the revision, as well
      as the tag of the nearest ancestor of the revision that has one.
      However, it turns out that length of any short commit hash generated by
      `git describe` is (a) subject to a per-user override using `git config`, and
      (b) defaults to 7 characters, which contrasts to the 8 used by GitLab.
      To allow for easy cross-referencing against GitLab, change `prodcomit` so that
      it forces `git describe` to use 8-character short commit hashes.
  8. 09 Sep, 2019 1 commit
    • James Byrne's avatar
      Add git-mtime.py · f3db8cbe
      James Byrne authored
      This Python program will recurse through a specified directory, or the current
      directory, and set the modified time of each file (that is under git control)
      to the time that file was last committed (modified) in git.
  9. 20 Jul, 2019 3 commits
    • Ben Avison's avatar
      [srccommit] Add -a (amend) option · 6b1caa38
      Ben Avison authored
      This allows srccommit to be used on a development branch in circumstances
      where `git commit --amend` would otherwise be used, including during a
      rebase operation.
    • Ben Avison's avatar
      [srccommit] Fix minor revision numbers again · ed2d16aa
      Ben Avison authored
      If tagged commits were merged in a different order from which they were
      initially authored, the identification of the branch point tag went wrong.
      Fix this by looking at the committer date instead. This should be safer,
      because changing a commit's parent commits will update its committer date
      (unless you override this behaviour, which is obscure git usage) so the
      committer dates should be monotonically increasing along any given branch.
    • Ben Avison's avatar
      [srccommit] Fix minor revision generation in presence of mixed tags · c3327205
      Ben Avison authored
      The 'authordate' key passed to `git tag -l` is only valid for lightweight
      tags. Meanwhile, a '*authordate' key is only valid for annotated tags. As
      such, neither is suitable for finding the latest tag from the combined set
      of lightweight and annotated tags, which is a problem because the CVS-derived
      tags are lightweight and the ones generated during GitLab merges are
      Fix this by using a `git for-each-ref` script that selects the appropriate
      date from each tag before piping it through sort.
  10. 19 Jul, 2019 1 commit
    • Ben Avison's avatar
      [prodcommit] Fix unintended harmless (?) syntax error · 6acb2de6
      Ben Avison authored
      First line of embedded awk script contained a leading literal backslash and
      linefeed. It's probably not defined what awk does with that - fortunately it
      seems to have been harmless in practice, but it certainly wasn't intended.
      Picked up by ShellCheck.
  11. 21 Jun, 2019 1 commit
  12. 02 May, 2019 5 commits