views:

39

answers:

3

I do some part-time web design work with some other people, and they don't use subversion/any sort of version-control. However, I would like to. Is there some sort of system (perhaps I can use GIT on my local machine for this...?) that would let me not only keep track of my own personal versions of the files, but also the version of the file that I download from the server as well? (basically, I re-download the html/php files every time I work on them, and I want some way to automatically have the downloaded file be kept in my version control so that I'm not only keep track of the changes I make, but also the changes people finally uploaded to the server without having them directly contribute to subversion). Would GIT be appropriate for this? Or is there a better solution?

A: 

I would (and do) use a configuration management system like Chef to deploy configurations and applications to the servers, and maintain a Git repository of all the code and the configuration.

But that's a pretty heavyweight solution :). You could use Git and use a separate branch to gather the config files from the server, make your changes, do merges, etc.

jtimberman
A: 

Have you tried to convince the other folks about the value of version control? If you have a web server then you can install it on that computer and show them a demo. I'm a web developer myself and I found that once you demystify what it is, most developer find that they can't live without it.

Paulo
if i install subversion, is there a 'folder' where all the 'subversioned' files go? or can i say, 'keep track of this directory, etc' so that I can directly version control the files that are being hosted themselves and not duplicates somewhere other than the WWW/htdocs file?
hatorade
@hatorade I'd recommend reading the wikipedia article on subversion. In terms of your question, subversion manages a directory and stores information about that directory. You have a central repository (remote system) that is central all developers and your Working Copy (local) can get updates and put changes onto that repository. I use Coda for my web development which can work with subversion repositories. Additionally, apps such as Cornerstone let you manage multiple repositories. Both are great programs.
Paulo
+1  A: 

Any version control system that can handle binary as well as ascii files will do. Subversion and git are popular open source choices. Both would allow you to manage you repository locally, most of the features that make git great for distributed development are not really applicable to your situation.

If you are new to version control, subversion may be easier to understand the concept of branching, only because it feels like a file copy or move command. If you're inclined to try git, I'd say go for it. I guarantee you won't ever wake up one night and say to yourself, "Wow, was I ever an idiot for putting all my work under revision control."

DaveParillo