Official git export

Ulrich Spörlein uqs at spoerlein.net
Tue Aug 30 20:14:00 UTC 2011


On Tue, 2011-08-30 at 03:57:28 +0200, K. Macy wrote:
> > With a distributed system one spends all sorts of time making sure that what
> > YOU think
> > is in release X is what the guy you are helping debug thinks is in it..
> >
> > Gone is the ability to say "That came in with rev 23456 so if you are later
> > than that you have it."
> >
> > p4 does a much better job of merging between branches etc because it has teh
> > big picture.
> > and you always know that if someone has change X that he also has change Y.
> >
> > Eventually one gets around these problems with distributed systems
> > by using the distributed system to simulate a non distributed system.
> >
> 
> In order to maximize the value of this discussion it would be helpful
> to identify what we're collectively seeking to accomplish.
> 
> The value that I see in git is as a replacement for what FreeBSD
> developers use / used perforce for: Independent project development
> outside of the main tree. While svn makes this much easier than CVS
> ever did, git makes it easier still. Questions of what is canonical or
> not are irrelevant when the objective is to increase parallelism and
> small scale coordination between developers. The two problems that I
> see are:
> 1) FreeBSD has a lot of history by git standards
> 2) the /usr/src tree is too inclusive when one's main concern is, say,
> working on part of the kernel that may break ABIs
> 
> Being able to control how far back in time one's repo goes and being
> able to have some control over views would go a long way towards
> streamlining its use for FreeBSD.

Utterly irrelevant. A partial checkout won't make git noticeably
faster, as it is pretty darn fast already. Believe me. A truncated
history might save you up to 150MB, also totally not worth the effort,
especially because then your custom git repo has different hashes and
fetching/merging other peoples branches becomes impossible.

Furthermore, the point with git is to have multiple branches in your
workspace and switch between them (again, this is frigging fast). I was
juggling 8-10 branches at one time and have never had the need to create
a second workspace ('git stash' being the keyword here).

Please have a look at http://wiki.freebsd.org/GitWorkflow and try it
out!

Uli


More information about the freebsd-arch mailing list