Re: [WebDNA] Version control (git or subversion) workflow for WebDNA
This WebDNA talk-list message is from 2012
It keeps the original formatting.
numero = 107943
interpreted = N
texte = > Hi all,>=20> I'm planning to start using Git or Subversion to manage version =control on my projects. How are people doing this - any workflow setup =suggestions would be great.>=20> - TomHi TomI don't think git has any special affinity for webdna, or vice versa.. =but:I waded into git headlong last summer.. and am 110% satisfied I did so; =well worth the learning curve! I never used svn, nor any other version =control (outside of duping every file I worked on and appended the name =of the old copy with the last modified date), ...so i can't compare.. =but git is *amazing* - the depth and features never seem to end. I have =to remember (as I often do in all topics coding) to stay focused on just =what I am wanting to do, as opposed to get to the bottom of every =tangential thought stream that inevitably comes up while doing anything =even slightly near the edge of my mastery envelope.Workflow? Um.. well I just keep a git repository ("repo") of/in the =parent dir for each of my projects... which includes at least a subdir =of the webroot for that site, as well a dir for all the misc. supporting =files (photoshop image source files, docs from the client, etc.).. and =after working in BBedit all day (Mac text editor) then nightly I "push" =to my backup HD's "bare repo" for that project (I have one partition of =the HD just for these backup repos), ... and (assuming the current state =of the code is ready to go live) I also push to the remote production =(or testing) server ... <--- I push to a bare repo which is generally =the type of repo you want to push to.. and in that bare repo I have a ="post-receive hook" (IIRC the name of that entity) that checks out =("checkout") all that code in the bare repo into the live production =webroot. I use the ".gitignore" file to keep track of which things I =do not want to push, when I do a push. I briefly looked into "git =submodules" so that I can push *everything* (incl. all support files) to =my backup HD, but then push *only* the files that make the live website =when I push to the remote production server.. but decided to not learn =git submodules just yet, and instead (for this particular project =anyway) break the total (local) project into 2 git repos.. one that I =use to push the support files to my backup HD, and the other repo which =pushes just the live site files to the the backup HD as well as to the =remote bare repo for auto-subsequent checkout to the live webroot. It =takes some time to get up to speed with all this.. but then the glorious =moment when all you have to do after a long day of editing a couple =dozen files, to make all your work 'go live', is one command: (e.g.)git push liveWeb...and voila! everything you worked on all day just got moved to all =the right places on the production server, live!There are at least a few good git GUI font ends in case you don't like =to drive from the command line.. but I used git to force me to learn =much more fluency in the CL.. and I am making a semi-educated guess that =you will get the most out of git if you do drive from the CL. The =features specific to "version control" are positively mind blowing when =you start to look deeper than what most coders probably normally use =(like 5% of what is there). The things git can do cover many types of =actions.. including (in my own works): backup, deployment, version =control, branching, checkout, etc.I could spend hours discussing the merits and features of the software, =but there is not time for that, and I am not even qualified to do it =justice ;-)Please ask specific Q's in case you want more.I have several good bookmarks as well.-Govinda=
Associated Messages, from the most recent to the oldest:
> Hi all,>=20> I'm planning to start using Git or Subversion to manage version =control on my projects. How are people doing this - any workflow setup =suggestions would be great.>=20> - TomHi TomI don't think git has any special affinity for webdna, or vice versa.. =but:I waded into git headlong last summer.. and am 110% satisfied I did so; =well worth the learning curve! I never used svn, nor any other version =control (outside of duping every file I worked on and appended the name =of the old copy with the last modified date), ...so i can't compare.. =but git is *amazing* - the depth and features never seem to end. I have =to remember (as I often do in all topics coding) to stay focused on just =what I am wanting to do, as opposed to get to the bottom of every =tangential thought stream that inevitably comes up while doing anything =even slightly near the edge of my mastery envelope.Workflow? Um.. well I just keep a git repository ("repo") of/in the =parent dir for each of my projects... which includes at least a subdir =of the webroot for that site, as well a dir for all the misc. supporting =files (photoshop image source files, docs from the client, etc.).. and =after working in BBedit all day (Mac text editor) then nightly I "push" =to my backup HD's "bare repo" for that project (I have one partition of =the HD just for these backup repos), ... and (assuming the current state =of the code is ready to go live) I also push to the remote production =(or testing) server ... <--- I push to a bare repo which is generally =the type of repo you want to push to.. and in that bare repo I have a ="post-receive hook" (IIRC the name of that entity) that checks out =("checkout") all that code in the bare repo into the live production =webroot. I use the ".gitignore" file to keep track of which things I =do not want to push, when I do a push. I briefly looked into "git =submodules" so that I can push *everything* (incl. all support files) to =my backup HD, but then push *only* the files that make the live website =when I push to the remote production server.. but decided to not learn =git submodules just yet, and instead (for this particular project =anyway) break the total (local) project into 2 git repos.. one that I =use to push the support files to my backup HD, and the other repo which =pushes just the live site files to the the backup HD as well as to the =remote bare repo for auto-subsequent checkout to the live webroot. It =takes some time to get up to speed with all this.. but then the glorious =moment when all you have to do after a long day of editing a couple =dozen files, to make all your work 'go live', is one command: (e.g.)git push liveWeb...and voila! everything you worked on all day just got moved to all =the right places on the production server, live!There are at least a few good git GUI font ends in case you don't like =to drive from the command line.. but I used git to force me to learn =much more fluency in the CL.. and I am making a semi-educated guess that =you will get the most out of git if you do drive from the CL. The =features specific to "version control" are positively mind blowing when =you start to look deeper than what most coders probably normally use =(like 5% of what is there). The things git can do cover many types of =actions.. including (in my own works): backup, deployment, version =control, branching, checkout, etc.I could spend hours discussing the merits and features of the software, =but there is not time for that, and I am not even qualified to do it =justice ;-)Please ask specific Q's in case you want more.I have several good bookmarks as well.-Govinda=
Govinda
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
international time (1997)
OFF-TOPIC: Lending investors ... (2002)
WebDNA Solutions ... sorry! (1997)
Trouble with formula.db + more explanation (1997)
Most Efficiant Way to do restricted Areas (1997)
select multiple (1997)
Cannot calculate prices (1997)
Pref settings? (1998)
Need relative path explanation (1997)
Reversed words (1997)
AuthenticateChecker (2000)
Note added to [sendmail] in Docs (2004)
Re:One more time (1997)
mac hack (1997)
ignore this test (1999)
Re(7): Small Bug: ErrorLog.txt/[FORMVARIABLES]/[ORDERFILE] (1998)
Multiple cart additions (1997)
WebCat2b12plugin - [search] is broken ... not! (1997)
Sku numbers (1997)
Languages (1997)