Skip to content
This repository was archived by the owner on Sep 23, 2023. It is now read-only.
This repository was archived by the owner on Sep 23, 2023. It is now read-only.

Optionally disable automatic rebasing of patches #52

Open

Description

@DemianX0

Tl;dr:
This only applies to the first patch in each repo. The rest (if there are more) can only be merged.
Repos that have no patch applied are still checked out at HEAD. A next step could be to checkout each repo's master branch at the time the first patch was submitted.

Reason:
Many time there are conflicting patches merged that cause the demo creation to fail. This often happens with old patches, but it can even happen in the meantime while waiting for jenkinsbot to approve the patch. Should the conflicting patch contain renames or refactorings, a lengthy rebase is necessary, that can be up to a few hours for massive patches or chains. Often rebasing proof-of-concept solutions has no benefit, it's just lost time.

Detailed algorithm:
For each repository:

  • Instead of checking out the HEAD, check out the commit of the first patch directly.
    • Allow the use of merged patches / commit hash to choose the version to check out.
  • Then merge the rest of the patches for that repo.
  • If no patches are applied for a repo then check out the HEAD.
    • Alternatively: check out the commit merged before the first patch's submit time.

Prio: would be awesome.

Activity

  1. edg2s commented on Apr 24, 2020

    @edg2s
    Collaborator

    We should use git-review -d unless a "rebase" option is selected.

  2. MatmaRex commented on Apr 25, 2020

    @MatmaRex
    Owner

    I don't think this should be the default. It would be confusing if demoing an older patch would look as if it reverted all of the more recent changes made to the codebase since then. But it could be an option, as an alternative to choosing a branch.

  3. DemianX0 commented on Apr 25, 2020

    @DemianX0
    Author

    Good point and an option would be a solution.
    When demoing old patches there are other factors too, thus depending on the content of the patch "reverting" recent changes is what the developer might want.

    • It's quite likely that there was a conflicting patch in the meantime (in my experience), unless that area of the code is avoided by other developers.
    • The patch might depend on behavior that might have changed without code conflict (such as changes in core, while demoing a patch for a skin).

    In any case the patch is expected to work on the original base, but it's behavior is not guaranteed on the latest head, more so than if randomly updating old npm dependencies, therefore I tend to prefer the original as default, but both options have their use-cases.

  4. changed the title [-]Checkout the actual revision of a patch, don't merge it on top of HEAD[/-] [+]Optionally disable automatic rebasing of patches[/+] on Feb 4, 2021
  5. added
    enhancementNew feature or request
    and removed
    questionFurther information is requested
    on Feb 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions