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:
WC2.0 Memory Requirements (1997)
AE aware WebCatalog.acgi? (1997)
Security Hole (1998)
Can this be done? (1997)
WebCat2b13MacPlugIn - [showif][search][/showif] (1997)
lookups (2000)
Still Stumped on ShowNext...HELP! (1997)
Reversed words (1997)
Newbie from and old bee (1997)
Cart Number Propagation (1997)
WebCat2b15MacPlugin - [protect] (1997)
Flat-file to XML converter (2006)
Fwd: FW: Purchase Command error (1997)
[Replace] (2000)
[WebDNA] Some code inside a large loops fail ... but why? (2010)
Post arguments problem mac? (1997)
A little syntax help (1997)
WebMerchant 1.6 and SHTML (1997)
taxrate - off by 1 cent (1997)
webcat (2000)