[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] new-master 5a0a656 124/128: * README: Don't recommend to keep cod
From: |
Stefan Monnier |
Subject: |
[elpa] new-master 5a0a656 124/128: * README: Don't recommend to keep code on `master` any more |
Date: |
Mon, 14 Dec 2020 15:39:45 -0500 (EST) |
branch: new-master
commit 5a0a65652702b955b86445a3bf0f1c5acb5f07cc
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] new-master c7dc876 088/128: Initial commit., (continued)
- [elpa] new-master c7dc876 088/128: Initial commit., Stefan Monnier, 2020/12/14
- [elpa] new-master 07174b2 087/128: Fix a typo in the readme, Stefan Monnier, 2020/12/14
- [elpa] new-master 64a0b94 098/128: Add 'packages/org-edna/' from commit 'ce425a365cc305142a6ec7ec95ebe5fd636100e3', Stefan Monnier, 2020/12/14
- [elpa] new-master 84bac23 095/128: Added copyright and licensing information to all files, Stefan Monnier, 2020/12/14
- [elpa] new-master d3f73d9 107/128: Warn about transfer.fsckObjects, Stefan Monnier, 2020/12/14
- [elpa] new-master c821939 109/128: * README (PACKAGES/Externals): Clarify use, Stefan Monnier, 2020/12/14
- [elpa] new-master 7ff1acf 100/128: Initial import, Stefan Monnier, 2020/12/14
- [elpa] new-master ecf285b 121/128: Sync jQuery.FilterTable with upstream (version 1.5.7), Stefan Monnier, 2020/12/14
- [elpa] new-master 20a9074 122/128: Sync jQuery with upstream (version 1.12.4), Stefan Monnier, 2020/12/14
- [elpa] new-master 61bd755 128/128: * .gitignore: Add GNUmakefile and allow `admin` to be a symlink, Stefan Monnier, 2020/12/14
- [elpa] new-master 5a0a656 124/128: * README: Don't recommend to keep code on `master` any more,
Stefan Monnier <=
- [elpa] new-master dd528f1 052/128: Add 'packages/web-server/' from commit 'd0b6ae9df6014db2195da0081dc97cc8246f1fda', Stefan Monnier, 2020/12/14
- [elpa] new-master c76ccbc 056/128: * README: Update for new "Version: 0" convention., Stefan Monnier, 2020/12/14
- [elpa] new-master 23240a7 083/128: * admin/archive-contents.el: Make :core handling optional, Stefan Monnier, 2020/12/14
- [elpa] new-master 6432f8f 025/128: Make README more up-to-date, Stefan Monnier, 2020/12/14
- [elpa] new-master 843f354 030/128: Mark merge point of ack-el., Stefan Monnier, 2020/12/14
- [elpa] new-master 5ca8ff4 034/128: * README: Update with corrected information., Stefan Monnier, 2020/12/14
- [elpa] new-master 9192ab3 037/128: Continue previous change., Stefan Monnier, 2020/12/14
- [elpa] new-master 3f7d70e 041/128: update README, Stefan Monnier, 2020/12/14
- [elpa] new-master 7765674 042/128: Minor fix, according to the GNU Web Site Guidelines, Stefan Monnier, 2020/12/14
- [elpa] new-master 7f9bb59 063/128: Remove version.texi from the repo, Stefan Monnier, 2020/12/14