Problems with git-subtree pull with merging - git-subtree

The following bash script code creates an example of using git-subtree. Please answer why the last command ends up causing a conflict "both added" while merging.
#! /usr/bin/env bash
declare TEST_ROOT=/tmp
declare TEST_DIR='test-subtree' ;
cd $TEST_ROOT && \
find $TEST_DIR -name "*" -maxdepth 1 -exec rm -rvf '{}' \; -prune
rm -rf $TEST_DIR ;
declare REPOS_ROOTS=$TEST_ROOT/$TEST_DIR/roots ;
declare REPOS_WORKDIRS=$TEST_ROOT/$TEST_DIR/workdirs ;
declare MAIN_REPO_NM='main_repo' ;
declare SUB_REPO_NM='sub_repo' ;
declare MCWD= ;
[ -d $TEST_ROOT/$TEST_DIR ] || \
mkdir -vp $TEST_ROOT/$TEST_DIR && cd $TEST_ROOT/$TEST_DIR && {
[ -d $TEST_DIR/${MAIN_REPO_NM}.git ] || git init --bare --shared ${MAIN_REPO_NM}.git ;
[ -d $TEST_DIR/${SUB_REPO_NM}.git ] || git init --bare --shared ${SUB_REPO_NM}.git ;
[ -d roots ] || mkdir -v roots ;
[ -d workdirs ] || mkdir -v workdirs ;
git clone --shared --separate-git-dir=$REPOS_ROOTS/$MAIN_REPO_NM ${MAIN_REPO_NM}.git workdirs/$MAIN_REPO_NM ;
git clone --shared --separate-git-dir=$REPOS_ROOTS/C1-$MAIN_REPO_NM ${MAIN_REPO_NM}.git workdirs/C1-$MAIN_REPO_NM ;
git clone --shared --separate-git-dir=$REPOS_ROOTS/$SUB_REPO_NM ${SUB_REPO_NM}.git workdirs/$SUB_REPO_NM ;
MCWD=$(pwd);
cd workdirs/$SUB_REPO_NM && {
cat > testfile.txt <<EOF
some lines of text
EOF
touch .gitignore ;
git add . ;
git commit -am 'add: new file initial commit' ;
git push origin master ;
git checkout master -b mainwork ;
git push --all ;
cd $MCWD ;
}
MCWD=$(pwd);
cd workdirs/$MAIN_REPO_NM && {
touch .gitignore ;
git add . ;
git commit -am 'initial commit' ;
git push origin master ;
git checkout master -b mainwork ;
git checkout -b mainwork-$SUB_REPO_NM ;
git remote add -f remote-${SUB_REPO_NM} $TEST_ROOT/$TEST_DIR/${SUB_REPO_NM}.git ;
git subtree add --prefix ${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork --squash ;
git push --all ;
}
cd $MCWD ;
MCWD=$(pwd);
cd workdirs/C1-$MAIN_REPO_NM && {
git fetch --all ;
git remote add -f remote-${SUB_REPO_NM} $TEST_ROOT/$TEST_DIR/${SUB_REPO_NM}.git ;
git checkout mainwork-$SUB_REPO_NM ;
git pull --no-rebase --strategy=recursive -X theirs orign ;
cat >> ${SUB_REPO_NM}.dir/testfile.txt <<EOF
some lines of text was chnged
EOF
cat > ${SUB_REPO_NM}.dir/testfile-1.txt <<EOF
some lines of text was added
EOF
git add . ;
git commit -am 'some changes to, subtree: '"${SUB_REPO_NM}.dir" ;
git subtree push --prefix=${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork-feature ;
cd ../$SUB_REPO_NM && {
printf -- 'Try to pull from: `%s\''\n' "origin mainwork-feature" ;
git checkout mainwork ;
git pull --no-rebase --strategy=recursive -Xtheirs origin mainwork-feature ;
git checkout - ;
git push origin mainwork ;
cd - ;
}
}
cd $MCWD ;
MCWD=$(pwd);
cd workdirs/$MAIN_REPO_NM && {
git fetch remote-${SUB_REPO_NM} mainwork ;
git fetch --all ;
git checkout mainwork-$SUB_REPO_NM ;
git pull --no-rebase --strategy=recursive -X theris origin mainwork-$SUB_REPO_NM ;
git subtree pull --prefix ${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork --squash ;
cat >> ${SUB_REPO_NM}.dir/testfile-1.txt <<EOF
some lines of text was changed ;
EOF
git commit -am 'changes in: '${SUB_REPO_NM}.dir/testfile-1.txt ;
git subtree push --prefix=${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork-feature ;
cd ../$SUB_REPO_NM && {
git checkout mainwork ;
git pull --no-rebase --strategy=recursive -Xtheirs origin mainwork-feature ;
git checkout - ;
git push origin mainwork ;
cd - ;
}
git fetch remote-${SUB_REPO_NM} mainwork ;
git subtree pull --prefix ${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork --squash ;
}
cd $MCWD ;
MCWD=$(pwd);
cd workdirs/C1-$MAIN_REPO_NM && {
git fetch remote-${SUB_REPO_NM} mainwork ;
git checkout mainwork-$SUB_REPO_NM ;
git subtree pull --prefix ${SUB_REPO_NM}.dir remote-${SUB_REPO_NM} mainwork --squash ;
}
}
I used a similar syntax and everything worked fine, at least there was no merge problem. Unfortunately, there is no previous example that works.

Related

/bin/sh: jar: command not found (inside nexus docker container) Nexus image: 3.34.0

When I try to run a command following snippet and getting the error like
/bin/sh: jar: command not found
RUN BASE_JAR=$(find /opt/sonatype/nexus/system/org/sonatype/nexus/nexus-base -name "nexus-base*.jar") && \
mkdir temp && cd temp && \
jar -xf $BASE_JAR static/css/nexus-content.css && \
echo ".nexus-header .product-spec { display:none }" >> static/css/nexus-content.css && \
jar uf $BASE_JAR static/css/nexus-content.css && \
cd .. && rm -rf temp
Need a help/suggestions to solve this problem?

how can I create an alias with arguments in multiple lines (like SH files)

i am on RedHat 6.
i am trying to create an alias that takes arguments, but in order to make the alias more "readable" i want to create it in multiple lines (see code below)
The alias is in a text file called "reg_aliases"
Example:
instead of
alias run_reg ' svn up ; cd project ; compile \!* ; cd project2 ; compile \!* '
desired:
alias run_reg ' svn up
cd project ; compile \\!* ;
cd project2 ; compile \\!* ; '
i tried to add "\" after each line but the last one, it did not work either.
Original Code:
alias comp_env_none 'arun -c -toppath \\!* -sncomp'
alias run_reg ' svn up $PROJECT; cd $PROJECT/work; comp_env_none $TOP -clean; cd $PROJECT/work_2 ; comp_env_none $TOP2 ; vmanager -gui \\!* '
tried to do this:
alias run_reg ' svn up $PROJECT; \
cd $PROJECT/work; comp_env_none $TOP -clean; \
cd $PROJECT/work_2 ; comp_env_none $TOP2 ; \
vmanager -gui \!* '
and it did not work.
any suggestion on how to create such an alias ?

error while running a R script in a bash script

e made a bash script as follows:
#! /bin/bash
OUTDIR=".//DATA/share/pipelines/results/"
INDIR="./DATA/share/pipelines/test_data/infile/"
projectname=$1
input_bam=$2
bins=$3
mkdir OUTDIR || true
of="${OUTDIR}"
ind="${INDIR}"
./DATA/share/pipelines/script.R \
-b "${bins}" \
-c "${projectname}" \
-o "${of}" \
-i "${ind}"
echo "first step is done"
when I run the script using the following command:
bash first.sh 30 beh
I will get this error:
mkdir: cannot create directory ‘OUTDIR’: File exists
first.sh: line 17: ./DATA/share/pipelines/script.R: No such file or directory
first step is done
do you know how to solve the problem?
When you call
bash first.sh 30 beh
$1 holds 30, $2 holds beh and $3 is not defined.
input_bam ist set to $2 but is never used.
With [ ! -d ${OUTDIR} ] you should be able to test if the directory exists.
#! /bin/bash
#Please check if it should be
# relative to the current working directory (starting with './')
# or absolute (starting with '/')
BASEDIR="/DATA/share/pipelines/" #"./DATA/share/pipelines/"
OUTDIR=${BASEDIR}"results/"
INDIR=${BASEDIR}"test_data/infile/"
projectname=$1
input_bam=$2 #This is never used
bins=$3 #This is not defined when callin >bash first.sh 30 beh<
[ ! -d ${OUTDIR} ] && mkdir ${OUTDIR} #Think you would create ${OUTDIR}
of="${OUTDIR}"
ind="${INDIR}"
./DATA/share/pipelines/script.R \
-b "${bins}" \
-c "${projectname}" \
-o "${of}" \
-i "${ind}"
echo "first step is done"

Missing drush in OpenShift Drupal module

i have sshd into my OpenShift Drupal install with the intent of changing my Drupal admin password ..however the drush tool does not seem to be installed
[drupal-.rhcloud.com 56f94fb97628e12ab700005f]> drush --help
bash: drush: command not found
[drupal-.rhcloud.com 56f94fb97628e12ab700005f]>
i am using :
Drupal 7
is there something that needs doing to get that drush addition?
it seams openshift drush is not working for every bodies.its happened because of using old PHP version, which is not working by new composer, SO you need to make one DIY app in openshift and install manually drush and new version of php (php >=5.5.0 ).
Drush installing in Openshift RHC
So you could install drush manually by this codes:
mkdir ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer
curl -ss https://getcomposer.org/installer | php -- --install-dir=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer
cd /tmp
rm -rf tt
mkdir tt
cd tt
#wget http://ftp.drupal.org/files/projects/drush-7.x-5.9.tar.gz
wget https://github.com/drush-ops/drush/archive/master.zip && unzip master.zip
rm master.zip
mv * drush
chmod u+x drush/drush
#tar xzf drush-7.x-5.9.tar.gz && rm drush-7.x-5.9.tar.gz && cd drush && mv drush drush_my
mkdir ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/
mkdir ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush
mv /tmp/tt/drush/* ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush && cd ../..
rm -rf tt
export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush:$PATH
cd ~/app-root/runtime/repo/.openshift/action_hooks
echo "export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush:$PATH
#export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer:$PATH" >> ~/app-root/runtime/repo/.openshift/action_hooks/start
chmod 755 start
echo "export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush:$PATH
export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer:$PATH
alias drush='${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush/drush'
alias drush='/opt/rh/php54/root/usr/bin/php ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush/drush.php'" >> ~/app-root/data/.bash_profile
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush
php -r "readfile('https://getcomposer.org/installer');" | php
mv composer.phar composer.phar0
php composer.phar0 install
php composer.phar0 update
#composer config --global bin-dir /usr/local/bin
#composer config --global bin-dir /opt/rh/php54/root/usr/bin
composer config --global vendor-dir ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer
php composer install
php ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/composer/composer.phar --no-interaction --no-ansi --no-scripts --optimize-autoloader --working-dir=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush install
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush
# Drush settings
cp drush.php drush.php0
echo "\$options['uri'] = \$_ENV['OPENSHIFT_APP_DNS'];
\$options['root'] = \$_ENV['OPENSHIFT_REPO_DIR'].'php';" >> drush.php
if [[ -f ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush/drush.php ]]; then
echo "$repo_top = getcwd().'/..';
$options['config'] = $repo_top . '/drush/drushrc.php'; "
else
echo "<?php
$repo_top = getcwd().'/..';
$options['config'] = $repo_top . '/drush/drushrc.php'; " >> drush.php
fi
cat << EOF >>drushrc.php
<?php
ini_set('memory_limit', '256M');
if (array_key_exists('OPENSHIFT_APP_NAME', \$_SERVER)) {
\$src = \$_SERVER;
} else {
\$src = \$_ENV;
}
\$options['uri'] =\$src['OPENSHIFT_APP_DNS'];
\$options['root'] =\$src['OPENSHIFT_REPO_DIR'].'php';
\$options['db-url']=\$src['OPENSHIFT_MYSQL_DB_URL'].\$src['OPENSHIFT_APP_DNS'];
\$options['backup-dir'] = '/tmp';
?>
EOF
echo " \$options['backup-dir'] = '/tmp';">> drushrc.php
#nano drush.php
drush status
#install mysql
: <<'end_long_comment'
#
cd /tmp
wget http://wiki.diahosting.com/down/lnmp/mysql-5.1.46.tar.gz
nohup sh -c "./configure --prefix=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql --enable-assembler --with-charset=utf8 --enable-thread-safe-client --with-extra-charsets=all --with-big-tables &&
make && make install"> $OPENSHIFT_LOG_DIR/mysql_install.log /dev/null 2>&1 & tail -f $OPENSHIFT_LOG_DIR/mysql_install.log
chown -R mysql:mysql ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql
cp support-files/my-medium.cnf /etc/my.cnf
sed -i 's#\[mysqld\]#\[mysqld\]\nbasedir=/usr/local/mysql\ndatadir=/var/lib/mysql\n#' /etc/my.cnf
sed -i 's#log-bin=mysql-bin#\#log-bin=mysql-bin#' /etc/my.cnf
sed -i 's#binlog_format=mixed#\#binlog_format=mixed#' /etc/my.cnf
${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/bin/mysql_install_db --basedir=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql --datadir=/var/lib/mysql --user=mysql
cp ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/share/mysql/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
/etc/init.d/mysqld start
${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/bin/mysqladmin -u root password $myrootpwd
chkconfig mysqld on
#ln -s ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/bin/myisamchk /usr/bin/
#ln -s ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/bin/mysql /usr/bin/
#ln -s ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/mysql/bin/mysqldump /usr/bin/
end_long_comment
cd
export pass=$OPENSHIFT_MYSQL_DB_PASSWORD
export user=$OPENSHIFT_MYSQL_DB_USERNAME
mysql -u $OPENSHIFT_MYSQL_DB_USERNAME
DROP DATABASE drupal2;
CREATE DATABASE drupal2;
#CREATE USER druser#localhost;
#CREATE USER druser2#$OPENSHIFT_MYSQL_DB_HOST;
CREATE USER 'druser'#'$OPENSHIFT_MYSQL_DB_HOST' IDENTIFIED BY 'druser';
#CREATE USER 'juddi'#'$OPENSHIFT_MYSQL_DB_HOST' IDENTIFIED BY 'juddi';
#SET PASSWORD FOR druser#localhost= PASSWORD("password");
SET PASSWORD FOR 'druser'#$OPENSHIFT_MYSQL_DB_HOST= PASSWORD("password");
#GRANT ALL PRIVILEGES ON drupal2.* TO druser#localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON drupal2.* TO $user#$OPENSHIFT_MYSQL_DB_HOST IDENTIFIED BY $pass;
#GRANT ALL PRIVILEGES ON drupal.* TO $OPENSHIFT_MYSQL_DB_USERNAME#$OPENSHIFT_MYSQL_DB_HOST IDENTIFIED BY $OPENSHIFT_MYSQL_DB_PASSWORD;
FLUSH PRIVILEGES;
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php
chmod 755 . -R
rm -rf *
if [[ 1=2 ]];then
drush dl openpublic #--drupal-project-rename=folder_name
mv open*/* ./
cd pro*/openpu*
drush make --prepare-install build-openpublic.make openpublic
rm -rf ~/app-root/data/sites/default/settings.php
fi
echo " \$options['backup-dir'] = '/tmp';">> ~/.drush/drushrc.php
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php
nohup sh -c "export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush:$PATH && drush dl openpublic"> $OPENSHIFT_LOG_DIR/drush_site_install_1_1.log /dev/null 2>&1 &
tail -f $OPENSHIFT_LOG_DIR/drush_site_install_1_1.log
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php && mv */* './' && cd pro*/openpu*
nohup sh -c "export PATH=${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/drush:$PATH && drush make --prepare-install build-openpublic.make openpublic &&\
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php &&\
drush site-install openpublic --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/drupal2 --site-name=${OPENSHIFT_APP_NAME} --account-name='ss' --account-pass='ss' --yes"> $OPENSHIFT_LOG_DIR/drush_site_install_1_2.log /dev/null 2>&1 &
tail -f $OPENSHIFT_LOG_DIR/drush_site_install_1_2.log
#drush site-install weebpal --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/$OPENSHIFT_APP_NAME --site-name=${OPENSHIFT_APP_NAME} --account-name='ss' --account-pass='ss' --account-mail='ss3#elec-lab.tk' --site-mail='ss3#elec-lab.tk' --yes
#nohup sh -c "drush site-install themebrain_profile --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/drupal2 --site-name=${OPENSHIFT_APP_NAME} --account-name='ss' --account-pass='ss' --account-mail='ss3#elec-lab.tk' --site-mail='ss3#elec-lab.tk' --yes ">$OPENSHIFT_LOG_DIR/drush_site_install_1_2.log /dev/null 2>&1 & tail -f $OPENSHIFT_LOG_DIR/drush_site_install_1_2.log
#drush site-install opendeals --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/$OPENSHIFT_APP_NAME --site-name=${OPENSHIFT_APP_NAME} --account-name='ss' --account-pass='ss' --account-mail=ss3#elec-lab.tk --yes
#drush site-install openpublic --db-url=mysql://druser:password#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/drupal2 --site-name=${OPENSHIFT_APP_NAME} --account-name='ss' --account-pass='ss' --yes
#drush site-install openpublic --site-name=${OPENSHIFT_APP_NAME} --account-pass=$admin_pwd --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/$OPENSHIFT_APP_NAME --yes
#mysql -u $OPENSHIFT_MYSQL_DB_USERNAME -h $OPENSHIFT_MYSQL_DB_HOST drupal <
########DONE ##################
echo " \$options['backup-dir'] = '/tmp';">> ~/.drush/drushrc.php
### drush backup database###
drush sql-dump > /tmp/database-backup.sql
### drush restore database###
mysqldump -u $OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PORT $OPENSHIFT_APP_NAME < database-backup.sql
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > /path/to/backup_dir/database-backup.sql
drush sql-cli < ~/my-sql-dump-file-name.sql
drush bam-backup
####################################
nohup sh -c " wget -P ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php --mirror --user=u220290147 --password=ss123456 ftp://93.188.160.83:21/"> $OPENSHIFT_LOG_DIR/python_modules_install_1_1.log /dev/null 2>&1 &
tail -f $OPENSHIFT_LOG_DIR/python_modules_install_1_1.log
cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/repo/php/*
nohup sh -c "zip -r elec-lab.zip . "> $OPENSHIFT_LOG_DIR/zip.log /dev/null 2>&1 &
tail -f $OPENSHIFT_LOG_DIR/zip.log
/tmp/tmp/tb/sites/all/modules
~/app-root/data/sites/all/modules
mkdir ~/app-root/data/sites/all/libraries
mv -n /tmp/tmp/tb/sites/all/libraries/* ~/app-root/data/sites/all/libraries
mkdir ~/app-root/data/sites/all/themes
mv -n /tmp/tmp/tb/sites/all/themes/* ~/app-root/data/sites/all/themes
mv -n /tmp/tmp/tb/sites/all/* ~/app-root/data/sites/all/
mv -n /tmp/tmp/tb/sites/* ~/app-root/data/sites/
mv -n /tmp/tmp/tb/sites/all/modules/* ~/app-root/data/sites/all/modules
mkdir ~/app-root/data/downloads/drupal-7.34/profiles/themebrain_profile
mv -n /tmp/tmp/tb/profiles/themebrain_profile/* ~/app-root/data/downloads/drupal-7.34/profiles/themebrain_profile
mv ~/app-root/runtime/repo/.openshift/install_profiles/standard ~/app-root/runtime/repo/.openshift/install_profiles/standard1
mkdir ~/app-root/runtime/repo/.openshift/install_profiles/standard
mv -n /tmp/op/openpublic-7.x-1.x-dev/profiles/openpublic/* ~/app-root/runtime/repo/.openshift/install_profiles/standard
chmod 755 ~/app-root/data/sites/default/settings.php
rm -rf ~/app-root/data/sites/default/settings.php
chmod 755 ~/app-root/runtime/repo/.openshift/action_hooks/deploy
nohup sh -c "./app-root/runtime/repo/.openshift/action_hooks/deploy "> $OPENSHIFT_LOG_DIR/deploy.log /dev/null 2>&1 & tail -f $OPENSHIFT_LOG_DIR/deploy.log
#tail -f $OPENSHIFT_LOG_DIR/deploy.log
#nohup sh -c "wget http://dl1.sarzamindownload.com/sdlftpuser/92/07/10/Android.Bootcamp_Part2.rar "> $OPENSHIFT_LOG_DIR/zip2.log /dev/null 2>&1 &
#tail -f $OPENSHIFT_LOG_DIR/zip2.log
rm drush_download.py
cat <<'EOF' >> drush_download.py
import subprocess
import ast
st1='"Nodeblock, Follow, Securepages, Addthis, Twitter_pull, Comment_notify, Context_field, Entity_autocomplete, Views_boxes, Delta, Delta_ui, Context_condition_admin_theme, Context_breadcrumb_current_page, Context_bool_field, Nodeconnect, Openpublic_splash, Phase2_profile, Openpublic_breaking_news, Openpublic_comments, Openpublic_base_fields, Openpublic_defaults, Openpublic_home_page_feature, Openpublic_most_popular, Openpublic_person, Openpublic_person_leadership, Openpublic_site_page, Openpublic_webform, Openpublic_editors_choice, Openpublic_captcha, Openpublic_media_room, Openpublic_menu, Openpublic_menu_utility, Openpublic_menu_footer, Openpublic_pages, Openpublic_accessibility, Openpublic_filters, Openpublic_comments_default, Openpublic_webform_defaults"'
st1='"Addthis, Openpublic_splash, Phase2_profile, Openpublic_breaking_news, Openpublic_comments, Openpublic_base_fields, Openpublic_defaults, Openpublic_home_page_feature, Openpublic_most_popular, Openpublic_person, Openpublic_person_leadership, Openpublic_site_page, Openpublic_webform, Openpublic_editors_choice, Openpublic_captcha, Openpublic_media_room, Openpublic_menu, Openpublic_menu_utility, Openpublic_menu_footer, Openpublic_pages, Openpublic_accessibility, Openpublic_filters, Openpublic_comments_default, Openpublic_webform_defaults"'
st1=st1.lower()
st1=st1.replace(',',"','").replace('"',"'")
st2='"['+st1+']"';st2=st2.replace('"','')
ss=ast.literal_eval(st2)
#print ss
print st
for module in ss:
try:
st='drush dl '+module+' -Y ';print st
awk_sort = subprocess.Popen( [st ], stdin= subprocess.PIPE, stdout= subprocess.PIPE,shell=True)
awk_sort.wait()
output = awk_sort.communicate()[0]
print output.rstrip()
except:
print 'module '+module+' could not bin installed !!!'
#print "END"
EOF
#python drush_download.py
drush site-install standard --site-name=${OPENSHIFT_APP_NAME} --account-pass=$admin_pwd --db-url=mysql://$OPENSHIFT_MYSQL_DB_USERNAME:$OPENSHIFT_MYSQL_DB_PASSWORD#$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/$OPENSHIFT_APP_NAME --yes
nohup sh -c "python drush_download.py"> $OPENSHIFT_LOG_DIR/drush_download.log /dev/null 2>&1 &
tail -f $OPENSHIFT_LOG_DIR/drush_download.log
#nohup sh -c "zip -rT9 ferdowsi-elec-labs_tk.zip '${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/tmp/.'"> $OPENSHIFT_LOG_DIR/python_ftp_sync_download.log /dev/null 2>&1 &
#nohup sh -c "cd ${OPENSHIFT_HOMEDIR}/app-root/runtime/srv/tmp/ && zip -rT9 ferdowsi-elec-labs_tk.zip ."> $OPENSHIFT_LOG_DIR/python_ftp_sync_download.log /dev/null 2>&1 &
#tail -f $OPENSHIFT_LOG_DIR/python_ftp_sync_download.log

How do I deploy a artifact with maven layout using REST API?

I can do a normal deploy using the below command
curl -i -X PUT -u $artifactoryUser:$artifactoryPassword -T /path/to/file/file.zip http://localhost/artifactory/simple/repo/groupId/artifactId/version/file.zip
However, this will not resolve or update maven layout on the artifact. Is there a way I can upload without using the artifactory-maven plugin?
I found a solution to this question I had posted.
Syntax Used:
curl -i -X PUT -K $CURLPWD "http://localhost/artifactory/$REPO/$groupId/$artifactId/$versionId/$artifactId-$versionId.$fileExt"
Ended up writing a script so that md5 & sha1 values are uploaded with the file, or else, I had to go in Artifactory and fix it manually.
#!/bin/bash
usage() {
echo "Please check the Usage of the Script, there were no enough parameters supplied."
echo "Usage: ArtifactoryUpload.sh localFilePath Repo GroupID ArtifactID VersionID"
exit 1
}
if [ -z "$5" ]; then
usage
fi
localFilePath="$1"
REPO="$2"
groupId="$3"
artifactId="$4"
versionId="$5"
ARTIFAC=http://localhost/artifactory
if [ ! -f "$localFilePath" ]; then
echo "ERROR: local file $localFilePath does not exists!"
exit 1
fi
which md5sum || exit $?
which sha1sum || exit $?
md5Value="`md5sum "$localFilePath"`"
md5Value="${md5Value:0:32}"
sha1Value="`sha1sum "$localFilePath"`"
sha1Value="${sha1Value:0:40}"
fileName="`basename "$localFilePath"`"
fileExt="${fileName##*.}"
echo $md5Value $sha1Value $localFilePath
echo "INFO: Uploading $localFilePath to $targetFolder/$fileName"
curl -i -X PUT -K $CURLPWD \
-H "X-Checksum-Md5: $md5Value" \
-H "X-Checksum-Sha1: $sha1Value" \
-T "$localFilePath" \
"$ARTIFAC/$REPO/$groupId/$artifactId/$versionId/$artifactId-$versionId.$fileExt"

Resources