From: Petr Baudis Date: Wed, 18 Oct 2006 00:42:09 GMT Subject: Re: VCS comparison table Message-ID: <20061018004209.GL20017__44651.6417236582$1161134941$gmane$org@pasky.or.cz> In-Reply-To: <4535778D.40006@utoronto.ca> Dear diary, on Wed, Oct 18, 2006 at 02:38:37AM CEST, I got a letter where Aaron Bentley said that... > Petr Baudis wrote: > >> this only makes sense if > >> you have a fast access to the repository (otherwise, you consider your > >> local repository as a cache, and you're ready to pay the disk space > >> price to save your bandwidth). In this case, it's often in your > >> filesystem (local or NFS). > > > > So how is the light checkout actually implemented? Do you grab the > > complete new snapshot each time the remote repository is updated? > > No, the lightweight checkouts store very little. They have > - a copy of tree shape (filenames, paths, sha1 sums) from the last > commit. > - a copy of tree shape for the current working directory > - a map from stat values to sha-1 hashes I see, I guess that means "the index file and tree objects for the last commit" in git-speak. Thanks. > > Do all > > the (at least read-only, like "log" and "diff", perhaps "status") > > commands work on such a light checkout? > > Yes. And if you check out from a read-write branch, all write commands, > work, too. Ok, one last question - do you do most of the work locally, fetching bits of data as you need, or remotely, only taking input/producing output over the network (the pserver model)? -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i