i got an off-list email about some possible pitfalls with git and i'd like to post my reply because it clarifies some stuff i glossed over in my last email for the sake of keeping it under 10 pages :)
> Chad, > > I'd be interested to know what you discover. I've only worked with > git a handful of times, but from my understanding it might not be > the perfect solution that you might hope. i'm not a pro yet either, but i'll try to respond to these with what i *think* i know, thus far. > > For one, it's currently very difficult to make git update anything > less than the entire repository at a time. You cannot, for > instance, update a few files while holding some other files back > while you're still making changes. every working copy is its own repository. there is no notion of a central repository. when you perform an update in git, you are only updating your repo, and i believe you are correct about not being able to choose which files you update. however, it takes another step to update your working files from your repo, and i believe that you can do this per file. will double check on this. > > > Secondly, as I understand it, although this might just be an aspect > of using the git-svn bridge, your 'checkout' will actually include > the entire change history of the repository. Which means you not > only have two copies of each file (as per your point about svn) but > many many times more. git provides a lot of control on this front, and its the reason i changed my mind on distributed version control, at least in git's case. there are 3 options which alleviate this problem in different ways. when you clone your repo from a source repo you can specify: --local: object files stored in .git will be hard links to those in the source repo (must be on the same file system) --shared: don't check out a repo at all, just use source repo (source repo must be at all times accessible and maintainer of source must not perform any cleanup that will corrupt cloned repos ) --depth: specify how many revisions to checkout. if you choose HEAD, then you only get the most recent versions of each file this discussion goes into great detail on the differences between shared and local, but it'll be awhile before i fully understand them: http://kerneltrap.org/mailarchive/git/2007/6/4/248230 i don't want to come across as a git poster-boy, because i still haven't given it a real-world test yet, but on paper it has all the features that i'm looking for, so here's hoping.... -chad --~--~---------~--~----~------------~-------~--~----~ Yours, Maya-Python Club Team. -~----------~----~----~----~------~----~------~--~---
