-
Notifications
You must be signed in to change notification settings - Fork 100
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
Arbor support #422
Arbor support #422
Conversation
…ted simplecell and l5pc examples)
…or), simplecell_model.py simplified and consistent with notebook
…ACC-export, demo of simulating protocols in Arbor on simple cell example and validation with Neuron
… arbor_integration
…on for GUI-compatibility
…alogue to JSON, global ion properties, create_acc with axon replacement simplified
… iterating over deleted myelin section
…incl. functional test
…-cell, l5pc and expsyn examples, updated cross-validation
Hi @anilbey, who asked you to open a PR for Arbor? You are essentially taking over a finished contribution (#393) that we've developed over the last 6 months, committed a few stylistic changes and small tests (but no new functionality) without announcing it even after we agreed with the maintainers on merging the PR. I carefully factored your ideas into the new contribution, avoided regressions and made it consistent with the rest of BluePyOpt, but then you decide to close the PR to reopen it here? I do not approve of this and the code being used here - please close this PR. |
Where do you answer this question, @wvangeit? Are you aware that @anilbey has pushed his code to my fork without any prior discussion with anyone from the Arbor team? We had a call on Oct 11 in presence of @DrTaDa, @thorstenhater and @brenthuisman, where you orally approved merging the PR after I would do some final changes. You know about my personal situation and the associated time constraints. Raising a few more minor requests such as @anilbey did in the following with improved docs is fine and I've addressed them. But pushing major changes that break the structure and correctness of the new contribution without adding features and cluttering up the commit history with very many tiny commits for essentially a few unfinished unit tests (of previosuly end-to-end tested code) without asking is not ok. Adding useful tests is welcome of course and so is tiny fixes like you did them in the past, but for the rest there is code review and for major changes he could have opened a PR to my fork. Nevertheless, I've gone ahead and fixed these tests, added more comprehensive end-to-end ones and also completed the half-finished function renaming/-grouping he started. I've cited Anil correspondingly in 73772ea. It's not correct to say that he lost his history. It's preserved in arbor_integration_anil_review and referenced in the PR and the reasons are given in the accompanying comment in #393. If you're interested in BluePyOpt as a product, I would expect you to be very satisfied now with the state of the code in the branch of #393 (the complaint on the failing test is outdated - it was one for Neuron btw and seems to point to a problem in the master branch). But it seems you and @anilbey are probably interested in something else. I'm afraid I don't have time to dig out the useful parts of these numerous commits just for the sake of a few unit tests. Closing #393 and reopening it here is essentially hijacking it. This is a scientific no-go. If I see this one still open mid next week I will intervene at EPFL. We won't collaborate on this outside of the original PR. If you want to continue the discussion, continue it there. |
Hi @wvangeit @anilbey, you took us a bit by surprise with this. I think it would have helped if you had communicated this in one of our meetings; we work with the squash-and-merge strategy, which is also quite common, and apparently we were insufficiently aware you manage your PRs differently. This does not need to be a problem, we could have found a way to revert the history to suit your requirements, and I hope that we still can. This feature is @lukasgd's final project for us (at least, for the time being, we would not mind if he circles back after his medical internships are over 🙂), so I hope you can understand why this sudden change was upsetting. I propose that we set up a meeting to sort this out, which I have no doubt that we can. Since I work part time and @lukasgd is spending his working hours on other matters, I'll take maybe a few days to send around an invitation/doodle, but ASAP. |
@brenthuisman Yes, I guess it's a bit of communication issue. I did say in our last meeting that the PR looked ok for me, but I also mentioned that I would give @anilbey, who unfortunately couldn't join that meeting because he had other obligations, a last chance to have a look at it. |
I think I've answered that already in #422 (comment). The permission to make changes is there to enable collaboration, but not for making large, unannounced changes not in line with previous development (there is code review to discuss such ideas).
I think this is a bit of an apples and oranges comparison. The code of @anilbey I've integrated is essentially a few unit tests and an idea how to regroup functions - a rather small part of the PR. Both of these things are useful, but not finished, so I fixed and extended them (as commented in #393 (comment)). To avoid any of the regressions and come to results in manageable time, I've built on the previously known-to-work state. I have no incentive to "claim authorship" on these ideas and correspondingly cited Anil in the commit message. As mentioned before, @anilbey split his work into many commits, moving large chunks of code around in them, and the number of possible diffs just becomes unmanageably high. I had no good way to pick the useful parts of his contribution (or even "squash" commits) when I need to do this in my spare time. This style creates a big maintenance burden for me and I think you should factor this in when you are collaborating with external people whose support you depend on. I understand that during development it can be useful to commit changes often, but the resulting Git history is not the most effective way to share your work. I don't have a problem with @anilbey being the Git author of the mentioned parts. If you want to see his commits show up in the history, but are ok with the end result in arbor_integration, we can make it happen in #393.
Thank you for closing this PR. I still don't quite understand why it was necessary when @anilbey's history was already preserved and referenced under arbor_integration_anil_review. We could have just had this discussion under the original PR. I wouldn't call that one a technicality btw as it's pretty much a progress journal where everyone involved contributed their ideas in order and it's linked by several open issues in Arbor and BluePyOpt itself. Some things are still nowhere documented and I'd plan to attach them there. So, I'd ask you to reopen that one, then we can discuss how to change the recent Git history so that you are satisfied. |
Reopen of #393 with restored git history.