From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Nz2nT-00036v-Mn for garchives@archives.gentoo.org; Tue, 06 Apr 2010 07:02:04 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 84C4DE0901; Tue, 6 Apr 2010 07:02:00 +0000 (UTC) Received: from mail-pz0-f181.google.com (mail-pz0-f181.google.com [209.85.222.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 9FF1CE088F for ; Tue, 6 Apr 2010 07:01:51 +0000 (UTC) Received: by pzk11 with SMTP id 11so1348935pzk.32 for ; Tue, 06 Apr 2010 00:01:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:received:message-id:subject :from:to:content-type:content-transfer-encoding; bh=CXmhqp6lam1HRMl2U3YS7a42Pgs75QybnfZzX6rIi7U=; b=uVRRvXcS+fGd1GNzbwqqlQ6cXV585CEsc1Psacuti7hfUDLYsogq9eSNUIR45s5jKt qft6qGUpSrFoNTEZ+LU2beWPfW24OX9JjCFNhnLXN1Dsuc6OKQA89GPKYYlWV7M4EWXA D/xI/w3ebMKWxMLvPVRetx/QVA7SIEWJeJxRA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=xtyPe16xzy4MF4BBTivPfe30OMRjZ8v6sJky0h+aghcS749a32l8Qr+xhq5AsldAEb CeaNsuzC87uHPM1baZE4CAt3zOKXGqtT446AbzzQrQ73LuLYIYzBx7H4aVLov+dpOxl2 y4hIq+CGJDkaS2BSLdEmqT0fBIFtb+6xBLfUI= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Sender: nirbheek.chauhan@gmail.com Received: by 10.141.48.2 with HTTP; Tue, 6 Apr 2010 00:01:51 -0700 (PDT) In-Reply-To: <20100406064118.GW817@gentoo.org> References: <20100406064118.GW817@gentoo.org> Date: Tue, 6 Apr 2010 12:31:51 +0530 X-Google-Sender-Auth: 47adde6c48c98e61 Received: by 10.141.105.17 with SMTP id h17mr4840592rvm.293.1270537311153; Tue, 06 Apr 2010 00:01:51 -0700 (PDT) Message-ID: Subject: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation From: Nirbheek Chauhan To: gentoo-dev@lists.gentoo.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 5c5b557b-39d1-4391-afce-11e45d9b7048 X-Archives-Hash: e18b61ced7ebd8f20cc4032472ccb45c On Tue, Apr 6, 2010 at 12:11 PM, Fabian Groffen wrote: > On 06-04-2010 07:43:02 +0530, Nirbheek Chauhan wrote: >> * It makes zero sense to manually manage ChangeLogs in git[1] >> =C2=A0 - Irritating conflicts while merging branches or remote master >> =C2=A0 =C2=A0 + Similar argument for having only distfile manifests; but= I digress... >> =C2=A0 - Duplication of effort and information >> =C2=A0 - Saves space for local checkouts > > This seems to assume > a) that we will do branches, and > b) that those branches somehow are official and in use > No. Conflicts can arise (and I have seen them arise) trivially if you make changes and try to do a pull --rebase; which is then not fast-forward, and you're left with an ugly mess of conflicts on your hands. Say you're moving stuff from an overlay using git format-patch; how do you handle the conflicts it will generate to ChangeLogs and Manifests? Also, this is not the only reason to not use ChangeLogs. Trivial example purely for demonstrative purposes: Without ChangeLog: make change1; commit; test; realise it needs change2; commit; test; rebase commits; push With ChangeLog: make change1; write ChangeLog; commit; test; realise it needs change2; reset --hard ChangeLog HEAD^; rewrite ChangeLog; commit; test; rebase commits; push Now which is easier? Don't forget that the major reason for moving to git was the ability to make several local commits and pushing them in an atomic way; so you are bound to make mistakes and want to rebase. > If you really have lots of changes, you will find that many commits on > the other side will cause you conflicts, so the ChangeLog is just a very > small part of it. I bump an ebuild; arch team member marks older version stable. Two completely orthogonal changes that conflict now. With ChangeLogs, *every* *single* change you make conflicts. You do a rebase; and it conflicts! It's just stupid. Extreme example: profiles/ChangeLog >=C2=A0Conclusion, if you can, try hard to keep your changes > minimal, and preferably zero compared to the origin, gentoo-x86. > With the inevitable increased activity on the gentoo-x86 tree, this will become more and more difficult. --=20 ~Nirbheek Chauhan Gentoo GNOME+Mozilla Team