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.


Reply via email to