On Wed, 4 Sep 2013 21:17:39 +0400 Konstantin Khomoutov <flatw...@users.sourceforge.net> wrote:
> > My organization is thinking about Git as a repository for FM+SMGL > > source (binary) files. We have very minimal requirements: > > > > * ability to check in / check out multiple files at the same time > > Yes. After re-reading your question with a fresher state of mind, I now think you might be confused about how DVCS works, and so you might either reconsider your intention to use a system of this class or adjust your expectations about it. A hallmark property of a DVCS is that each repository has the complete history with all the commits comprising it. This means commits (recording new revisions) only ever happen in the repository itself, and each commit captures a complete state of the project. This means, you can't really "check out" several files "from" a DVCS (to some place), edit them and then "check them in", making a DVCS record a synthetic commit based on these files only and everything else. This kind of thing is doable with Subversion, for instance, where you are able to check out just a single directory out of the whole project and commit just a single file, making the server synthesize a commit representing a full project state no one yet have seen locally. In Git, you can normally (but see below) only check out a single branch (or a specific commit), and this action does two things: * The work tree -- a place where the checked out files are stored, and where you modify them -- is populated by the state of the *whole* project as recorded in the commit being checked out. * The staging area -- a special place from which a commit is made -- is populated with the state of files checked out into the work tree. That is, normally your work tree has the entire project checked out, and that's how Git works. Now there's a special Git feature called "sparse checkouts" [1] -- when enabled for a repository, it allows you to only check out an explicitly configured set of directories to not waste the space under the work tree. There seems to be no way to only check out specific sets of separate files using this feature though. [...] 1. http://briancoyner.github.io/blog/2013/06/05/git-sparse-checkout/ -- 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.