Bazaar for webdesign
I just began to use bazaar
to manage this website and www.uncreated.net
. Right now this is only to keep track of changes and have a convenient way to upload all the changes I do at once, but in the future I have several more advanced ideas to play with.
There are a lot of Version control
systems out there, but bazaar has the advantage to be of the recent (decentralized) generation, meaning you can have several concurrent easy to merge branches (every local copy is more or less a branch) and also to be able to upload to a dumb server, where no special software must be installed. This is what I use here.
Basically the procedure is very simple if you already used other VCS systems such as Git or Subversion:
cd myWebSite # go to your website root
bzr init # this creates a repository
bzr ignore *.xcf # before adding files, ignore everything you won't need to keep track of
bzr add . # add everything
bzr commit -m "First commit" # commit your changes
bzr upload --auto --remember sftp://firstname.lastname@example.org
The last line will upload everything on the server. The upload command is a plugin for bazaar, which you might need to install separately. After that, everytime you commit, the changes will be uploaded (thanks to the --auto switch). but yo ucan also do it manually with:
The server location will be remembered from last time. In case you have a very large website, and it is online already, you might not want to re-upload everything on first commit. To solve that, there is an easy trick:
bzr upload /home/user/tmp # this will upload everything in a local folder
exit # exit sftp
cd myWebSite # go back to your site root
bzr upload --remember sftp://email@example.com
Now bazaar will find a bazaar revision id on your remote site, and only upload the changes.
Finally, if you don't like the command line, bazaar has several GUI interfaces, such as qbzr
which allow you to do all the above the elegant (but not as powerful) way:
: My installation of bazaar has a bug that prevents using sftp correctly... I made a little patch available here