flush
[m6w6/btr] / lib / btr / source / git.mk
index 4e80904dc9ddea44117a7aebe38fe1f70ef2a88e..3808590450e2cc09deece2fd99a6aa861e357d98 100644 (file)
@@ -1,18 +1,31 @@
-.PHONY: pull all
+SOURCE_CLEAN=false
+
+.PHONY: fetch all clean
 .SUFFIXES:
 
-all: $(BRANCH_DIR) pull
+all: $(BRANCH_DIR) clean fetch
+       $(SAY) "Merging $(BRANCH) of $(REPO)..."
        cd $(BRANCH_DIR) && \
-       git pull -q
+               git merge $(QUIET_FLAG) --ff-only;
+
+clean: $(BRANCH_DIR)
+       if $(SOURCE_CLEAN); \
+       then \
+               cd $(BRANCH_DIR) && \
+                       git reset --hard $(QUIET_FLAGS); \
+       fi;
 
-pull: $(CLEAN_DIR)
+fetch: $(CLEAN_DIR)
+       $(SAY) "Fetching $(REPO)..."
        cd $(CLEAN_DIR) && \
-       git pull -q
+               git fetch $(QUIET_FLAG);
 
 $(CLEAN_DIR):
-       git clone -q $(SOURCE_URL) $(CLEAN_DIR)
+       $(SAY) "Cloning from $(SOURCE_ARGS)..."
+       git clone $(QUIET_FLAG) $(SOURCE_ARGS) $(CLEAN_DIR);
 
 $(BRANCH_DIR): $(CLEAN_DIR)
+       $(SAY) "Creating workdir for $(BRANCH)"
        git-new-workdir $(CLEAN_DIR) $(BRANCH_DIR) $(BRANCH)
 
 # vim: noet