From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Narebski Subject: Re: two questions about the format of loose object Date: Mon, 01 Dec 2008 03:32:52 -0800 (PST) Message-ID: References: <493399B7.5000505@gmail.com> <7voczws3np.fsf@gitster.siamese.dyndns.org> <4933AE55.2090007@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Junio C Hamano , git list To: Liu Yubao X-From: git-owner@vger.kernel.org Mon Dec 01 12:34:13 2008 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1L772a-0006P2-7F for gcvg-git-2@gmane.org; Mon, 01 Dec 2008 12:34:12 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751351AbYLALcz (ORCPT ); Mon, 1 Dec 2008 06:32:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751337AbYLALcz (ORCPT ); Mon, 1 Dec 2008 06:32:55 -0500 Received: from ug-out-1314.google.com ([66.249.92.169]:32372 "EHLO ug-out-1314.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751324AbYLALcy (ORCPT ); Mon, 1 Dec 2008 06:32:54 -0500 Received: by ug-out-1314.google.com with SMTP id 39so2627349ugf.37 for ; Mon, 01 Dec 2008 03:32:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:received :x-authentication-warning:to:cc:subject:references:from:in-reply-to :message-id:lines:user-agent:mime-version:content-type:date; bh=UtBx9WOWbwjQS5IXKRjlHXQnUgemoFnOgBZlZuB0yws=; b=cPgAkcYt/lH1qjwPOw1na+7KB7alnGqSh9rVAd/J1euTWykAzBjQKAoF9AkJ8GPmZb JwdeuIzuRznO73/aYv7CLl0zBehmvYFoUgHrKIv3aEDFGtJZBOTtO8GQFxrVO7jaN6qg +3kW4sPwhSGWF01Gahe3zxudGGQsVmpz46shM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=x-authentication-warning:to:cc:subject:references:from:in-reply-to :message-id:lines:user-agent:mime-version:content-type:date; b=nXOwERB2t2utRqqFtsspVwnHDz4cRXCslas3lJbneG1y1lsQNDx83oHA0CpO98YBFG DcnA9a20toHK8b7xFmuUTMglIoSWADG42xYShGkLFDsTkGXEYMDOCbTRbDLyyIhtHZ/E y7fQH36X7nMr6EiG8SRz9FmtE0HMG+k90JjEM= Received: by 10.67.106.6 with SMTP id i6mr3252306ugm.49.1228131172732; Mon, 01 Dec 2008 03:32:52 -0800 (PST) Received: from localhost.localdomain (abwt156.neoplus.adsl.tpnet.pl [83.8.243.156]) by mx.google.com with ESMTPS id u6sm7981128uge.4.2008.12.01.03.32.50 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 01 Dec 2008 03:32:52 -0800 (PST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.13.4/8.13.4) with ESMTP id mB1BWNZi008624; Mon, 1 Dec 2008 12:32:33 +0100 Received: (from jnareb@localhost) by localhost.localdomain (8.13.4/8.13.4/Submit) id mB1BW66c008620; Mon, 1 Dec 2008 12:32:06 +0100 X-Authentication-Warning: localhost.localdomain: jnareb set sender to jnareb@gmail.com using -f In-Reply-To: <4933AE55.2090007@gmail.com> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Liu Yubao writes: > Junio C Hamano wrote: > > Liu Yubao writes: > > > > A hint for understanding why loose objects are compressed is that > > packfiles were invented much later in the history of git. > > > > These are both good questions, and it might have made a difference if they > > were posed in early April 2005. > > > > At this point, the plain and clear answer to both of these "Why not" > > questions is "because that is the way it is and it is costly to change > > them now in thousands of repositories people use every day." [...] > > Thanks for your explanation, but I doubt if it's too costly to change the > format of loose object, after all this doesn't change the format of pack > file and affect git-pull/fetch of old git client. [...] > cons: > > * old git client can't read loose objects in new format > (People degrade git rarely and old git can read pack files > generated by new git, so it's not a big problem) You forgot about "dumb" protocols, namely HTTP and (deprecated) rsync (and IIRC also FTP), which doesn't generate packfiles, and would get loose object in format intelligible for old clients. IIRC this was main reason why core.legacyHeaders = false was abandoned. -- Jakub Narebski Poland ShadeHawk on #git