Bug#946801: Some thoughts

2020-09-19 Thread Jelmer Vernooij
On Sat, Sep 19, 2020 at 02:44:00PM +0800, Paul Wise wrote:
> On Sat, 23 May 2020 14:23:21 +0800 Paul Wise wrote:
> > On Fri, 22 May 2020 20:10:55 + Jelmer Vernooij wrote:
> > > On a different note, what do attributed changes in debian/changelog
> > > mean? Is it purely for credits? Are the names in the changelog people
> > > one can talk to to understand why particular changes were made?
> > 
> > Debian's documentation doesn't address this dch convention but I
> > believe it functions as a mix of attribution and credit. I note that
> > the Debian Janitor attributes itself in debian/changelog, so probably
> > lintian-brush should too. Perhaps a debian-devel discussion is needed.
> 
> I had a further thought about this; that it is useful to preserve the
> info about who ran lintian-brush in debian/changelog, especially for
> the situation where the package uses no VCS. So probably it would be a
> good idea to attribute lintian-brush changes in a subheading like this:
> 
> foo (1.2.3-4) unstable; urgency=medium
> 
>   [ Some One ]
>   * Automatic changes by lintian-brush:
> - Fix foo-bar-baz
> - Fix bar-baz-foo
> 
>  -- Some One   Mon, 01 Jan 1234 12:34:56 +0123

That seems reasonable to me. Now that lintian-brush is doing its own
editing rather than calling out to dch, it could actually do this.

Cheers,

Jelmer


signature.asc
Description: PGP signature


Bug#946801: Some thoughts

2020-09-19 Thread Paul Wise
On Sat, 23 May 2020 14:23:21 +0800 Paul Wise wrote:
> On Fri, 22 May 2020 20:10:55 + Jelmer Vernooij wrote:
> > On a different note, what do attributed changes in debian/changelog
> > mean? Is it purely for credits? Are the names in the changelog people
> > one can talk to to understand why particular changes were made?
> 
> Debian's documentation doesn't address this dch convention but I
> believe it functions as a mix of attribution and credit. I note that
> the Debian Janitor attributes itself in debian/changelog, so probably
> lintian-brush should too. Perhaps a debian-devel discussion is needed.

I had a further thought about this; that it is useful to preserve the
info about who ran lintian-brush in debian/changelog, especially for
the situation where the package uses no VCS. So probably it would be a
good idea to attribute lintian-brush changes in a subheading like this:

foo (1.2.3-4) unstable; urgency=medium

  [ Some One ]
  * Automatic changes by lintian-brush:
- Fix foo-bar-baz
- Fix bar-baz-foo

 -- Some One   Mon, 01 Jan 1234 12:34:56 +0123

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#946801: Some thoughts

2020-06-27 Thread Paul Wise
On Sat, 2020-06-27 at 17:09 +, Jelmer Vernooij wrote:

> How does this look to you as an example commit message, as a result
> of me running lintian-brush:

Looks good to me.

> (extra space before the tag-specific paragraph because there may be
> multiple affected tags)

Personally when I'm adding a field based footer to a commit message I
put all fields into the same paragraph, even if there is more than one
of each of them. This is the style that the Linux kernel folks use.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#946801: Some thoughts

2020-06-27 Thread Jelmer Vernooij
On Sat, May 23, 2020 at 02:23:21PM +0800, Paul Wise wrote:
> On Fri, 22 May 2020 20:10:55 + Jelmer Vernooij wrote:
> > Who or what the "author" of a particular change is less clear to me.
> > When somebody edits the control file with vim, we obviously don't
> > ascribe that to vim; if they reformat all files with wrap-and-sort, we
> > don't set the author to wrap-and-sort. At what point do we cross over? 
> 
> Its hard to say really. For wrap-and-sort I use Changes-by in the commit msg.
> 
> > lintian-brush is fairly autonomous - it makes changes from start to
> > end, and I think that's probably what sets it apart from the other
> > tools I've mentioned. But isn't fully in the drivers' seat - the
> > committer decides when to run it and with what arguments.
> 
> Perhaps that is what sets it apart from things like bots that
> automatically commit to git and push that to the canonical repo, there
> is always a human driving it and reviewing the commits it makes while
> the Debian Janitor does do autonomous commits when approved for that.
> 
> So I think I'm now leaning towards just Changes-by for commits.
Maybe that's a good place to start.

How does this look to you as an example commit message, as a result of
me running lintian-brush:

Author: Jelmer Vernooij 
Date:   Sat Jun 27 17:07:12 2020 +

Use secure URI in Homepage field.

Changes-By: lintian-brush

Fixes: lintian: homepage-field-uses-insecure-uri
See-also: 
https://lintian.debian.org/tags/homepage-field-uses-insecure-uri.html

(extra space before the tag-specific paragraph because there may be
multiple affected tags)

Cheers,

Jelmer



Bug#946801: Some thoughts

2020-05-23 Thread Paul Wise
On Fri, 22 May 2020 20:10:55 + Jelmer Vernooij wrote:

> I'm pretty sure that either way, the committer should be the person
> running lintian-brush. 

Agreed.

> Who or what the "author" of a particular change is less clear to me.
> When somebody edits the control file with vim, we obviously don't
> ascribe that to vim; if they reformat all files with wrap-and-sort, we
> don't set the author to wrap-and-sort. At what point do we cross over? 

Its hard to say really. For wrap-and-sort I use Changes-by in the commit msg.

> lintian-brush is fairly autonomous - it makes changes from start to
> end, and I think that's probably what sets it apart from the other
> tools I've mentioned. But isn't fully in the drivers' seat - the
> committer decides when to run it and with what arguments.

Perhaps that is what sets it apart from things like bots that
automatically commit to git and push that to the canonical repo, there
is always a human driving it and reviewing the commits it makes while
the Debian Janitor does do autonomous commits when approved for that.

So I think I'm now leaning towards just Changes-by for commits.

> On a different note, what do attributed changes in debian/changelog
> mean? Is it purely for credits? Are the names in the changelog people
> one can talk to to understand why particular changes were made?

Debian's documentation doesn't address this dch convention but I
believe it functions as a mix of attribution and credit. I note that
the Debian Janitor attributes itself in debian/changelog, so probably
lintian-brush should too. Perhaps a debian-devel discussion is needed.

https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog
https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.en.html#best-practices-for-debian-changelog

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#946801: Some thoughts

2020-05-22 Thread Jelmer Vernooij
As you may have noticed, there hasn't been much movement on this bug. I
don't want to make any hasty decisions here, since this would be a
noticeable change for users - and if we move in a particular direction,
then I don't want to have to roll back and cause even more disruption.

Some thoughts:

There are essentially two identities that can be associated with a
change:

 * the git committer
 * the git author (also what "gbp dch" and lintian-brush put in
debian/changelog)

I'm pretty sure that either way, the committer should be the person
running lintian-brush. 

Who or what the "author" of a particular change is less clear to me.
When somebody edits the control file with vim, we obviously don't
ascribe that to vim; if they reformat all files with wrap-and-sort, we
don't set the author to wrap-and-sort. At what point do we cross over? 

lintian-brush is fairly autonomous - it makes changes from start to
end, and I think that's probably what sets it apart from the other
tools I've mentioned. But isn't fully in the drivers' seat - the
committer decides when to run it and with what arguments.

On a different note, what do attributed changes in debian/changelog
mean? Is it purely for credits? Are the names in the changelog people
one can talk to to understand why particular changes were made?