On Thu, Sep 21, 2017 at 4:32 PM, James Beedy <jamesbe...@gmail.com> wrote:
> Tracking many upstream projects, I find it most clean to just fetch the > the upstream master once my feature branch PR has landed, such that I don't > push or merge anything to my own master branch. (Ideally) I only use master > branch to sync with upstream and to make new branches from. But that's just > me :) > I too, use this approach. I treat the master as 'pristine' and do all work in branches, and if there's an upstream (and there usually is), sync that to my master, etc. > > > > What's the reasoning behind feature branches in private repositories? Why > > not just develop on the master of your private repo? > > > > 2017-09-21 12:12 GMT+02:00 James Hebden <james.heb...@canonical.com>: > > > >> Just lending my support for Dmitrii's guidance here. > >> Clean history is important, especially to those reviewing changes - but > >> having a clean history isn't as simple as having a single commit in > >> place when merging code from a private branch into upstream - it's > >> more important to isolate logical changes into individual branches and > >> MP those regularly and without remorse. > >> It's a fairly comfortable and obvious distinction - but an important > >> one I think when working with MPs. > >> > >> Reviewing these two commits in one MP - > >> "Updated bundled dependencies" > >> "Corrected PEP8 errors" > >> > >> Or one commit > >> "Updated bundled dependencies and corrected PEP8 errors" > >> > >> ...both are going to be a nightmare for the reviewer, especially given > >> the GitHub UI's inability to sensibly show changes to a single file when > >> a lot of files have changed, especially over multiple commits. Keeping > >> MPs short, sweet and logical will make everyone's lives easier when > >> working with MPs. > >> > >> So, If I'm just agreeing with everyone, why am I replying? Well, > >> primarily just to point everyone at > >> https://github.com/juju/juju/blob/develop/CONTRIBUTING.md#workflow > >> > >> The existing Juju docs seem to get it right and meet everyone's > >> expectation here. Seems like a good candidate for improving the current > >> charmhelpers contributing documentation. > >> > >> Also, thanks for all the hard work to make this happen! > >> > >>> On Thu, Sep 21, 2017 at 12:35:56PM +0300, Dmitrii Shcherbakov wrote: > >>> I think that following the clean history approach is generally good as > it > >>> makes your life easier during debugging and commit message grepping. > >>> > >>> Linus' point about > >>> > >>> https://www.mail-archive.com/dri-devel@lists.sourceforge. > >> net/msg39091.html > >>> "I want clean history, but that really means (a) clean and (b) > history." > >>> > >>> having both history and keeping it clean is something that we should > >>> consider but not enforce too much (subjectively) to avoid making it too > >>> hard to commit changes. In the end, this transition to github is about > >>> making it easier to contribute, not requiring a person to read a > 100-page > >>> manual on how to annotate and prepare a commit to push a one-liner. > >>> > >>> Given that charm-helpers changes are generally small, I think squashing > >> is > >>> OK even using github's mechanism. > >>> > >>> For large commits, on the other hand, it makes sense to recreate a pull > >>> request (close a PR, update and push to a fork, create a new PR) or > >> update > >>> an existing PR by doing a complex rebase + force push. When there are > >>> several logical changes per commit it is quite important to keep them > >>> separate and squashing everything into a single change is essentially > >>> hiding history. > >>> > >>> An analogy would be file compression: yes, you can squeeze files to a > >>> single compressed blob and make it a bit smaller but then you have to > >> waste > >>> CPU cycles to decode it. In the same way, when you are trying to > quickly > >>> grep through a git log you don't want to waste brain cycles on decoding > >>> unstructured information. > >>> > >>> Best Regards, > >>> Dmitrii Shcherbakov > >>> > >>> Field Software Engineer > >>> IRC (freenode): Dmitrii-Sh > >>> > >>> On Thu, Sep 21, 2017 at 12:02 PM, Merlijn Sebrechts < > >>> merlijn.sebrec...@gmail.com> wrote: > >>> > >>>> It depends on what you want to optimize the development workflow for. > I > >>>> think we need to optimize for easiness because a lot of contributors > >> will > >>>> be ops people who generally have a lot less experience with git and > >> github. > >>>> I for example have rebased once in my life, and this was only possible > >> with > >>>> Alex walking me through the process. > >>>> > >>>> *"Fork to private + PR + dirty fix commits" *is an easy workflow that > a > >>>> lot of people are familiar with and that works well with Github. If > you > >>>> want a cleaner commit history, you can always rebase or squash the PR > >>>> during merge using the Github UI: https://pasteboard.co/GLmTHnf.png. > >>>> > >>>> It's not ideal but it's a small price to pay for more contributors.. > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> 2017-09-20 22:10 GMT+02:00 Alex Kavanagh <alex.kavan...@canonical.com > >>> : > >>>> > >>>>> There's some interesting ideas in there, Dmitrii. Whatever workflow > we > >>>>> end up with needs to be consistent with the other workflow on the > juju > >>>>> namespace on github.com, which I'm guessing is a simple fork to > >> private > >>>>> + PR. > >>>>> > >>>>> I've used squashed commits on projects in the past, and they do lead > >> to a > >>>>> cleaner git history, which is nice; as you say, it's a bit like > >> gerrit. > >>>>> Unfortunately, it's not gerrit, so it's difficult (as the bugs > >> indicate) to > >>>>> get it to work like gerrit, if you want to preserve the PR history, > >> yet > >>>>> keep clean commits. Once it gets to a PR I think you're pretty much > >> stuck > >>>>> with the "GitHub way". > >>>>> > >>>>> Cheers > >>>>> Alex. > >>>>> > >>>>> On Wed, Sep 20, 2017 at 8:33 PM, Dmitrii Shcherbakov < > >>>>> dmitrii.shcherba...@canonical.com> wrote: > >>>>> > >>>>>>> I'm guessing that the development workflow will be to fork the > >> repo, > >>>>>> and do PRs from your own github version? > >>>>>> > >>>>>> In short, yes. > >>>>>> > >>>>>> 1. fork; > >>>>>> 2. clone locally; > >>>>>> 3. set up 2 remotes (1 for rebasing to upstream, 1 for pushing); > >>>>>> 4. create a branch, commit and push to your fork; > >>>>>> 5. create a PR. > >>>>>> > >>>>>>> I also guess that the contributing guide will need updating (it > >> talks > >>>>>> about bzr). > >>>>>> > >>>>>> I would also suggest PR workflow-related updates to that doc given > >> that > >>>>>> one cannot > >>>>>> > >>>>>> git rebase -i HEAD~<n> # amend, squash, add new commits etc. > >>>>>> and > >>>>>> git push # to a forked repo > >>>>>> > >>>>>> without doing a force push to update a pull request. In my view, > it's > >>>>>> good to keep the commit history clean instead of adding several > >> commits on > >>>>>> top without squashing them. Otherwise it quickly turns into: > >>>>>> > >>>>>> "an original commit message to make charm-helpers great > >>>>>> fixup commit to avoid a typo > >>>>>> hotfix to the fixup > >>>>>> final fix - will not happen again" > >>>>>> * closed a PR as a huge rebase is needed > >>>>>> > >>>>>> I would propose the following: > >>>>>> > >>>>>> > >>>>>> - using "push -f" only for private branches used for pull requests > >>>>>> https://help.github.com/articles/using-git-rebase-on-the-com > >>>>>> mand-line/#pushing-rebased-code-to-github > >>>>>> <https://help.github.com/articles/using-git-rebase-on- > >> the-command-line/#pushing-rebased-code-to-github> > >>>>>> - using git-pull-request: https://github.com/jd/git-pull-request > >>>>>> which updates PRs with push -f. > >>>>>> - following this workflow advice about branches: > >> https://github.com/j > >>>>>> d/git-pull-request#workflow-advice > >>>>>> <https://github.com/jd/git-pull-request#workflow-advice> > >>>>>> > >>>>>> Rationale: > >>>>>> > >>>>>> - https://blog.adamspiers.org/2015/03/24/why-and-how-to-correc > >>>>>> tly-amend-github-pull-requests/ > >>>>>> <https://blog.adamspiers.org/2015/03/24/why-and-how-to- > >> correctly-amend-github-pull-requests/> > >>>>>> - https://softwareengineering.stackexchange.com/a/263172 > >>>>>> - https://blog.adamspiers.org/2017/08/16/squash-merging-and-ot > >>>>>> her-problems-with-github/ > >>>>>> - https://www.mail-archive.com/dri-devel@lists.sourceforge.net > >>>>>> /msg39091.html > >>>>>> > >>>>>> > >>>>>> More info in a gist. > >>>>>> https://gist.github.com/dshcherb/2c827ae945dc551da3681313294d6783 > >>>>>> > >>>>>> > >>>>>> Coming from the kernel-type patch-sending process ( > >>>>>> https://lwn.net/Articles/702177/, https://www.mail-archive.com/d > >>>>>> ri-de...@lists.sourceforge.net/msg39091.html) and gerrit ( > >>>>>> https://www.mediawiki.org/wiki/Gerrit/Tutorial#Comparing_patch_sets > ) > >> I > >>>>>> find github's approach with fixup commits a little strange but > >>>>>> force-pushing with precautions even to a PR branch is not a silver > >> bullet > >>>>>> of course. > >>>>>> > >>>>>> https://github.com/isaacs/github/issues/997 > >>>>>> https://github.com/isaacs/github/issues/999 > >>>>>> > >>>>>> It would be great to hear some feedback on this topic so that we are > >> not > >>>>>> doing anything random and have a common workflow. > >>>>>> > >>>>>> Thanks in advance! > >>>>>> > >>>>>> Best Regards, > >>>>>> Dmitrii Shcherbakov > >>>>>> > >>>>>> Field Software Engineer > >>>>>> IRC (freenode): Dmitrii-Sh > >>>>>> > >>>>>> On Wed, Sep 20, 2017 at 4:14 PM, Alex Kavanagh < > >>>>>> alex.kavan...@canonical.com> wrote: > >>>>>> > >>>>>>> Great stuff; I can confirm that I'm in. I'm guessing that the > >>>>>>> development workflow will be to fork the repo, and do PRs from your > >> own > >>>>>>> github version? > >>>>>>> > >>>>>>> I also guess that the contributing guide will need updating (it > >> talks > >>>>>>> about bzr). I'm happy to do a PR for that if the workflow can be > >> confirmed > >>>>>>> :) > >>>>>>> > >>>>>>> Cheers > >>>>>>> Alex. > >>>>>>> > >>>>>>> > >>>>>>> On Wed, Sep 20, 2017 at 12:59 PM, James Page < > james.p...@ubuntu.com > >>> > >>>>>>> wrote: > >>>>>>> > >>>>>>>> If you're a part of the charmers team on Launchpad you should now > >>>>>>>> either have access to approve pull requests + merge or you should > >> have an > >>>>>>>> invite to join the team that can do this :-) > >>>>>>>> > >>>>>>>> If you don't have one PM me on freenode IRC with your github > >> username. > >>>>>>>> > >>>>>>>> On Wed, 20 Sep 2017 at 11:57 James Page <james.p...@ubuntu.com> > >> wrote: > >>>>>>>> > >>>>>>>>> Hi All > >>>>>>>>> > >>>>>>>>> Heres a bit of a status update on migration activity: > >>>>>>>>> > >>>>>>>>> Code history migration completed > >>>>>>>>> Travis CI enabled for unit testing and linting with Py 2.7 and > 3.4 > >>>>>>>>> Repo configured to not allow merges until Travis +1's > >>>>>>>>> > >>>>>>>>> TODO > >>>>>>>>> > >>>>>>>>> Make sure all members of the current team on launchpad are part > of > >>>>>>>>> the charmhelpers team - that should be completed today > >>>>>>>>> Fixup charmhelpers sync tooling to work from github - this week > >>>>>>>>> (mainly used by OpenStack Charms team) > >>>>>>>>> Redirect lp:charm-helpers landings to > >> github.com/juju/charm-helpers > >>>>>>>>> > >>>>>>>>> and the prize goes to Merlin for raising the first non-migration > >>>>>>>>> related pull request :-) > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Tue, 19 Sep 2017 at 14:57 Bryan Quigley < > >>>>>>>>> bryan.quig...@canonical.com> wrote: > >>>>>>>>> > >>>>>>>>>> From other projects I've seen moved, I'd much prefer if the Code > >>>>>>>>>> section (and any other sections not planned on being using > >> anymore) were > >>>>>>>>>> cleared out on LP and then disabled. > >>>>>>>>>> > >>>>>>>>>> Thanks! > >>>>>>>>>> Bryan > >>>>>>>>>> > >>>>>>>>>> On Tue, Sep 19, 2017 at 9:42 AM, Marco Ceppi < > >>>>>>>>>> marco.ce...@canonical.com> wrote: > >>>>>>>>>> > >>>>>>>>>>> I've updated the launchpad description to highlight the change. > >>>>>>>>>>> Since there's bound to be processes still pointing at the lp > >> branch, should > >>>>>>>>>>> we set it up as a mirror from git? > >>>>>>>>>>> > >>>>>>>>>>> On Tue, Sep 19, 2017 at 9:37 AM James Page < > >> james.p...@ubuntu.com> > >>>>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> OK - step 1 completed; I've pushed fresh bzr->git migrated > >> code to > >>>>>>>>>>>> > >>>>>>>>>>>> https://github.com/juju/charm-helpers > >>>>>>>>>>>> > >>>>>>>>>>>> Please don't land any further changes into the bzr branch as > >> we'll > >>>>>>>>>>>> need to diverge from this point forwards. > >>>>>>>>>>>> > >>>>>>>>>>>> I will land a commit in lp:charm-helpers to point lost souls > to > >>>>>>>>>>>> the new github.com location as part of the migration. > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> On Mon, 18 Sep 2017 at 14:15 Alex Kavanagh < > >>>>>>>>>>>> alex.kavan...@canonical.com> wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> I'm a +1 on this too. Let the good times roll. > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Mon, Sep 18, 2017 at 11:22 AM, James Page < > >>>>>>>>>>>>> james.p...@ubuntu.com> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>>> Resurrecting this thread; I think its a good time to push on > >>>>>>>>>>>>>> with this work - anyone have any objections to targeting > >> this week to > >>>>>>>>>>>>>> complete the migration? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Fri, 21 Jul 2017 at 19:55 David Ames < > >>>>>>>>>>>>>> david.a...@canonical.com> wrote: > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On Fri, Jul 21, 2017 at 5:46 AM, James Page < > >>>>>>>>>>>>>>> james.p...@ubuntu.com> wrote: > >>>>>>>>>>>>>>>> Hi All > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Managed to find some time to test the bzr->git migration > >>>>>>>>>>>>>>> more, including > >>>>>>>>>>>>>>>> some tidy of committers and other general hygiene. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> https://github.com/juju/charm-helpers > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> I think we're in a good position to plan for a switch - I > >>>>>>>>>>>>>>> appreciate there > >>>>>>>>>>>>>>>> are a number of open reviews against the bzr branch for > >>>>>>>>>>>>>>> charmhelpers so it > >>>>>>>>>>>>>>>> would be nice to get those landed where possible first. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> I can re-run the process at any time so we can pick when > >> we > >>>>>>>>>>>>>>> want to actually > >>>>>>>>>>>>>>>> switch over. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Once we have migrated, we can push forward on travis setup > >>>>>>>>>>>>>>> etc... so that we > >>>>>>>>>>>>>>>> can automatically test pull requests. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> Cheers > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> James > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> I landed two of Alex's MPs today which fix unit test > >> failures > >>>>>>>>>>>>>>> that > >>>>>>>>>>>>>>> would need to get pulled in. Other than that, the road is > >> clear > >>>>>>>>>>>>>>> from > >>>>>>>>>>>>>>> the OpenStack Charm team. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>> David Ames > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> -- > >>>>>>>>>>>>>> Juju mailing list > >>>>>>>>>>>>>> Juju@lists.ubuntu.com > >>>>>>>>>>>>>> Modify settings or unsubscribe at: > >>>>>>>>>>>>>> https://lists.ubuntu.com/mailman/listinfo/juju > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> -- > >>>>>>>>>>>>> Alex Kavanagh - Software Engineer > >>>>>>>>>>>>> Cloud Dev Ops - Solutions & Product Engineering - Canonical > >> Ltd > >>>>>>>>>>>> -- > >>>>>>>>>>>> Juju mailing list > >>>>>>>>>>>> Juju@lists.ubuntu.com > >>>>>>>>>>>> Modify settings or unsubscribe at: > >> https://lists.ubuntu.com/mailm > >>>>>>>>>>>> an/listinfo/juju > >>>>>>>>>>> > >>>>>>>>>>> -- > >>>>>>>>>>> Juju mailing list > >>>>>>>>>>> Juju@lists.ubuntu.com > >>>>>>>>>>> Modify settings or unsubscribe at: > >> https://lists.ubuntu.com/mailm > >>>>>>>>>>> an/listinfo/juju > >>>>>>>> -- > >>>>>>>> Juju mailing list > >>>>>>>> Juju@lists.ubuntu.com > >>>>>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm > >>>>>>>> an/listinfo/juju > >>>>>>> > >>>>>>> > >>>>>>> -- > >>>>>>> Alex Kavanagh - Software Engineer > >>>>>>> Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd > >>>>>>> > >>>>>>> -- > >>>>>>> Juju mailing list > >>>>>>> Juju@lists.ubuntu.com > >>>>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm > >>>>>>> an/listinfo/juju > >>>>> > >>>>> > >>>>> -- > >>>>> Alex Kavanagh - Software Engineer > >>>>> Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd > >>>>> > >>>>> -- > >>>>> Juju mailing list > >>>>> Juju@lists.ubuntu.com > >>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm > >>>>> an/listinfo/juju > >> > >>> -- > >>> Juju mailing list > >>> Juju@lists.ubuntu.com > >>> Modify settings or unsubscribe at: https://lists.ubuntu.com/ > >> mailman/listinfo/juju > >> > >> > >> -- > >> James Hebden > >> Cloud Reliability Engineer > >> BootStack Squad @ Canonical Ltd. > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: <https://lists.ubuntu.com/archives/juju/attachments/ > 20170921/942d8633/attachment-0001.html> > > > > ------------------------------ > > > > Subject: Digest Footer > > > > -- > > Juju mailing list > > Juju@lists.ubuntu.com > > Modify settings or unsubscribe at: https://lists.ubuntu.com/ > mailman/listinfo/juju > > > > > > ------------------------------ > > > > End of Juju Digest, Vol 80, Issue 20 > > ************************************ > > -- > Juju mailing list > Juju@lists.ubuntu.com > Modify settings or unsubscribe at: https://lists.ubuntu.com/ > mailman/listinfo/juju > -- Alex Kavanagh - Software Engineer Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd
-- Juju mailing list Juju@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju