cancel
Showing results for 
Search instead for 
Did you mean: 

patching core using current dev branch commits

patching core using current dev branch commits

Dear Alan,


Thank you kindly for explaining [here] the reason for 'core' module code residing in /app/code/Magento/ on github dev branch. 

 

Please could you describe the publishing process for a single module (e.g. Swatches) -  from it's dev branch location of  /app/code/Magento/Module_name to it's stable release core home in /vendor/magento/module-module_name ?

By doing this you'll enable developers like myself to more easily compare current dev branch differences against current stable releases.

 
kind regards
Rick

5 REPLIES 5

Re: patching core using current dev branch commits

Each module in GitHub has a directory under app/code (all under Magento vendor name). You will find a composer.json file in each module listing its dependencies and version number (including module patch level). The publish process puts new versions of modules on to repo.magento.com (the official Composer repository for downloading Magento). There are also the ZIP download site, which is effectively us running "composer install" for you and zipping up the result - the end result is identical to doing a composer based install.

 

So GitHub is our behind-the-scenes development area, the Composer repository is the "official" released code. We obviously keep them in sync with tags/branches etc.  So the publish process does look for things that changed since the last publish process - in a release branch we patches are being done many modules are not touched between patch releases, so we don't release a new version of those modules. Only changed modules are added to the Composer repo.

 

If you want to see differences between to patches (e.g. 2.1.2 and 2.1.1) you can use the GitHub tags to diff those two versions. You may find many modules have not changed, and some have a new patch version and changes. If you want to find the exact version number of a module for a CE patch (e.g. 2.1.2), then you can navigate in GitHub to a tag, then look in app/code/Magento/<module>/composer.json to work out the module version number. When you write your modules, you should define dependencies on specific Magento modules you depend on.

Re: patching core using current dev branch commits

Dear @akent99

Thank you for your kind reply, I understand that you guys will be silly busy non-stop so thank you for any and all feedback it's all very useful!
Please are you able to explain the Mag team publish process so us mere hackers can replicate in order to most efficiently patch our 'stable' release sites with relevant working dev code that hasn't been merged into a stable release yet? My priority is to understand the process of moving files destined for core from the dev path /app/code/Magento/* to the correct stable path of /vendor/magento/module-*

 

Also sorry to hijack but is there any public information regarding Mag2 release schedules in relation to issue fixes? I can't stress how important this is to help sustain a real Mag community. What should we say when a client asks when's that being fixed? without resorting to hacking core, currently we have absolutely no idea and no way to find out - that I know of? I've nearly ditched Mag2 numerous times since Beta and ultimately clients will drive this decision regardless if the trend is which way is the wind blowing. Sincere apologies in advance if this info is out there and I simply haven't found it but it's not obvious on github, this forum or the main website?

Finally, keep up the good work all - Mag2 icould well to be the best! 

kind regards

Rick

Re: patching core using current dev branch commits

Hi @akent99

So... 2.13 is released, but sadly still without the configurable attributes fix that's on the develop branch. So here I am in need of simple info still and I can't seem to get a response - again it all goes quiet?  I must say It's quite frustrating. I really want to follow official procedure, and best practices but at the moment it's exasperating. Please how does one find out when Mag2 stable releases are due to be released? and more importantly which fixed issues are going to be included? Or better still please please please! can you describe the Mag2 develop branch publish process so that I can implement a dev branch fix properly/cleanly on a stable site just as you would do when you merge fixes back onto a stable release?? Please?  

Re: patching core using current dev branch commits

Hi Rick. Patch 2.1.3 had around 90 fixes with delayed release due to things getting picked up during testing. Patch 2.1.4 was being worked on in parallel to 2.1.3 testing and so already has a set of fixes.  I am not deep in the trenches, but if its in the develop branch there is a good chance it is lined up for the 2.1.4 patch.  I think I heard numbers like >40 fixes already in test for 2.1.4.

 

One thing that is being looked at is how to improve visibility here. Its not an area I am working on directly - I will pass this thread on to people looking at the area, but with Christmas I am not sure who is on PTO. But I will see what answer I can get.

Re: patching core using current dev branch commits

Dear @akent99 Thank you kindly for responding. 
I don't think I just speak for myself when I say that I think that the lack of transparency/visibility is what is currently the biggest issue most Mag2 adopters have (be they developers or site builders)? I'd go so far to say it could realistically kill Mag2 in the real world before it manages to realise it's true awesome potential! But that may be just frustration talking?

We all understand this is free open source software and that EE comes first and makes CE possible. There are constantly going to be bugs to fix and everybody will have their own personal opinion about priority and we all appreciate that you simply can't please all of the people all of the time. However; when adopters are adhering to the appropriate/chosen methods of contact (github issue queues & these forums),  I think we have a right to expect open and honest communication. Unfortunately, and as you've already (graciously!) alluded to, sadly that's not really what most of us (the CE community/adopters) are currently experiencing. 

So; I hope that this post, or the parts of post that nobody wants to answer openly, won't fall on deaf ears as is evidently typical (to date)!  We, the community, really do need the full and willing co-operation of the Mag2 team or a representative(s) of the team so that the community can survive. And you, the Mag2 team, actually need adopters of your software whether you realise this or not? 

So, I truly hope that you can and will spare the time (precious as it undoubtedly is) to respond with answers or suggestions even which might help resolve the following scenarios:

  • when bugs exist; adopters(agencies/developers etc) need some way to communicate with clients or potential clients to advise when a bug will be fixed (not might - will!)
  • And/or they need a documented best practise approach to attempt fixing these bugs themselves, e.g. preferably to follow the exact same practices as the core Mag2 team. 

My simplified view on these predicaments is this:

  1. you identify fixed/acknowledged bugs that will be included on a specific stable release and you also provide some indication of progress towards said stable releases so that the rest of the world has some hope of working out when the fixed bugs might be available? Wouldn't it be great if we all had live visibility (even if, as is likely, some issues slip the net) but for now just some transparency.  Perhaps you could give issues an additional status after 'fixed' to identify an intention/confirmation to merge into a specific release, e.g.  (v2.X.x - for definitely going in this release | v2.X.x/x+1 for next or following release | etc?). Then of course you're going to have to hint at stable release dates! e.g. https://www.drupal.org/core/release-cycle-overview
  2. Additionally please will you make available or document the script or process used by Mag2 team when 'publishing' develop branch core modules to merge back into a stable release. This will allow developers a) to follow what 's been adopted as best practice by the mag2 team, and b) to pull fixes from the develop branch and merge into their own stable sites using what I assume will be the most appropriate procedure. Additionally this will allow community developers to offer/provide their own fixes back to the mag2 team or indeed to the mag2 community in either format/structure, e.g. to be merged back into the develop branch (mag2 team) or as a patch for the community. 

I very much look forward to your reponse.