Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

What makes a good PR for WinFile? #88

Open
@craigwi

Description

@craigwi

Hi Folks,

First, I want to say thanks! I am amazed and impressed by the number of people who care about this old tool. Thanks to those who have contributed even if I screwed up the attribution on Github (see below).

In this "issue" I wanted to give you my thoughts on what makes a good PR and hear what you think.

Thus far there have been several different kinds of PR:

  1. syntactical changes like ^Z, spelling in comments, formatting, naming
  2. results of automated checking tools such as putting parenthesis around macro arguments and fixing compiler warnings
  3. visual changes such as the new icon and about box
  4. changes for other platforms such as mingw (thanks @mattn)
  5. functional changes (small or large) such as cold start window position issue or support for multiple search patterns

My thoughts: I am quite flexible on #1 and #2 and very much prefer them to submitted as separate PR from the other types. This makes it easier for everyone to review and can focus our reviewing time/energy on the more substantial fixes.

Changes to improve the visuals (#3) are great as long as the spirit of the original look and feel is carried forward (more or less). The updated icons and the Visual Styles change, which in the end makes sense, are good examples here.

I like the idea that this work can be used on lots of platforms, but as discussed in some issues the main line code should not suffer or be limited by them. In some cases we probably need a separate branch. I took the mingw changes because it seemed possible to do without impact on the main code. Win31/NT3.5x should probably be in another branch. I'm not sure about WinXP yet.

Functional changes, #5, are the hardest type of PR for WinFile. They are hard because the code is old and had many, many authors (before us) working on it for many years. They are hard because there are lots of gotchas in the code, hard because some of the code is just too complex, and hard because it doesn't use modern languages or libraries.

To make a good PR which changes the functionality, that fits into the style of the code, and doesn't introduce other problems takes a lot of effort to get right. Take @tig's simple one line change which was PR #46. WinFile uses default coordinates in an odd (old) way and the fix for the real bug found was different than suggested.

Questions:

  • Can we keep PR focused on one type and one issue at a time?
  • I've added a label "fixed differently" and just fix things based on the good ideas you have; would you rather I approach this differently? If so, specifically how?
  • When I make a change based on one of your PR and "fixed differently", how would you like the attribution to work? It appears that I'm not doing it to everyone's satisfaction.
  • Other comments?

Thanks,
Craig.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions