pull/353/head
nightwing 2016-08-20 23:31:27 +00:00
rodzic 77a2dcb0a9
commit 0ce3f39808
2 zmienionych plików z 99 dodań i 56 usunięć

Wyświetl plik

@ -2,13 +2,17 @@
set -e set -e
cd `dirname $0`/.. cd `dirname $0`/..
# set -x
NAME=$1 NAME=$1
shift shift
BRANCH=master BRANCH=master
URL= URL=
FORCE=
for i in "$@"; do for i in "$@"; do
case $i in case $i in
-d|--debug)
set -x
shift
;;
-b=*|--branch=*) -b=*|--branch=*)
BRANCH="${i#*=}" BRANCH="${i#*=}"
shift shift
@ -17,6 +21,10 @@ for i in "$@"; do
URL="${i#*=}" URL="${i#*=}"
shift shift
;; ;;
-f|--force|--hard)
FORCE=1
shift
;;
*) *)
# unknown option # unknown option
;; ;;
@ -28,29 +36,45 @@ if [ "$NAME" == "" ]; then
exit 0 exit 0
fi fi
update_one() {
echo adding name=$NAME url=$URL branch=refs/remotes/origin/$BRANCH echo adding name=$NAME url=$URL branch=refs/remotes/origin/$BRANCH
if [ "$URL" == "" ]; then if [ "$URL" == "" ]; then
URL=git@github.com:c9/$NAME.git URL=git@github.com:c9/$NAME.git
fi fi
if [ -d $NAME/.git ]; then mkdir -p $NAME
pushd $NAME pushd $NAME
if ! [ -d .git ]; then
git init .
git remote add origin "$URL"
fi
OLD_URL=$(git config --get remote.origin.url) OLD_URL=$(git config --get remote.origin.url)
if [ "$OLD_URL" != "$URL" ]; then if [ "$OLD_URL" != "$URL" ]; then
echo "folder $NAME exists and points to $OLD_URL" echo "folder $NAME exists and points to $OLD_URL"
exit 1 exit 1
fi fi
if ! $(git config --get-all remote.origin.fetch | grep -q pull); then
git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/pull/*";
fi
git fetch origin git fetch origin
git remote set-head origin -a git remote set-head origin -a
popd popd
else
mkdir -p $NAME
git clone $URL $NAME
fi
pushd $NAME pushd $NAME
HASH=$(git rev-parse --revs-only refs/remotes/origin/$BRANCH) HASH=$(git rev-parse --revs-only refs/remotes/origin/$BRANCH)
if [ "$FORCE" == "1" ]; then
echo "hard reset $NAME to $HASH"
git reset $HASH --hard
if $(grep -q dependencies "./package.json"); then
rm -rf node_modules npm-shrinkwrap.json
git reset --hard
npm i
npm shrinkwrap
fi
fi
popd popd
[ -f ./config.json ] || echo "{}" > ./config.json [ -f ./config.json ] || echo "{}" > ./config.json
@ -81,17 +105,37 @@ node -e '
}); });
updateJSON("../package.json", function(package) { updateJSON("../package.json", function(package) {
var deps = package.dependencies; var deps = package.dependencies;
console.log(deps[name], hash) console.log(deps[name], hash);
deps[name] = deps[name].replace(/#[a-f\d]*$/i, "#" + hash) deps[name] = deps[name].replace(/#[a-f\d]*$/i, "#" + hash);
console.log(deps[name], hash) console.log(deps[name], hash);
}); });
updateJSON("../npm-shrinkwrap.json", function(package) { updateJSON("../npm-shrinkwrap.json", function(package) {
var deps = package.dependencies; var deps = package.dependencies;
deps[name].from = deps[name].from.replace(/#[a-f\d]*$/i, "#" + hash); deps[name].from = deps[name].from.replace(/#[a-f\d]*$/i, "#" + hash);
deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]*$/i, "#" + hash); deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]*$/i, "#" + hash);
console.log(__dirname)
if (fs.existsSync(name + "/npm-shrinkwrap.json")) {
var shrinkwrap = JSON.parse(fs.readFileSync(name + "/npm-shrinkwrap.json", "utf8"));
deps[name].dependencies = shrinkwrap.dependencies;
}
}); });
' '
rm -rf "../node_modules/$NAME" rm -rf "../node_modules/$NAME"
ln -s `pwd`/$NAME `pwd`/../node_modules/$NAME ln -s `pwd`/$NAME `pwd`/../node_modules/$NAME
}
if [ "$NAME" == "all" ]; then
for i in $(ls .); do
if [ -d "./$i/.git" ] || [ -f "./$i/package.json" ]; then
NAME=$i
URL=
update_one;
fi;
done
else
update_one
fi

Wyświetl plik

@ -24,7 +24,6 @@
"less": "^2.4.0", "less": "^2.4.0",
"mime": "~1.2.9", "mime": "~1.2.9",
"mkdirp": "~0.3.5", "mkdirp": "~0.3.5",
"msgpack-js": "~0.1.1",
"msgpack-js-browser": "~0.1.4", "msgpack-js-browser": "~0.1.4",
"nak": "https://github.com/cloud9ide/nak.git#6deef931594", "nak": "https://github.com/cloud9ide/nak.git#6deef931594",
"netutil": "~0.0.2", "netutil": "~0.0.2",