How SVN works wrt copies of versions
cephdon at gmail.com
Sun Dec 3 04:48:26 CET 2006
I trimmed the subject line....
Thank you for correcting me. =)
I have never seen the last commited verison in the local working directory
structure so I will have to check that out and see where its located.
On 12/2/06, EdorFaus <edorfaus at xepher.net> wrote:
> On 11/30/06, Tin Newsom <cephdon at gmail.com> wrote:
> > If you are keeping a copy of the current versions locally then diffing
> > sending only the diffs would be easy... but to my knowledge svn only
> > the diffs between versions at the repository. Someone who knowns please
> As far as I know, this is essentially correct - the repository contains
> original file, and the diff for each version since then. This is,
> enough to recreate any version.
> > correct me. If I understand what you are saying and based on my
> > knowledge...
> > You either keep an old version for diffing purposes and replace it with
> > current version when you do the commit. All changes happen to the
> > not the "old copy"
> I believe this is exactly what svn does. It certainly keeps a copy of the
> last-committed (or updated-to) version in every working copy, along with
> version being worked on. This allows it to do various things while
> > My understanding of svn is that it transmits the entire file and the svn
> > server does the diff and only stores the differences between the files
> > the repository. I could be wrong about that though.
> No, but I believe this is how CVS works - SVN on the other hand only
> the diffs in either direction, which is one of its selling points over CVS
> iirc one of the things the SVN developers didn't like about CVS that
> them to make SVN in the first place.
> (Note: this is from my admittedly faulty memory, so might not be correct.)
> > If you don't keep a repository locally then one way or another you will
> > to obtain a copy of the old version in order to just sync changes
> This being, I believe, one of the main reasons SVN does keep a copy (of
> latest-known-committed version) locally.
> Some other good reasons are things SVN can then do offline, e.g.
> - generating diffs (what exactly did I change this time?)
> - reverting a file (nono, that's no good, let me start over...)
> It can then also more easily update the working copy with new code from
> repository, by seeing local diffs vs diffs in the repository.
> It only keeps one previous version in the working copy though, so for
> comparing with or reverting to earlier versions, it must still be online.
> > Its an interesting thought.. does anyone know for sure if SVN sends back
> > only the changes and how it does that if it doesn't fetch the previous
> > version for comparison?
> See above. :)
> Just FYI, that it keeps a copy of the last version locally is something
> gotten quite familiar with through the use of grep... When I want to find
> something in the working copy, I usually grep whatever | grep -v .svn to
> avoid getting duplicates or finding things I've already changed locally :P
> > --Tim
> > btw.. I tend to over explain things so if I don't go far enough please
> > me (I am trying to cut back) ;-)
> > Also, feel free to correct me if I state something wrong.. I like to be
> > correct in my understanding and if I don't have all the necessary
> > information I would like to know what I am missing out on. ;-)
> Seconded. (iow, please apply the same to me.)
> OpenMoko community mailing list
> community at lists.openmoko.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the community