Coder Social home page Coder Social logo

Comments (9)

fzierler avatar fzierler commented on May 24, 2024 1

Yes, I don't think self-merging is bad in itself but we can try and avoid it where possible. Also I have now squashed the last commits

from latspec.jl.

briederer avatar briederer commented on May 24, 2024 1

The following ways seem to be the best:

  • Merging one PR (with/out multiple commits):
    • Website/Mobile app: Squash and merge
    • CLI/GUI: Squash and merge
  • Merging multiple PRs at once:
    • Website/Mobile app: Don't do it
    • CLI/GUI: Follow this guide and squash/merge the new branch with all PRs to master

from latspec.jl.

briederer avatar briederer commented on May 24, 2024 1

I've cleaned up the full commit history now following this (guide)[https://blog.nona.digital/cleaning-up-commit-history-with-git-rebase/amp/] and tried to get some structure into our commit-naming scheme.

My suggestion would be to stick to the following conventions for commits:

  • Add: or Fix: for direct pushes to master
    • optional: more infos listed with + and * markers
  • PR: for usual Pull requests that are merged
    • PR reference in parantheses
    • squashed commits listed with + marker
  • CompatHelper: Added new compat entry/entries for merges from CompatHelper pull requests
    • All PR references in parantheses
    • State changed Project.toml
    • Added Packages listed at * Package 'Packagename' v'versionnumber'

from latspec.jl.

fzierler avatar fzierler commented on May 24, 2024

I am not fully sure I understand the problem you are experiencing. We could try to rebase and squash commits before merging any pull requests so that every pull request is linked to a single commit in the correct chronological order. I am using GitKraken which provides a nice GUI for this.

from latspec.jl.

briederer avatar briederer commented on May 24, 2024

Yes I think too that rebase/squash is the way to go (also since with rebase one could combine multiple PRs if needed).
Also this is no problem to do at the PC but the GitHub-Smartphone App provides only three possibilities to merge:

  • Simple merge
  • Squash and merge
  • Rebase and merge

So far I've tried the first (CompatHelper PR #1) and the third (for #4) and the merges were a bit messy.
So basically I just want to figure out if there is a possibility to have nice merges using the Smartphone app 😉

from latspec.jl.

fzierler avatar fzierler commented on May 24, 2024

Ah, I did not think about the mobile app. I could still squash the latest three commits of #4 on master although I see why it is preferable to do this before merging.

Edit: Also I think we should try to continue not merging our own pull requests. This should make for a good code review workflow.

from latspec.jl.

briederer avatar briederer commented on May 24, 2024

Re squashing: this would be nice of you thanks.

Re self-merging: makes sense. If there is something very urgent to be added immediately we can just push to master. Otherwise file a PR and wait for the other(s) to approve and merge.

from latspec.jl.

fzierler avatar fzierler commented on May 24, 2024

When merging #7 through the Website I encountered the same issue that you had. After merging the pull request both your commit and a merge commit showed up in the history. I am pretty sure that there is a better way of doing this than manually squashing the commits afterwards.

Edit. I had the same issue as you when trying to merge multiple CompatHelper pull requests. It seems the proper way of doing this is to first resolve the conflicts and then to squash&merge.

from latspec.jl.

fzierler avatar fzierler commented on May 24, 2024

Great. Let's keep this issue open for now until I manage to submit commits/PR using this convention. ;) It seems that the best way to deal with multiple ComaptHelper PRs is to create a combined one from scratch. This is probably more straightforward than merging multiple PRs and then squashing them.

from latspec.jl.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.