On 29 Sep 2012, Darrell Anderson outgrape: > So checkout only creates a viewing illusion. That is, the package > sources remain the same as the most recent re-sync and only the view a > person has is different. Well, that's only true inasmuch as *everything* a version control system shows you is an 'illusion' and the *real* content is a bunch of gzipped loose objects and packfiles underneath .git/objects. That's irrelevant, though -- nobody works with those. Everybody works with the working copy, and that's what 'git checkout' switches between. > As my build scripts just copy the package sources directly from GIT, i.e. they copy them from the working tree. That's what 'git checkout' updates, so you're fine. (Unless, of course, you mean it's getting them from gitweb or something. I presume not becasue that would be just crazy :) ) > I am not grasping how my build scripts can distinguish the difference. > I understand how my eyes distinguish the difference because GIT > creates the illusion of what I am allowed to see. Yet the underlying > sources in the package tree remain exactly the same. Nope. 'git checkout' switches those sources to the sources as they were at the requested commit. (It carries uncommitted changes over into the new tree, as best it can, and refuses to switch if it would lose them.) -- NULL && (void)