From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Feng Shu" Newsgroups: gmane.emacs.devel Subject: Re: Some question about external method of elpa Date: Mon, 17 Dec 2018 21:41:25 +0800 Message-ID: <87d0q0w9ru.fsf@163.com> References: <87a7l7397k.fsf@163.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1545054040 4200 195.159.176.226 (17 Dec 2018 13:40:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 17 Dec 2018 13:40:40 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 17 14:40:36 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gYt8N-0000xi-91 for ged-emacs-devel@m.gmane.org; Mon, 17 Dec 2018 14:40:35 +0100 Original-Received: from localhost ([::1]:46901 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gYtAT-000481-TA for ged-emacs-devel@m.gmane.org; Mon, 17 Dec 2018 08:42:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gYt9P-00046m-1X for emacs-devel@gnu.org; Mon, 17 Dec 2018 08:41:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gYt9L-0001Gi-1q for emacs-devel@gnu.org; Mon, 17 Dec 2018 08:41:39 -0500 Original-Received: from m12-18.163.com ([220.181.12.18]:56352) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gYt9K-0001BF-5N for emacs-devel@gnu.org; Mon, 17 Dec 2018 08:41:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version; bh=E3IGF NH44LxKu2a1DoAZhRY2au1gsP+12HEiF9UhrwA=; b=pn16x5yTdScDjuqeJBn0b aT4colLLJZPrlNLwRciAB5XuhrYxcB6WWp1phJuMi+r48YjAeKPiDNGvn5B5Pnvx NRdvicVPJK/q1AnfiTTqPtAClBay3p4aP2T1U788ex5Qe+OxrRka1GGgyRqaZyFg MD50lScHxkyevkD/1p0JnE= Original-Received: from tumashu (unknown [112.3.135.227]) by smtp14 (Coremail) with SMTP id EsCowABXjlyGpxdcgwxIFg--.25400S2; Mon, 17 Dec 2018 21:41:28 +0800 (CST) In-Reply-To: (Stefan Monnier's message of "Sun, 16 Dec 2018 23:06:31 -0500") X-CM-TRANSID: EsCowABXjlyGpxdcgwxIFg--.25400S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxAr43Zr4rZFyrAw1UJryrJFb_yoW5WFy7pF ZIgr18tr4kGFyS93sxWF18u3Wrtrs5ArWUKFyDXrnxtwn8WryfA34ftFW5CF9F9ryav3Wj yF4UJayYkw1qvaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jVoGQUUUUU= X-Originating-IP: [112.3.135.227] X-CM-SenderInfo: 5wxpt2lkx6il2tof0z/1tbiRQkg1Fl9nzFR+wAAsY X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 220.181.12.18 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:231875 Archived-At: Stefan Monnier writes: >> 1. Does elpa cron auto call "make external" or similar process to >> check out all the external packages? > > Pretty much, yes. This is important info, suggest add it to README. > >> 2. If cron auto checkout external packages, does package author need >> manual-checkout? > > I don't understand the question. When? Where? When I read the below part of README, I think that manual run "make externals" is needed :-(, so I think externals is same complicated as subtree. Now, I have know that when I use external my code is managed in posframe.git, and push to remote elpa, I do not need download elpa.git, why I need "make externals" if cron auto run it ? #+BEGIN_COMMENT To add a new externals package, first add this `elpa.git' repository as a new remote in your existing repository. Then push a local branch to a new remote branch in `elpa.git', named externals/. For example: git push elpa :externals/ Then edit the `externals-list' file as mentioned above, and push that change to `elpa's master branch. You can check out all the external packages into the `packages' directory with the command: make externals You can check out a specific external PACKAGE into the `packages' directory with these commands: #+END_COMMENT > >> 3. Does subtree method have any advanced than external branch? > > It's different, not really better. It's most appropriate when you > intend to move the "upstream" from elsewhere to elpa.git. This info is very important, suggest add to README When I first import posframe to elpa.git, I do not know what different between subtree and externals, I choice subtree for the below line: If know you don't want a local package, but don't know which of these two options you prefer, then use a subtree. I think many package author choice subtree instead of externals for this info :-) > >> if no, what about obsolote this method? In my opinion, subtree >> seem to very hard to manage. > > If you keep developing your package elsewhere, a "subtree" is indeed > more work than an "external". > >> 4. I use subtree to manage posframe package, but I want to switch >> to external branch method, how to work? > > 1- Create the new externals/posframe branch on elpa.git > 2- Then "git rm package/posframe" and change the ":subtree" to > a ":external" in "externals-list". > 3- Then push those changes you created at step (2) to the `master` branch > of elpa.git. > > That's pretty much it on your side (I'll probably have to do some clean > on elpa.gnu.org in response to that, tho I keep hoping that I finally > fixed the last issue in the scripts to handle this situation). > >> what about create a subtree2external command? > > The demand hasn't been very high, so I wouldn't bother, but fee free to > add one to elpa.git's "admin/" subdirectory. > > > Stefan --