diff --git a/Config.in b/Config.in
index f36221cee660a8aa9aec3e0e6a9751b34c3ab7c7..4fc0d1a55f887ebe97b83baed2aec5304848687b 100644
--- a/Config.in
+++ b/Config.in
@@ -430,6 +430,14 @@ menuconfig DEVEL
 		help
 		  If enabled log files will be written to the ./log directory
 
+	config SRC_TREE_OVERRIDE
+		bool "Enable package source tree override" if DEVEL
+		help
+		  If enabled, you can force a package to use a git tree as source
+		  code instead of the normal tarball. Create a symlink 'git-src'
+		  in the package directory, pointing to the .git tree that you want
+		  to pull the source code from
+
 menuconfig TARGET_OPTIONS
 	bool "Target Options"  if DEVEL
 
diff --git a/include/package.mk b/include/package.mk
index cfb39dac8359c4e0c342a313b80513acea405fba..2ad0f11bc840259c92cd6c67f0e71cacea8df9f3 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -37,6 +37,10 @@ STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
 STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_NAME)_installed
 
 STAGING_FILES_LIST:=$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list
+ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),)
+  USE_GIT_TREE:=1
+  QUILT:=1
+endif
 
 include $(INCLUDE_DIR)/download.mk
 include $(INCLUDE_DIR)/quilt.mk
@@ -84,6 +88,14 @@ define Download/default
   MD5SUM:=$(PKG_MD5SUM)
 endef
 
+ifdef USE_GIT_TREE
+  define Build/Prepare/Default
+	mkdir -p $(PKG_BUILD_DIR)
+	ln -s $(CURDIR)/git-src $(PKG_BUILD_DIR)/.git
+	( cd $(PKG_BUILD_DIR); git checkout .)
+  endef
+endif
+
 define Build/Exports/Default
   $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p))
   $(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr
@@ -97,7 +109,7 @@ Build/Exports=$(Build/Exports/Default)
 
 define Build/DefaultTargets
   $(if $(QUILT),$(Build/Quilt))
-  $(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))
+  $(if $(USE_GIT_TREE),$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default)))
   $(call Build/Autoclean)
 
   download: