Developer mode

Ralph Seichter abbot at monksofcool.net
Wed Nov 20 00:21:18 UTC 2019


* Ryan Schmidt:

> We might also add a way for a developer to indicate for which ports
> developer mode should be turned on. A developer might wish, for
> example, to be notified of issues relating to the ports they maintain
> but not the ports that others maintain.

That can be useful. Is that not something Trac should handle? If a
ticket references a specific port, is the designated maintainer not
automatically added to the ticket?

> You mentioned updating manifests. I don't know what a manifest is but
> MacPorts ports only have a Portfile. We did recently introduce the
> "port bump" developer command to assist with updating checksums

While MacPorts lists distribution archive checksums as part of each
Portfile, Gentoo uses a separate Manifest file for that (one reason
being that Gentoo offers multiple versions per ebuild, hence multiple
checksums are required). "repoman manifest" adds new checksums and/or
removes obsolete ones, for convenience. If "port bump" does the same,
that's news to me, but a nice feature I have been waiting for.

> We don't have a tool to automate commit messages. We expect developers
> to write them manually, including referencing any related Trac
> tickets. I'm not sure I understand how an automated tool could know
> which ticket(s), if any, a commit is related to.

Let's use https://trac.macports.org/ticket/58921 as an example, a ticket
I opened and you processed and closed (thanks for the update by the way).
If this was a Gentoo ticket, you could have used the following:

  $ cd /path/to/your/ports/mongodb
  $ repoman -c 58921 commit

This would have created the following type of Git commit message
template and opened it in your editor:

  dev-db/mongodb:

  Closes: https://trac.macports.org/ticket/58921
  Package-Manager: Portage-2.3.79, Repoman-2.3.18
  Signed-off-by: Ryan Schmidt <mumble at example.com>

I am aware that MacPorts does not use sign-off lines, this is just an
example of how repoman pre-populates commit messages. Also, the prefix
"dev-db/mongodb:" is Gentoo-specific, it would just be "mongodb:" for
MacPorts. The point is that repoman will choose the correct prefix for
the user. The option "-c" adds the correct "Closes" line for a given
ticket number, while "-b 58921 -b 1234" would add 

  Bugs: https://trac.macports.org/ticket/58921
  Bugs: https://trac.macports.org/ticket/1234

i.e. non-closing references to existing tickets. As I mentioned before,
repoman also performs a "port lint" equivalent. It is simply a tool to
make recurring operations like basic QA checks and commits more
convenient for the user (it does for example report local untracked
files which you may have forgotten to add). The user is of course still
responsible for providing useful commit messages, both short summary and
verbose description.

Sorry if this moved a bit away from the original developer mode
subject. I just work a lot more in Gentoo than in MacPorts, and I always
miss repoman's watchful presence when I work with Portfiles. ;-)

-Ralph


More information about the macports-dev mailing list