I learned a lesson this week: it's called good manners when it comes to the subversion repository. Apparently it does not like it when you just randomly delete files on your local system, add in new ones, and then try to check them in. It throws up its hands in horror and red flags go up everywhere. Go figure.
It all started when I started working on a revamp of our website. I copied my local website on my laptop, and then working from there, created an entire new website structure and design on my local machine. Fired it off back and forth with a design company working on our new home page and menu bar, and never gave a thought to my existing website that was merrily being checked in and out of subversion (using Coda).
When it came to uploading the new site and flipping the switch...I simply deleted the old site using Finder and added the new.
This was really the wrong thing to do. Really wrong. For a couple of reasons:
First of all, in doing this, I also deleted the .svn files (hidden). The removed files also had not been correctly deleted in the repository...so it thought they were still there, but had red flagged them as missing.
Secondly, about five months previously some other changes had been done to our site by another website company and the changes had been made on the server. I did not get a list of changes made to the site and I was unaware that certain folders and files had not been downloaded and committed to subversion, because I did not know they had been changed or added.
This means that when I copied my local folder to work on recreating a new website, I then missed these files. The local copy I handed off to the new website company for further changes and we all merrily went on our way not realizing that certain folders and files had not been downloaded and checked in.
In short, the entire thing was a mess and took about three hours to clean up in the subversion, plus another five hours tracking down the previous changes that had been lost in the process.
Lesson learned. Real good.
In the future, I will treat my subversion repository with a lot more respect. I hereby decree that from now on, I will:
In short, I promise to understand how subversion works and treat it with respect. I swear.
It all started when I started working on a revamp of our website. I copied my local website on my laptop, and then working from there, created an entire new website structure and design on my local machine. Fired it off back and forth with a design company working on our new home page and menu bar, and never gave a thought to my existing website that was merrily being checked in and out of subversion (using Coda).
When it came to uploading the new site and flipping the switch...I simply deleted the old site using Finder and added the new.
This was really the wrong thing to do. Really wrong. For a couple of reasons:
First of all, in doing this, I also deleted the .svn files (hidden). The removed files also had not been correctly deleted in the repository...so it thought they were still there, but had red flagged them as missing.
Secondly, about five months previously some other changes had been done to our site by another website company and the changes had been made on the server. I did not get a list of changes made to the site and I was unaware that certain folders and files had not been downloaded and committed to subversion, because I did not know they had been changed or added.
This means that when I copied my local folder to work on recreating a new website, I then missed these files. The local copy I handed off to the new website company for further changes and we all merrily went on our way not realizing that certain folders and files had not been downloaded and checked in.
In short, the entire thing was a mess and took about three hours to clean up in the subversion, plus another five hours tracking down the previous changes that had been lost in the process.
Lesson learned. Real good.
In the future, I will treat my subversion repository with a lot more respect. I hereby decree that from now on, I will:
- not allow anyone to make server side changes without letting me know what they've changed and what I need to download and commit
- download the entire site, if server side changes do occur and i'm unsure whether or not I've got them all, and carefully commit all changes into the subversion
- I will no longer delete folders and files in my local copy using Finder
- If I delete files and folders I'll do it in Coda, and appropriately delete them in the subversion
- I will carefully monitor my subversion repository and address any red flags when they arise