Re: gitignore for projects
John DeSoi, Ph.D. Thanks for offering your workflow, John. This is very interesting. > "Master" branch is version 17. When I want to commit a new version I have a > 4D method that copies the structure, opens it in 4D 18, and then exports the > structure in project mode format. This can be completely automated and only > takes a few seconds. How large is your structure? I ask, because our structure has around a million lines of code and probably 15,000 forms and when I’ve tried exporting under 17r5 it takes many minutes. Also, my attempt at setting up a git repository ran into similar performance issues, only hours instead of minutes. I lost interest at that point. > You can continue to make version 17 changes, export, and then merge into your > 18 branch. At some point in the future, all your conversion issues will be > resolved and you can promote the 18 branch as master and deploy with 4D 18. This sounds almost like magic. When you “merge” how do you know what code takes priority? Do you have to examine each method and form? BTW, did you have prior experience with git? I’m asking because my past attempts to get a conceptual understanding of git and version control have had limited success. I found the concepts and terminology overwhelming and couldn't map the git workflow to my 4D workflow at all. I’m looking forward to more posts like yours which provides ‘just enough’ git to get started. Tom Benedict ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: gitignore for projects
Hi Jeremy, > On Jan 4, 2020, at 1:53 PM, Jeremy French wrote: > > Did you create the v17 Master Branch by: > > 1) Open a copy of the v17 structure and then open the copy in v18 to convert > v17 to v18; and > 2) Commit the conversion to v18 as the v17 Master branch; and > 3) Create a new branch (off Master) as v18. > > The above was done only once. Conceptually, that is the best way to think about it. After the first conversion you have a "master" branch which is the 4D 17 version converted to 18. Initially, the "18" branch is exactly the same. Then I can switch to the 18 branch and work on new features that use new commands and functions added in 4D 18. >> >> When I want to commit a new version I have a 4D method that copies the >> structure, opens it in 4D 18, and then exports the structure in project mode >> format. > > Are you doing this workflow to continue development in v17? Yes. Switch back to the 17 "master" branch. Verify there are no uncommitted changes in the Project folder (git status called from 4D). Move the Project folder to the trash. Run the 17 to 18 script again and generate a new Project folder with the current source. Commit as the new "master" branch. Merge (or fast forward) the master branch into the 18 branch to keep it up to date with the changes in 4D 17. In this model, I'm only making structure and form changes in the 17 master branch. Methods can be changed in both branches. John DeSoi, Ph.D. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: gitignore for projects
Hi John, > You can keep your project in binary mode (even keep it in version 17) and > still take advantage of version 18, project mode, and git. Interesting idea. > "Master" branch is version 17. Did you create the v17 Master Branch by: 1) Open a copy of the v17 structure and then open the copy in v18 to convert v17 to v18; and 2) Commit the conversion to v18 as the v17 Master branch; and 3) Create a new branch (off Master) as v18. The above was done only once. > When I want to commit a new version I have a 4D method that copies the > structure, opens it in 4D 18, and then exports the structure in project mode > format. Are you doing this workflow to continue development in v17? 1) Continue to develop in v17; and 2) Make a copy of the v17 structure and then open the copy in v18 to convert v17 to v18; and 3) Commit the v18 to the v18 branch. Best regards, Jeremy French Full post from John DeSoi follows: > When I want to commit a new version I have a 4D method that copies the > structure, opens it in 4D 18, and then exports the structure in project mode > format > On Jan 4, 2020, at 12:33 PM, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > You can keep your project in binary mode (even keep it in version 17) and > still take advantage of version 18, project mode, and git. Here is what I'm > doing. > > "Master" branch is version 17. When I want to commit a new version I have a > 4D method that copies the structure, opens it in 4D 18, and then exports the > structure in project mode format. This can be completely automated and only > takes a few seconds. > > Now that you have a master branch, you can create a version 18 branch for > implementing next version features that take advantage of new 4D 18 > capabilities. Just open your source directly in version 18 project mode. You > can test the conversion and have both 17 and 18 versions open at the same > time as long as you have separate data files. > > You can continue to make version 17 changes, export, and then merge into your > 18 branch. At some point in the future, all your conversion issues will be > resolved and you can promote the 18 branch as master and deploy with 4D 18. > > John DeSoi, Ph.D. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: gitignore for projects
You can keep your project in binary mode (even keep it in version 17) and still take advantage of version 18, project mode, and git. Here is what I'm doing. "Master" branch is version 17. When I want to commit a new version I have a 4D method that copies the structure, opens it in 4D 18, and then exports the structure in project mode format. This can be completely automated and only takes a few seconds. Now that you have a master branch, you can create a version 18 branch for implementing next version features that take advantage of new 4D 18 capabilities. Just open your source directly in version 18 project mode. You can test the conversion and have both 17 and 18 versions open at the same time as long as you have separate data files. You can continue to make version 17 changes, export, and then merge into your 18 branch. At some point in the future, all your conversion issues will be resolved and you can promote the 18 branch as master and deploy with 4D 18. John DeSoi, Ph.D. > On Jan 3, 2020, at 5:17 PM, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> > wrote: > > This is a great discussion of best practices and guidelines for 4D Projects > and I hope others chime in. It’s a new world for many of us. I would like to > start using Project Mode, but our apps have hundreds (maybe thousands) of > highlight buttons, which are incompatible. If anyone has built an automated > or even semi-automated way to convert highlight buttons to 3D buttons, I’d > love to hear about it. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **