[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] elpa-admin 2ce3401 333/357: * README: Don't recommend to keep cod
From: |
Stefan Monnier |
Subject: |
[elpa] elpa-admin 2ce3401 333/357: * README: Don't recommend to keep code on `master` any more |
Date: |
Thu, 10 Dec 2020 18:07:09 -0500 (EST) |
branch: elpa-admin
commit 2ce34013d783c8a6f685c0674fc210fbf800d890
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* README: Don't recommend to keep code on `master` any more
---
README | 76 ++++++++++++++----------------------------------------------------
1 file changed, 16 insertions(+), 60 deletions(-)
diff --git a/README b/README
index d31e64e..e4068b6 100644
--- a/README
+++ b/README
@@ -48,11 +48,19 @@ Adding a basic package is very simple. There are thorough
instructions below, but the gist of it is that you:
1. Notify emacs-devel@gnu.org.
-2. Place all files inside `packages/<pkg-name>/'.
-3. `git add', `git commit' and `git push'.
+2. Push your package's code to its branch on elpa.git with:
+
+ git push elpa <mybranch>:refs/heads/externals/<pkgname>
+
+ where <mybranch> will probably be `master` for most people.
+
+3. Edit the `externals-list` file to add an entry for <pkgname>.
+ It has to have an `:external` property specified but that
+ property can be nil.
+4. `git add externals-list', `git commit' and `git push'.
If you don't have push access to the repository, someone will do steps
-2 and 3 for you.
+2-4 for you.
*** Notify emacs-devel@gnu.org
@@ -173,73 +181,21 @@ are maintained primarily here in the repository and are
fairly small.
The instructions below are for those maintainers who prefer to use a dedicated
repository or branch for the package or for largish packages.
-There are two ways to do that: "subtrees" and "externals".
-
-Either way, such packages should always be listed in the
-`externals-list' file.
-
-In both cases, a copy of the code is kept in the `elpa.git' repository
-(not necessarily in the master branch) and should be sync'd with the
+In any case, a copy of the code is kept in the `elpa.git' repository
+(not in the master branch) and should be sync'd with the
upstream every once in a while. This copy may include local changes,
although these should be kept to a minimum.
-If you don't know which of these two options you prefer, then use an
-"external" (and also if your package is large).
-
-*** Subtrees
-
-In the `subtree' case, the copy of the code is kept here in the master
-branch, inside its corresponding `packages/<pkg-name>' directory just
-as if it were a local package.
-
-In fact, a subtree package is essentially indistinguishable from a
-local package. The only difference is that, instead of developing it
-here, you do it in some remote repository and pull in the changes.
-
-Instead of manually creating the directory, you should be able to use:
-
- git subtree add --prefix=packages/<pkg-name> <remote-repo> <remote-branch>
-
-Later, when you make some changes to the remote and want to publish
-them here, simply do:
-
- git subtree pull --prefix=packages/<pkg-name> <remote-repo> <remote-branch>
-
-On older git versions "git subtree" might not be available. You can
-try "git merge -s subtree", or just update git.
-
-- <remote-repo> is the remote's URL. If you've previously used "git
- remote add", then this can be the remote's name.
-- <remote-branch> is the branch you want to pull (probably "master").
-
-If you want the local code to be slightly different from the remote,
-simply commit further changes to it here. Of course, this may trigger
-merge conflicts when you do a "subtree pull" in the future, so it's
-best to avoid these local changes.
-
-If someone makes changes to your package here on elpa.git and you want
-to push them to your remote, it's easiest to just copy these changes
-over to the remote repo. Trying to push a subtree with git is likely
-to induce headache.
-
-**** When you're adding and pulling, DO NOT --SQUASH!!
-
-Don't worry about flooding elpa.git's commit log with your package's
-commit messages. Your package is part of elpa.git. Squashing doesn't
-help and only gets in the way.
-
-*** Externals
-
-In the `external' case, the copy of the code is not kept in `master` but in the
+The copy of the code is not kept in `master` but in the
`externals/<pkg-name>' branch in the `elpa.git' repository.
-To add a new externals package, first add this `elpa.git' repository as a
+To add a new external 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/<pkgname>`. For example:
- git push elpa <mybranch>:externals/<pkgname>
+ git push elpa <mybranch>:refs/heads/externals/<pkgname>
For example, let's say that you want to add `realgud-ipdb` which is currently
checked out in `$HOME/github/realgud-ipdb`:
- [elpa] elpa-admin cabbab9 323/357: * packages/yasnippet: Merge 0.14.0 from upstream., (continued)
- [elpa] elpa-admin cabbab9 323/357: * packages/yasnippet: Merge 0.14.0 from upstream., Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 5ef13b0 326/357: Merge commit '33afdb46e1cd61251736816d965495525b36c9cd', Stefan Monnier, 2020/12/10
- [elpa] elpa-admin d30f5d1 337/357: * GNUmakefile (RULE-singlepkg): New rule(s) to compile single-pkg (bug#38140), Stefan Monnier, 2020/12/10
- [elpa] elpa-admin a186f57 335/357: * README: Convert to org-mode and prepare for export., Stefan Monnier, 2020/12/10
- [elpa] elpa-admin f6670e0 334/357: * .gitignore: Ignore all the unregistered files under `packages`, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin cff34fa 336/357: Support generating readme.html from README, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 9822a67 315/357: README: Mention that the copyright in ELPA is with the FSF, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin d0cae44 318/357: * admin/archive-contents.el: Unbreak elpa.gnu.org build, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 7be6e5f 330/357: ; Update copyright year, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 78966fe 348/357: * README.org: Improve introductory paragraphs., Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 2ce3401 333/357: * README: Don't recommend to keep code on `master` any more,
Stefan Monnier <=
- [elpa] elpa-admin a30b538 216/357: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin cc63328 234/357: * GNUmakefile (.gitignore): New rule, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 4fdec5b 230/357: packages/yasnippet: subtree pull from external, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 62629ab 224/357: Merge commit 'd827bb511203a64da3ae5cc6910b87b7c99d233b', Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 0a995ba 296/357: * admin/archive-contents.el (archive--insert-repolinks): Fix further, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin aa346f0 290/357: * GNUmakefile (org-fetch): Use https and stick to wget, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin d58576c 301/357: * GNUmakefile (FILTER-nonsrc): Don't compile .dir-locals.el files., Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 059dde5 344/357: * GNUmakefile (RULE-singlepkg): Add rules to install&compile each package, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin d5c6272 339/357: * admin/archive-contents.el: foo.tar.sig is not an old tarball, Stefan Monnier, 2020/12/10
- [elpa] elpa-admin 221c427 350/357: * admin/archive-contents.el: Improve handling of snapshot version numbers, Stefan Monnier, 2020/12/10