From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LyS6K-00044l-Lx for qemu-devel@nongnu.org; Mon, 27 Apr 2009 10:46:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LyS6G-000434-0E for qemu-devel@nongnu.org; Mon, 27 Apr 2009 10:46:32 -0400 Received: from [199.232.76.173] (port=55441 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LyS6F-00042x-N4 for qemu-devel@nongnu.org; Mon, 27 Apr 2009 10:46:27 -0400 Received: from bsdimp.com ([199.45.160.85]:56013 helo=harmony.bsdimp.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LyS6E-0006vP-Ul for qemu-devel@nongnu.org; Mon, 27 Apr 2009 10:46:27 -0400 Date: Mon, 27 Apr 2009 08:42:22 -0600 (MDT) Message-Id: <20090427.084222.-1632644727.imp@bsdimp.com> Subject: Re: [Qemu-devel] Switch to GIT. Why? From: "M. Warner Losh" In-Reply-To: <20090427142237.GV3795@csclub.uwaterloo.ca> References: <20090427131059.GT3795@csclub.uwaterloo.ca> <20090427.075432.756921142.imp@bsdimp.com> <20090427142237.GV3795@csclub.uwaterloo.ca> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: lsorense@csclub.uwaterloo.ca Cc: mle+tools@mega-nerd.com, qemu-devel@nongnu.org In message: <20090427142237.GV3795@csclub.uwaterloo.ca> lsorense@csclub.uwaterloo.ca (Lennart Sorensen) writes: : On Mon, Apr 27, 2009 at 07:54:32AM -0600, M. Warner Losh wrote: : > Yes. And that's why you can only check out entire trees, and never : > subtrees, with git and hg, but you can with svn. git and hg force a : > small view of the system to be its own repo. So something the size of : > X11 or FreeBSD could never use git or hg without breaking the : > integrated tree model. FreeBSD used svn to not break it because we : > like the development model we have (and think Linus' talk at google : > was very arrogant to suggest it was broken), while the X11 folks broke : > their tree up into lots of modules, and got out of the making sure it : > all worked together business (which makes integrating X11 into systems : > harder now, alas). : : It is certainly a tradeoff. Of course with svn, when you do a checkout, : you get one version of the code. If you want to search te history, : you have to talk to the server. With git a "checkout" (clone) gets you : everything, history and all. Makes searches and switching revisions : much faster, but makes the initial copy take much longer. : : What X11 did also made it much easier to fix bugs, since you can now : work on the smaller pieces and release them much easier than you can : release the whole thing. As for making sure it all works together, : I am not convinced it made it harder. Seems development and such has : gotten much faster and better as a result. It is no longer completely : overwhelming to work with. Heh, it never seemed overwhelming to me when I worked on it... : > For qemu, none of these issues are likely to be an issue, but it is : > something to keep in mind... : : True. Of course as long as you have one tree per application, even : freebsd should be able to work with something like git. Having one : giant tree for everything sounds nuts to me. No idea how they do it : (I can't stand the userland of BSD in general, so I don't work with it. : Good applications, good kernel, lousy setup. :) Debian kfreebsd may : change that of course.) One big tree works very well. One command builds the whole thing so updates are easy, but you can still go to a specific directory and just build that if you find a bug in ls. Things are stable enough that it is rare you'd want to just update one thing for a critical bug fix. It actually works very well and eliminates the version dependency problems you run into if you are using/building linux packages of whatever flavor... Warner