+1 on the squishing.

> On Oct 23, 2018, at 12:41 PM, Dave Neuman <neu...@apache.org> wrote:
> 
> This seems to have stalled, so let me try to move it along.
> 
> There is an ability to do "squash and merge" in github, we just need to
> agree that we want to enable it for our project.
> 
> @Jeremy Mitchell <mitchell...@gmail.com> I am not sure exactly how to
> handle the multiple committers thing, but I assume we can squash into two
> commits and give one to each.  However, if we are doing something big
> enough to require that many commits from multiple users, it may be best as
> many PRs?  I don't think this is a very common situation, so I would like
> to avoid getting bogged down in what-ifs if possible.
> 
> As for the Changelog, I am fine with enabling squash and merge and keeping
> the changelog as-is while we decide if squash and merge meets our needs.  I
> am also game to revisit different ways to do it, and I shouldn't have
> conflated that conversation with this one.  If someone wants to see that
> changed, we should start a new discussion.
> 
> Leif brings up a good point about squash and merge making cherry picks
> easier so I think we should consider it for that point alone.
> 
> So, what I am really asking is:  "do we think it is a good idea to enable
> squash and merge on our Github repo so that we can reduce the amount of
> commits per PR?"  I would like to get consensus for or against.  If it is
> not clear already, I am for.
> 
> 
> Thanks,
> Dave
> 
> 
> On Thu, Oct 18, 2018 at 2:41 PM Gelinas, Derek <derek_geli...@comcast.com>
> wrote:
> 
>> I'll be honest, I think the simplest thing is still to just require a
>> changelog message, added to a central file, to be included in the commit.
>> We've been going over and over this for months instead of actually writing
>> change logs.  Let's just propose it and put it to a vote.
>> 
>>> On Oct 18, 2018, at 4:33 PM, Rawlin Peters <rawlin.pet...@gmail.com>
>> wrote:
>>> 
>>> I'm +1 on squashing and merging, but I think we need a combination of
>>> a number of things to really have a decent changelog. Even if we have
>>> awesome commit messages and squashed PRs, there's still way too many
>>> PRs in a release to just generate a decent changelog from the PR
>>> titles and/or commit messages. We still need a way to logically
>>> separate PRs into bugfixes, new features, breaking changes, etc. We
>>> could get some of that separation using github tags, but what if there
>>> are multiple PRs that compose one new high-level feature? At that
>>> point I think we'd have to create a new tag for every new high-level
>>> feature being worked on in order to group those PRs under the same
>>> heading. There's also the problem that only committers can tag issues,
>>> so it adds to the burden of committers to make sure all non-committer
>>> issues/PRs are properly tagged.
>>> 
>>> The main headache with doing a manually-curated changelog is the merge
>>> conflicts it causes, but I think we can easily avoid that problem by
>>> using a similar approach to reno [1] which breaks individual notes out
>>> into their own separate yaml files which are then parsed and merged
>>> into a single, cohesive changelog for each release. What that means is
>>> basically every logical bugfix/new feature/upgrade note gets its own
>>> file which avoids merge conflicts caused by just adding a line to the
>>> end of a CHANGELOG.md file every time.
>>> 
>>> - Rawlin
>>> 
>>> [1] https://docs.openstack.org/reno/latest/user/usage.html
>>>> On Thu, Oct 18, 2018 at 1:45 PM Jeremy Mitchell <mitchell...@gmail.com>
>> wrote:
>>>> 
>>>> is there a setting in github to enable "squash and merge" vs "rebase and
>>>> merge"?
>>>> 
>>>> i do have a couple of concerns however:
>>>> 
>>>> 1. what happens when 2+ people contribute to a PR? This is a pretty
>> common
>>>> scenario. If Bob and Sam both work on PR#1 is all the commit history for
>>>> Sam lost?
>>>> 2. i can see benefits of having granular history...to a point...
>>>> 
>>>> The more I think about this. Why is squash needed? Commits are grouped
>> by
>>>> PRs. Why isn't our change log just a list of PR merged since the last
>>>> release? If a PR represents a working unit (as it should), PR titles
>> should
>>>> be sufficient, no?
>>>> 
>>>> For example, this is what our internal release change log looks like.
>>>> 
>>>> Changelog from 2526569a to 284555703
>>>> ========================================
>>>> 
>>>> These changes are deployed in branch deploy-20181002.
>>>> 
>>>> PR 2300: Add TO Go cachegroups/id/deliveryservices
>>>>       65e27d2cb7c12b25c97bc98b09ffa6577bb6e1ff: Add TO Go
>>>> cachegroups/id/deliveryservices (Robert Butts, May 18 2018)
>>>>       130baa85b122f2827621c98f9e87b3245e18d80b: Add TO Go
>> cachegroups/dses
>>>> API test, client funcs (Robert Butts, Jun 28 2018)
>>>>       5197a2da7e323976d5404ce135ff8c42cbed64ef: Remove TO unused func
>>>> (Robert Butts, Sep 13 2018)
>>>> PR 2803: Add Traffic Ops Golang Steering Targets
>>>>       8ba7d24303d2b420d5059654f83a7154ff7a0703: Add TO Go
>>>> steering/id/targets (Robert Butts, Jul 10 2018)
>>>>       5ba9a3b40b59f6de2c40ad71c5a0a1a84d3acacf: Add TO API Tests for
>>>> steeringtargets (Robert Butts, Sep 11 2018)
>>>>       eca0a7eab65cd37d6e4f0658c7640200b2e9ecda: Add TO Go client
>>>> steeringtarget funcs (Robert Butts, Sep 12 2018)
>>>> PR 2806: Add sub to validate user input when running postinstall script
>>>>       e50eeb2c7f46828cbe1d461288f2d98ccdd4ebaa: Add sub to validate
>> user
>>>> input when running postinstall script changes default cdn name to not
>>>> include an underscore. (Dylan Souza, Sep 11 2018)
>>>>       9ac409904987ad0b52e3de26b79422b9688bbb8e: Altering postinstall
>> cdn
>>>> name regex to include underscores (Dylan Souza, Sep 21 2018)
>>>>       70d8893335b63db006974932341378717c42701c: Changing back the
>> default
>>>> cdn name value (Dylan Souza, Sep 21 2018)
>>>> PR 2812: remove traffic_monitor_java
>>>>       4e7a7ab26cce0903ebe54dd0892da45feaf8d3de: remove
>> traffic_monitor_java
>>>> (Dan Kirkwood, Sep 12 2018)
>>>> 
>>>> 
>>>> [truncated]
>>>> 
>>>> 
>>>>> On Thu, Oct 18, 2018 at 9:52 AM Dave Neuman <neu...@apache.org> wrote:
>>>>> 
>>>>> Well, our "curated" changelogs are missing A LOT of information on what
>>>>> actually went into the release, which therefore makes it not useful.
>> If we
>>>>> were better about commit messages and used squash and merge, then we
>> would
>>>>> at least have something for every PR that was merged.
>>>>> 
>>>>> On Thu, Oct 18, 2018 at 8:25 AM Jan van Doorn <j...@knutsel.com> wrote:
>>>>> 
>>>>>>> I think this just shifts the burden from writing a changelog entry to
>>>>>> writing a good commit entry.
>>>>>> 
>>>>>> 
>>>>>> I agree, and I think that’s where that burden belongs. (And I _really_
>>>>>> hate merge conflicts).
>>>>>> 
>>>>>>> There might be fewer commit entries if we squash and merge, but I’m
>>>>>> doubtful that it would be as valuable as our “curated” changelogs.
>>>>>> 
>>>>>> Both are dependent on how disciplined we are.
>>>>>> 
>>>>>> I’m +1 on Squash and Merge.
>>>>>> 
>>>>>> Cheers,
>>>>>> JvD
>>>>>> 
>>>>>> 
>>>>>>> On Oct 18, 2018, at 08:18, Eric Friedrich (efriedri)
>>>>>> <efrie...@cisco.com.INVALID> wrote:
>>>>>>> 
>>>>>>> I think this just shifts the burden from writing a changelog entry to
>>>>>> writing a good commit entry.
>>>>>>> 
>>>>>>> There might be fewer commit entries if we squash and merge, but I’m
>>>>>> doubtful that it would be as valuable as our “curated” changelogs.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Oct 18, 2018, at 9:40 AM, Dave Neuman <neu...@apache.org> wrote:
>>>>>>>> 
>>>>>>>> Hey All,
>>>>>>>> I want to follow up on something that was briefly discussed at the
>>>>>> summit
>>>>>>>> this week.  Many people do not like the Changelog and feel like it
>> can
>>>>>> be a
>>>>>>>> PITA to deal with.  One of the reasons we have the changelog is
>>>>> because
>>>>>>>> there are so many commits in a given release, that it is hard to
>> comb
>>>>>>>> through all of them to figure out what noteworthy changes or bug
>> fixes
>>>>>> went
>>>>>>>> into the code.  One thing that may help with this problem is to use
>>>>>> enable
>>>>>>>> the squash and merge feature on Github for pull requests [1].   This
>>>>>>>> feature would squash all commits in a PR into one commit.  If we
>> pair
>>>>>> the
>>>>>>>> one commit with a good commit message, we would essentially get the
>>>>>> ability
>>>>>>>> to create the changelog just from the commits.
>>>>>>>> 
>>>>>>>> So, I would like to propose that we enable the squash and merge
>>>>> feature
>>>>>> in
>>>>>>>> the Traffic Control Github repo and use that going forward.
>> Thoughts?
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Dave
>>>>>>>> 
>>>>>>>> 
>>>>>>>> [1] https://help.github.com/articles/about-pull-request-merges/
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>> 

Reply via email to