[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master cc7a8a6: * GNUmakefile (.gitignore): New rule
From: |
Stefan Monnier |
Subject: |
[elpa] master cc7a8a6: * GNUmakefile (.gitignore): New rule |
Date: |
Thu, 28 Jul 2016 19:49:14 +0000 (UTC) |
branch: master
commit cc7a8a652b60b62363c2fb2760da543fcd6c71e1
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* GNUmakefile (.gitignore): New rule
(all): Use it.
* admin/archive-contents.el (archive-gitignore-externals): New function.
* .gitignore: Update.
---
.gitignore | 30 ++++++++++++++++--------------
GNUmakefile | 6 +++++-
admin/archive-contents.el | 24 ++++++++++++++++++++++++
3 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/.gitignore b/.gitignore
index 43c9d2b..7f7e600 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,23 +9,25 @@ core
packages/*/*-autoloads.el
packages/*/*-pkg.el
-# External packages with their own .git tree.
-packages/auctex
-packages/chess
+# External packages with their own .git tree [autogenerated].
+packages/auctex/
+packages/chess/
packages/dash/
-packages/dismal
-packages/ergoemacs-mode
-packages/exwm
-packages/ntlm
+packages/dismal/
+packages/ergoemacs-mode/
+packages/exwm/
+packages/hyperbole/
+packages/let-alist/
+packages/ntlm/
packages/omn-mode/
-packages/pabbrev
-packages/python
-packages/rudel
-packages/soap-client
-packages/w3
-packages/xelb
+packages/pabbrev/
+packages/python/
+packages/rudel/
+packages/soap-client/
+packages/w3/
+packages/xelb/
# Testing file
/archive
*.log
-*.buildlog
\ No newline at end of file
+*.buildlog
diff --git a/GNUmakefile b/GNUmakefile
index d23d523..7d6d100 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -8,7 +8,7 @@ SITE_DIR=site
.PHONY: archive-tmp changelogs process-archive archive-full org-fetch clean
all do-it
-all: all-in-place
+all: all-in-place .gitignore
CR_EXCEPTIONS=copyright_exceptions
.PHONY: check_copyrights
@@ -81,6 +81,10 @@ archive-full: archive-tmp org-fetch
#mkdir -p archive/admin
#cp admin/* archive/admin/
+.gitignore: externals-list
+ $(EMACS) -l $(CURDIR)/admin/archive-contents.el \
+ --eval '(archive-gitignore-externals "$<" "$@")'
+
# FIXME: Turn it into an `external', which will require adding the notion of
# "snapshot" packages.
org-fetch: archive-tmp
diff --git a/admin/archive-contents.el b/admin/archive-contents.el
index 2b1ffec..6f19177 100755
--- a/admin/archive-contents.el
+++ b/admin/archive-contents.el
@@ -761,5 +761,29 @@ If WITH-CORE is non-nil, it means we manage :core packages
as well."
(_ (message "Unknown external package kind `%S' for %s"
kind name)))))))
+;;; Manage .gitignore
+
+(defun archive-gitignore-externals (elf gf)
+ (let* ((el (read (find-file-noselect elf)))
+ (exts (delq nil
+ (mapcar (lambda (x)
+ (if (eq :external (nth 1 x)) (car x)))
+ el)))
+ (core (delq nil
+ (mapcar (lambda (x)
+ (if (eq :core (nth 1 x)) (car x)))
+ el))))
+ (with-current-buffer (find-file-noselect gf)
+ (goto-char (point-min))
+ (when (re-search-forward
+ "#.*External.*git.*\n\\(packages/[^*/\n]+/?\n\\)+"
+ nil 'move)
+ (replace-match ""))
+ (insert "# External packages with their own .git tree [autogenerated].\n"
+ (mapconcat (lambda (p) (format "packages/%s/\n" p))
+ (sort (append exts core) #'string<)
+ ""))
+ (save-buffer))))
+
(provide 'archive-contents)
;;; archive-contents.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master cc7a8a6: * GNUmakefile (.gitignore): New rule,
Stefan Monnier <=