I will have to note that you seem to have a non-standard definition of version control. git, and other version control software such as Subversion, Mercurial, CVS, Visual Source Safe (or whatever MS calls it), don't track all changes to every file every time the file is modified. They only supply commands so that, at the direction of a user, a "snapshot" of the file(s) can be taken and tracked. With git, this is the "git add" and "git commit" commands. The "git commit" is what takes the actual snapshot. The "git add" puts the contents of the files to be updated/added in the snapshot into the "index". The "git commit" actually snapshots the "index" information into the local git "data base" (kept in the .git subdirectory) . Perhaps, you eventually update the bare repository using a "git push" command. Assuming you even keep a bare directory. On some of my personal stuff, I don't because I don't share it with others.
Neither is git a security system. If you have been granted write access to a file, it is done using the host operating system's security mechanisms; whatever they may be. In Linux, that is with attributes, ACLS and maybe SELinux profiles. I don't know Windows. But the git software itself is not designed to stop you. That is the OS's responsibility. What it sounds like you want is a versioning file system. That is a file system which keeps old versions of a file each time you modify it, and usually has commands to revert to a previous version. ref: http://en.wikipedia.org/wiki/Versioning_file_system The only system which I have ever used which had this was long ago. It was called TOPS-20 and ran on a DEC System-20 machine. Every time you changed a file, the old version got a version number attached to it and the new version got the old name. So you could go back to previous versions using various commands. Now, if for some reason I wanted such a thing, I could likely implement something in Linux using incrond. This software allows you to specify a command to be run every time a monitored file or file in a subdirectory is changed. So if you wanted to use it, you would monitor the subdirectory so that when a file was changed a "git add -A ." and and "git commit -m 'some comment'" would automatically be issued. ref: http://inotify.aiken.cz/?section=incron&page=doc But this is not a standard part of git. It is simply not part of the design. And I don't even know if something like this could be implemented in Windows. On Fri, Jun 28, 2013 at 2:07 PM, Ed Pataky <ed.pat...@gmail.com> wrote: > One thing I am concerned about is that it seems like there is no > protection from someone in via ftp and changing files .. i assumed that > version control meant that the files are protected .. why doesn't git > protect the files? What i mean is, this seems to only work if everyone > does it correctly .. but if someone simply goes in by ftp and modifies > files, then git has no "control" over that .. is this correct? > > -- This is a test of the Emergency Broadcast System. If this had been an actual emergency, do you really think we'd stick around to tell you? Maranatha! <>< John McKown -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.