Introduce submodules, closes #8536
authorCarl Fürstenberg <azatoth@gmail.com>
Tue, 15 Mar 2011 19:16:09 +0000 (20:16 +0100)
committerCarl Fürstenberg <azatoth@gmail.com>
Tue, 15 Mar 2011 19:16:09 +0000 (20:16 +0100)
Instead of the manual clone of sizzle and qunit, use git submodules
instead. this will ensure that all future releases can be recreated by
checking out an tag.

.gitignore
.gitmodules [new file with mode: 0644]
Makefile
src/sizzle [new submodule]
test/qunit [new submodule]

index a77d67a..6cd5479 100644 (file)
@@ -4,7 +4,5 @@ dist
 *~
 *.diff
 *.patch
-test/qunit
-src/sizzle
 /*.html
 .DS_Store
diff --git a/.gitmodules b/.gitmodules
new file mode 100644 (file)
index 0000000..80ce236
--- /dev/null
@@ -0,0 +1,6 @@
+[submodule "src/sizzle"]
+       path = src/sizzle
+       url = git://github.com/jeresig/sizzle.git
+[submodule "test/qunit"]
+       path = test/qunit
+       url = git://github.com/jquery/qunit.git
index a6aae42..e0d1da7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,3 @@
-V ?= 0
-
 SRC_DIR = src
 TEST_DIR = test
 BUILD_DIR = build
@@ -38,7 +36,6 @@ JQ = ${DIST_DIR}/jquery.js
 JQ_MIN = ${DIST_DIR}/jquery.min.js
 
 SIZZLE_DIR = ${SRC_DIR}/sizzle
-QUNIT_DIR = ${TEST_DIR}/qunit
 
 JQ_VER = $(shell cat version.txt)
 VER = sed "s/@VERSION/${JQ_VER}/"
@@ -51,32 +48,8 @@ all: jquery min lint
 ${DIST_DIR}:
        @@mkdir -p ${DIST_DIR}
 
-ifeq ($(strip $(V)),0)
-verbose = --quiet
-else ifeq ($(strip $(V)),1)
-verbose =
-else
-verbose = --verbose
-endif
-
-define clone_or_pull
--@@if test ! -d $(strip ${1})/.git; then \
-               echo "Cloning $(strip ${1})..."; \
-               git clone $(strip ${verbose}) --depth=1 $(strip ${2}) $(strip ${1}); \
-       else \
-               echo "Pulling $(strip ${1})..."; \
-               git --git-dir=$(strip ${1})/.git pull $(strip ${verbose}) origin master; \
-       fi
-
-endef
-
-${QUNIT_DIR}:
-       $(call clone_or_pull, ${QUNIT_DIR}, git://github.com/jquery/qunit.git)
-
-${SIZZLE_DIR}:
-       $(call clone_or_pull, ${SIZZLE_DIR}, git://github.com/jeresig/sizzle.git)
-
-init: ${QUNIT_DIR} ${SIZZLE_DIR}
+init:
+       @@if [ -d .git ]; then git submodule update --init --recursive; fi
 
 jquery: init ${JQ}
 jq: init ${JQ}
@@ -122,7 +95,8 @@ clean:
        @@echo "Removing built copy of Sizzle"
        @@rm -f src/selector.js
 
-       @@echo "Removing cloned directories"
+distclean: clean
+       @@echo "Removing submodules"
        @@rm -rf test/qunit src/sizzle
 
 .PHONY: all jquery lint min init jq clean
diff --git a/src/sizzle b/src/sizzle
new file mode 160000 (submodule)
index 0000000..ef19279
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit ef19279f54ba49242c6461d47577c703f4f4e80e
diff --git a/test/qunit b/test/qunit
new file mode 160000 (submodule)
index 0000000..d404faf
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit d404faf8f587fcbe6b8907943022e6318dd51e0c