unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Andreas Schwab <schwab@linux-m68k.org>, emacs-devel@gnu.org
Subject: Re: Git version of ELPA
Date: Mon, 12 Aug 2013 19:23:43 +0300	[thread overview]
Message-ID: <52090C0F.4020508@yandex.ru> (raw)
In-Reply-To: <jwvfvufq6rh.fsf-monnier+emacs@gnu.org>

On 12.08.2013 18:24, Stefan Monnier wrote:
>> So, you've tried merging commits from upstream that include files not
>> present in ELPA? And splitting commits from ELPA to push them to upstream
>> repositories? And both work fine?
>
> Haven't tested any of them, since neither of them is supported by the
> current Bazaar setup: it can't be worse than what we have in this respect.

I'm making this emphasis because git subtree has been mentioned several 
times, and its apparent advantages include being able to merge in both 
directions. If you don't have external repos' histories, apparently 
splitting commits and pushing them back won't work:

http://stackoverflow.com/questions/5760331/git-subtree-is-not-retaining-history-so-i-cannot-push-subtree-changes-how-can-i

>>> Of course, if there's a better Git tree available, I'll happily switch
>>> to that one.
>> A little while back Jorgen wrote a recipe how to do that:
>> http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00235.html
>> I've yet to wrap my head around this git subtree business properly, but if
>> it helps, I can try to follow it myself, and publish the result.
>
> That would be nice.  I did not insist on it, because my tests showed
> that you can "subtree merge" an external branch after-the-fact: with
> Bazaar this resulted in serious problems, whereas with Git this is
> handled sanely (not as well as having the external branch merged
> right from the start, of course, but good enough).

With Bazaar, I always just copied the most recent versions of files in a 
package, more or less manually, then marked them in `vc-dir' buffer and 
committed the result as the new revision. I don't think that doing only 
a little better than that is good enough.

>> It raises a few questions, though. Up until now, the elpa branch has been
>> receiving its contents in preprocessed form:
>> 1) Some files and directories removed.
>> 2) -pkg.el files pre-generated and included.
>
> The `elpa' code will always tend to include local changes.  Less is
> better, but they're a fact of life.

Inside package directories? How necessary is that? If you mean bugfixes 
touching several packages at once, they should be prime candidates for 
splitting and pushing upstream (I think git subtree supports that, not 
100% sure).

On the subject of extra files, more specifically:
1) Can we do without README and -pkg.el files?
2) Can we handle having README.md (and probably other formats), 
.travis.yml, Makefile, extra dirs and .el files not meant for end users? 
Like `doc', `extras', `yasnippet-debug.el' and `yasnippet-tests.el' in 
the yasnippet repository on GitHub.

Probably not, but Melpa does this okay. Aside from not having to pull 
from hundreds of external repositories, I think ELPA should work the 
same way (but also retain and use the Version header values).

If implementing it is going to be a lot of work, are we willing to take 
package-build.el from the Melpa project and adapt it, or reuse some of 
its pieces? If maybe, do we care about copyright assignments for its code?

>> For example, just compare
>> http://repo.or.cz/w/emacs.git/tree/dbb5d60608ae6b99910b0c374f82b63fde526abf:/packages/yasnippet
>> and
>> https://github.com/capitaomorte/yasnippet/
>
> yasnippet is a problem, indeed.  Someone needs to sync up the two trees
> (and take responsibility to keep them in sync in the future).

We can try to ping Joao, but that's a separate issue.

My intention here was to illustrate the difference between the file 
trees, not between their contents.



  reply	other threads:[~2013-08-12 16:23 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-01 17:54 Git version of ELPA Stefan Monnier
2013-08-02 10:30 ` Andreas Schwab
2013-08-02 17:22   ` Stefan Monnier
2013-08-02 21:32     ` Andreas Schwab
2013-08-03  4:28       ` Stefan Monnier
2013-08-03  8:19         ` Eli Zaretskii
2013-08-11 22:08         ` Dmitry Gutov
2013-08-12  1:10           ` Stefan Monnier
2013-08-12  2:04             ` Stefan Monnier
2013-08-12  6:17             ` Dmitry Gutov
2013-08-12 15:24               ` Stefan Monnier
2013-08-12 16:23                 ` Dmitry Gutov [this message]
2013-08-13  1:42                   ` Stefan Monnier
2013-08-14  9:17                     ` Dmitry Gutov
2013-08-14 15:30                       ` Stefan Monnier
2013-08-14 16:48                         ` Dmitry Gutov
2013-08-14 19:02                           ` Stefan Monnier
2013-08-14 20:46                             ` Dmitry Gutov
2013-08-16 23:04                               ` Dmitry Gutov
2013-08-15  4:08                             ` Stephen J. Turnbull
2013-08-15 18:38                               ` Achim Gratz
2013-08-17  0:59                         ` Dmitry Gutov
2013-08-13  5:16                   ` Achim Gratz
2013-08-14  9:46                     ` Dmitry Gutov
2013-08-14 18:13                       ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52090C0F.4020508@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).