if src.architecture.is_windows():
cmd = "rmdir %(where)s && git clone %(git_options)s %(remote)s %(where)s && git --git-dir=%(where_git)s --work-tree=%(where)s checkout %(tag)s"
else:
+# for sat compile --update : changes the date of directory, only for branches, not tag
cmd = r"""
set -x
rmdir %(where)s
git clone %(git_options)s %(remote)s %(where)s && \
-git --git-dir=%(where_git)s --work-tree=%(where)s checkout %(tag)s && \
-touch -d "$(git --git-dir=%(where_git)s log -1 --format=date_format)" %(where)s
+git --git-dir=%(where_git)s --work-tree=%(where)s checkout %(tag)s
+res=$?
+git --git-dir=%(where_git)s status|grep HEAD
+if [ $? -ne 0 ]; then touch -d "$(git --git-dir=%(where_git)s log -1 --format=date_format)" %(where)s;fi
+return $res
"""
cmd = cmd % {'git_options': git_options,
'remote': from_what,