{"id":512,"date":"2007-03-02T11:23:43","date_gmt":"2007-03-02T15:23:43","guid":{"rendered":"http:\/\/www.wehuberconsultingllc.com\/wordpress\/?p=512"},"modified":"2007-04-21T19:39:52","modified_gmt":"2007-04-21T23:39:52","slug":"using-version-control-to-manage-web-site-changes","status":"publish","type":"post","link":"https:\/\/wehuberconsultingllc.com\/wordpress\/2007\/03\/02\/using-version-control-to-manage-web-site-changes\/","title":{"rendered":"Using Version Control to Manage Web Site Changes"},"content":{"rendered":"<p>A while back I decided that Version Control software was a better way for me to manage web site changes. This adds a little bit more documentation and incremental control over the daily backups. For small shops Version Control looks like overkill but it is simple to use. So I bit the bullet and setup a <a title=\"Setting up a Subversion repository on a Windows-based computer\" href=\"http:\/\/www.wehuberconsultingllc.com\/wordpress\/?p=446\">Subversion repository on my Windows-based computer<\/a>. Initially I thought I would only keep my theme customizations and content in the repository but I eventually decided to keep the entire directory. Today I decided to document the process I use to update a website. In this case I am upgrading WordPress from 2.1 to 2.1.1 with a zipped file of changed files. I will be using several open source programs in addition to <a title=\"Subversion\" href=\"http:\/\/subversion.tigris.org\/\">Subversion<\/a> and <a title=\"TortoiseSVN\" href=\"http:\/\/tortoisesvn.tigris.org\/\">TortoiseSVN<\/a>. I will be using <a title=\"WinMerge\" href=\"http:\/\/winmerge.org\/\">WinMerge<\/a> to compare directories and <a title=\"FileZilla\" href=\"http:\/\/filezilla.sourceforge.net\/\">FileZilla<\/a> to upload the files. There are many suitable programs for these tasks. These are the ones I used.<\/p>\n<h4>Step 1 &#8211; Update your working copies<\/h4>\n<p>Use TortoiseSVN to retrieve a clean working copy from the repository.<\/p>\n<h4>Step 2 &#8211; Download the updated files and expand into directories<\/h4>\n<p>In my case the updated 2.1.1 files are in a zip file which follows the WordPress directory structure. I download the file and expand it into directories. I also print the updated file list. I am going to use the file list as my check list for the rest of the process. Stuff happens!<\/p>\n<h4>Step 3 &#8211; Compare the directories and update the files.<\/h4>\n<p>I use WinMerge as a quick check to compare the directories. I have projects set up to automate my comparison settings. It should show that the files I am updating are the ones on the file list. Surprisingly I find I am missing a couple of files shown on the changed file list. I opt to download the full source and add the missing updated files to my updates. I use WinMerge to copy the changed files over the repository files.<\/p>\n<h4>&nbsp;Step 4 &#8211; Update the website<\/h4>\n<p>In this step I use FileZilla and the file list to upload the changed files. It is a real plus that my host provider allows me to use sFTP. Every extra bit of security helps keep the hackers away.&nbsp;Since this is a minor update I will leave all of my plugins active during the upgrade. WordPress recommends that you deactivate your plugins before updating in case you run into problems. I sort the local directory based on&nbsp;Last Modified date so that the changed files are on the&nbsp;top and easier to find. I move from directory to directory updating the changed files. FileZilla continually reminds me that I am overwriting existing files. That is good. There are only four directories and twenty file so the process goes quickly. When I have finished uploading the files I go to my browser and click on the Site Admin link in WordPress.&nbsp;It prompts me with links to complete the upgrade. This is normal. I follow the links and finish&nbsp;updating the site within a minute. I do a quick check of the website to make sure everything is still working. I have finished updating the web site.<\/p>\n<h4>Step 5 &#8211; Commit the changes to the repository<\/h4>\n<p>I use TortoiseSVN to commit the changes and with a description. When I am finished I use TortoiseSVN to check the log and make sure that the&nbsp; description I just added makes sense. This is probably the last time I will look at the description until I need to understand it sometime in the future. I am happy with what I wrote so I move on to my other projects.<\/p>\n<p>Technorati tags: <a href=\"http:\/\/technorati.com\/tags\/web%20design\" rel=\"tag\">web design<\/a>, <a href=\"http:\/\/technorati.com\/tags\/open-source\" rel=\"tag\">open-source<\/a>, <a href=\"http:\/\/technorati.com\/tags\/wordpress\" rel=\"tag\">wordpress<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while back I decided that Version Control software was a better way for me to manage web site changes. This adds a little bit more documentation and incremental control over the daily backups. For small shops Version Control looks like overkill but it is simple to use. So I bit the bullet and setup &hellip; <a href=\"https:\/\/wehuberconsultingllc.com\/wordpress\/2007\/03\/02\/using-version-control-to-manage-web-site-changes\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Using Version Control to Manage Web Site Changes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2,7,3],"tags":[129,16,123],"class_list":["post-512","post","type-post","status-publish","format-standard","hentry","category-css","category-open-source","category-wordpress","tag-open-source","tag-webdesign","tag-wordpress"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4iN3d-8g","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/comments?post=512"}],"version-history":[{"count":0,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/512\/revisions"}],"wp:attachment":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/media?parent=512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/categories?post=512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/tags?post=512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}