[ocaml-infra] New Git repository in ocaml GitHub org

Thomas Leonard talex5 at gmail.com
Wed Jan 25 16:04:05 GMT 2017


On 25 January 2017 at 13:45, David Allsopp <dra-news at metastack.com> wrote:
> I'm hoping to merge OCaml GPR#1014
> (https://github.com/ocaml/ocaml/pull/1014) in advance of the OCaml 4.05 code
> freeze. The principal aim of this GPR is to stop the Changes file being a
> constant source of merge conflicts on open pull requests. This is fixed by
> splitting the Changes file into individual entries which are recombined
> using a script. At each release, the individual files are merged into
> Changes and the new Changes file committed in one go (for convenience, in a
> manner not unrelated to having both configure.ac and configure in a
> repository).
>
> It is desirable to keep the fragment files, but these add considerable
> weight to the main repository (and OCaml sources tarball). I have proposed
> in the solution using a Git submodule to store the archived entries. The
> submodule is at present at https://github.com/dra27/ocaml-changelog and I
> would like to move this repository to the ocaml namespace. It would be
> sensible for the repository not to accept pull requests or issues via the
> GUI and, unless others are keen to be able to perform the OCaml release
> manager's job, only I (at least for the initial commits) and Damien Doligez
> definitely need push access to it.

Why do the fragments need to be kept anywhere? If you can explode a
changes file then you could presumably just configure your Git merge
driver to do the `merge (explode ours) (explode theirs)` step
automatically.

Looks like there's already one for GNU style ChangeLog files, e.g.

  http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/git-merge-changelog.c

.git/config:
          [merge "merge-changelog"]
                   name = GNU-style ChangeLog merge driver
                   driver = /usr/local/bin/git-merge-changelog %O %A %B

.gitattributes:

           ChangeLog    merge=merge-changelog


-- 
talex5 (GitHub/Twitter)        http://roscidus.com/blog/
GPG: 5DD5 8D70 899C 454A 966D  6A51 7513 3C8F 94F6 E0CC
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA


More information about the Infrastructure mailing list