[Infrastructure] Trouble creating a "clean redline" for Forum-12 [Was: Trouble preparing pull request for SC25]

Ryan Sleevi sleevi at google.com
Mon May 4 08:41:33 MST 2020


On Mon, May 4, 2020 at 3:13 AM Dimitris Zacharopoulos (HARICA) <
dzacharo at harica.gr> wrote:

>
> Once again, I am either not following our documented procedure correctly
> or there is something wrong with the steps.
>
> Following instructions listed in
> https://wiki.cabforum.org/github_redline_guide, I started my process by
> syncing master of https://github.com/dzacharo/documents (my own fork)
> with the official repo master (https://github.com/cabforum/documents).
>
> I did this by following the instructions of "Prerequisites" section 2. The
> result of this was https://github.com/dzacharo/documents/pull/1 which was
> merged to my local master.
>

It looks like you didn't click "Merge Pull Request" but did "Squash and
Merge"

"Merge Pull Request" is supposed to be the default, based on
https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/merging-a-pull-request
,
but Step 2 on the wiki didn't call that out. I've updated as such.

This is why it still says you're "50 commits behind master" - because
you're not actually in sync with master, you diverged 50 commits ago by
squashing those 50 commits into a single commit. I've also updated the Wiki
to reflect that it's a Bad Thing if you don't see that.


> Then I created a branch
> https://github.com/dzacharo/documents/tree/update-bylaws-to-v2.3
>
> Then I made several commits updating the Bylaws on this branch and created
> a new pull request against my own repo (
> https://github.com/dzacharo/documents/pull/2).
>
> Now it's time to create an immutable redline so I followed  the compare
> instructions, using the last commit of the official repo (
> https://github.com/cabforum/documents/commit/fc63be73323195abc4e462708ca0385e37b7043d)
> and the last commit from my local branch with the bylaws changes (
> https://github.com/dzacharo/documents/commit/a94d136c6ddbd0024e9bdc70785aa71f1e2f6753
> )
>

Because of the above, you effectively "forked" from the official repo at
the point you did your merge - to the official Repo, it's a series of
several distinct commits, while in your Repo, it's only a single commit.

Now, while the effective state of the repos (the last commit of official,
the last commit *before* your changes) should be identical in content,
they're not identical in hashes, hence the issue you see. However, if they
really are identical (and I've not confirmed), then the answer is make your
immutable diff from (the last commit from the official repo in *your*
branch) to (the last commit of your changes).

This is
https://github.com/cabforum/documents/compare/740e4b1be75a2c3468c8448cb7cdf9dff10bc69f..a94d136c6ddbd0024e9bdc70785aa71f1e2f6753#diff-c2f0349076f544cc0e9f059f30f21a85
(that
is, starting with your
https://github.com/dzacharo/documents/commit/740e4b1be75a2c3468c8448cb7cdf9dff10bc69f
 )

That's still immutable, and in theory can be cleanly applied against
upstream.

This is super-easy to fix on the command-line, similar to Doug's change (as
was before), because the patch file
<https://github.com/cabforum/documents/compare/740e4b1be75a2c3468c8448cb7cdf9dff10bc69f..a94d136c6ddbd0024e9bdc70785aa71f1e2f6753.patch>
can
be easily downloaded and applied to a 'clean' repository to create the pull
request.

It's unclear what you'd like to do here, so I'm holding off on offering
solutions. I could easily create a PR with "just" your commits in my
branch, I could help you get your 'master' repository back to a clean slate
and rebase your branch on-top of it (a bit more involved, but preserves
exact commits), or you could just create a second fork from a clean slate
and apply the delta of changes. Lots of options here, but in all scenarios,
all of your data is preserved, nothing is lost or messed up, and we've got
an unambiguous recoverable trail of your edits :)


>
> For some reason, I see numerous files that are "claimed" to have changed
> without changing anything. You can verify using
> https://github.com/cabforum/documents/compare/fc63be73323195abc4e462708ca0385e37b7043d..a94d136c6ddbd0024e9bdc70785aa71f1e2f6753#diff-c2f0349076f544cc0e9f059f30f21a85
>
>
>
> The patch file against the official master should be available in
> https://patch-diff.githubusercontent.com/raw/dzacharo/documents/pull/2.patch
>
> I'd prefer to have a redline link that includes only the specific file
> (Bylaws.md) and only the changes applied.
>
> My guess is that my repo includes an additional "merge" commit that
> doesn't exist in the official master, so it must have something to do with
> the instructions. Any assistance on how to improve this process would be
> appreciated. It would also be nice to have a solution for fixing the
> existing problem (like, how to take a patch and create a new pull request
> at the official cabforum repo, via a new branch)?
>
>
> Thank you,
> Dimitris.
>
> On 2020-03-04 7:32 μ.μ., Dimitris Zacharopoulos (HARICA) wrote:
>
>
>
> On 2020-03-04 7:27 μ.μ., Ryan Sleevi wrote:
>
>
>
> On Wed, Mar 4, 2020 at 1:14 AM Dimitris Zacharopoulos (HARICA) <
> dzacharo at harica.gr> wrote:
>
>>
>>
>> On 2020-03-03 10:10 μ.μ., Ryan Sleevi wrote:
>>
>>
>>
>> On Tue, Mar 3, 2020 at 2:37 PM Dimitris Zacharopoulos (HARICA) <
>> dzacharo at harica.gr> wrote:
>>
>>>
>>> I am having some difficulties preparing a pull request to add
>>> https://github.com/dougbeattie/documents/commit/bb90ff37c4bc043636229138d992
>>> 3fcff670cdfc#diff-7f6d14a20e7f3beb696b45e1bf8196f2
>>> <https://github.com/dougbeattie/documents/commit/bb90ff37c4bc043636229138d9923fcff670cdfc#diff-7f6d14a20e7f3beb696b45e1bf8196f2>
>>>
>>> to cabforum/documents.
>>>
>>> I tried
>>> https://github.com/cabforum/documents/compare/master...dougbeattie:bb90ff37c4bc043636229138d9923fcff670cdfc
>>>
>>> but this adds a lot more changes than just 3.2.2.4.18 and 3.2.2.4.19.
>>>
>>> Can anyone assist with this? I wanted to create a pull request, add a
>>> commit with the information for tables, etc and have someone review it
>>> before merge to master.
>>>
>>
>> Yup. Now you see why I wanted to streamline the process :)
>>
>> https://github.com/cabforum/documents/pull/162
>>
>> The pull request process is messy because Doug's version of the cabforum
>> repository has gotten out of sync.
>>
>>
>> https://github.com/dougbeattie/documents/commit/bb90ff37c4bc043636229138d9923fcff670cdfc.patch
>> - you can see that's Doug's commit (and exactly what was voted on)
>>
>> I did this via the command line. Normally, this wouldn't be necessary,
>> but the wonky state of Doug's repository made it the easiest path forward :)
>>
>> (I made sure my repository and upstream are in sync and w/ no unnecessary
>> edits)
>> # Create a new branch for working on Doug's change
>> $ git checkout -b dougs_change master
>> # Download Doug's patch
>> $ wget
>> https://github.com/dougbeattie/documents/commit/bb90ff37c4bc043636229138d9923fcff670cdfc.patch
>> # Apply it to my repository
>> $ git am bb90ff37c4bc043636229138d9923fcff670cdfc.patch
>> # Cleanup the temp file; making this an explicit step just so my process
>> is easily understandable :P
>> $ rm bb90ff37c4bc043636229138d9923fcff670cdfc.patch
>> # From my workstation, push my branch "dougs_change" to a remote branch
>> called "2020-03-03-SC25" in the "origin" repository (which is what I named
>> my copy on GitHub)
>> $ git push origin dougs_change:2020-03-03-SC25
>>
>> Opened the above PR.
>>
>> You can compare the redline by looking at
>> https://patch-diff.githubusercontent.com/raw/cabforum/documents/pull/162.patch and
>> comparing that with Doug's original patch. For example, diffnow.com will
>> let you compare by URLs, or you can compare those patch files.
>>
>> Enjoy! :)
>>
>>
>> I certainly enjoy learning about all this and hopefully will be able to
>> help documenting an update process!
>>
>> I'm wondering what would be the best way to make the necessary
>> modifications (versions, table, etc). There is no way for me to commit to
>> your branch and add this to the pull request, so at this point, I could
>> perform one of the following:
>>
>
> Are you sure? Have you tried editing via the pull request?
>
> Commits from maintainers into the pull request are permitted. If you're a
> maintainer of cabforum/documents (and you should be), then you should be
> able to view the files on the PR and edit directly, commiting directly to
> my branch or creating your own copy.
>
> Did you try that?
>
>
> I can see it now (edit the file). Changing it as we speak :-)
>
> Thanks again.
>
>
> Dimitris.
>
>
>
>>
>>    1. Review and merge your pull request (
>>    https://github.com/cabforum/documents/pull/162) to master, then
>>    create another pull request with the informative changes, get this reviewed
>>    and merge to master
>>    2. Repeat your process and create an "SC25" branch in the
>>    cabforum/documents repo, add another commit with the informative changes,
>>    then create a new pull request, review, squash and merge.
>>
>> If there are other options to explore, please let me know. Also, I would
>> appreciate any preference you might have on how to best proceed with this
>> process.
>>
>>
>> Thanks,
>>
>> Dimitris.
>>
>
>
> _______________________________________________
> Infrastructure mailing listInfrastructure at cabforum.orghttp://cabforum.org/mailman/listinfo/infrastructure
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cabforum.org/pipermail/infrastructure/attachments/20200504/048134d1/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: beahekkchmdnjbhc.png
Type: image/png
Size: 49149 bytes
Desc: not available
URL: <http://cabforum.org/pipermail/infrastructure/attachments/20200504/048134d1/attachment-0001.png>


More information about the Infrastructure mailing list