-
Notifications
You must be signed in to change notification settings - Fork 691
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simple.SrcDist cleanup (fixes #3656) #3702
Conversation
Spurious merge commits pollute history and make it harder to do code review, that's why we care about them. |
Yes, but @fmaste has already stated that he will merge squash before pushing to master (IIUC, that will be a merge, then a git rebase -i which will result in a single commit with no merges) so no problem right :) On September 16, 2016 6:40:14 PM GMT+09:00, Mikhail Glushenkov notifications@github.com wrote:
Sent from my Android device with K-9 Mail. Please excuse my brevity. |
Yeah, it's no problem in this case, but in general merge commits make it harder to do code review, so it's nice to get rid of them before submitting a PR. |
No, I don't see how merge commits necessarily cause problems at review time. For example, GitHub suppresses the diff if the merge is "clean". Very rarely git will mess up an "obvious" textual merge. But that's what looking at the final diff is for. If the merge is dirty, well, it is true that it is "easier" to review patches if the various bits of the merge have been backported back. I do this for my own patchsets. But it is extremely tedious and time consuming. I wouldn't wish it on anyone else. For example, for this patchset, I reviewed it by just clicking on "Changed files" overall and looking at the changes. |
Everything is possible with git but no thanks, sounds like a recipe for disaster
As I'm doing some refactoring I do little non-destructive changes with a silly commit description just to identify them when looking at the history. At all time I test locally and if something fails I cherry pick and correct.
Nobody else is working on this branch and the merge is not shown on the diff. After squashing all to master the result will be the same as rebasing and I can delete this branch. The only problem I see is that you have to skip merges if you are looking at every commit separately, but I doubt somebody is doing that with all this commits |
@fmaste You're all good. Squash and push! |
It only recently started doing that. Not sure how well it works for "dirty" merges.
I sympathise, but this is essentially an argument for not removing merge commits at all.
It works in this case, but in general not having everything rolled up in one giant commit and using logical commits instead of historical makes the reviewer's life easier. |
@fmaste Are you going to update this PR? This is basically good to go, just needs to be squashed and have some minor conflicts resolved. Anything we can do to help? |
@23Skidoo Maybe we should just squash and push ourselves. |
I assign this to @ezyang to squash and push |
This PR contains some good stuff, but it cannot be merged as is. |
sdist code have changed, and some changes are there now. |
PackageDescription
is not changed any more, just the pieces of it we need to (seepreprocessComponentSdist
).filterAutogenModules
andfilterAutogenBuildInfo
functions so given aPackageDescription
andBuildInfo
returns filtered answers. Now is clear where to add anautogen-c-sources
field.sdistSourcesList
andsdistSourcesDirectory
functions moving the logic out of frontendsdist
where this last one just reads the flags and prints messages.findSetupFile
,findMainExeFile
and two pieces of code fromlistPackageSources
where identical, extracted all onfindMainFile
(You can see through the commits how it is done step by step).findModulesFiles
,findMainFile
,findIncludeFile
andfindSetupFile
together.verbosity
variable ofsdistSourcesList
,sdistSourcesDirectory
goes tolistPackageSources
thenlistPackageSourcesOrdinary
that callsdefaultPackageDesc verbosity
that ignores it. ButlistPackageSources
is exported and is too much for a single PR.There are a lot of commits because it's the only way to make small steps to figure all this out and test between every change. Dont worry I will
merge --squash
! but before you can see that I tried hard not to break anything.