Skip to content

Commit

Permalink
Merge branch 'release/v1.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Sep 20, 2018
2 parents 4028572 + 113e3d8 commit bf63681
Show file tree
Hide file tree
Showing 10 changed files with 99 additions and 124 deletions.
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ sudo: required

dist: trusty

addons:
sonarqube: true
# addons:
# sonarqube: true

jdk:
- oraclejdk8
# jdk:
# - oraclejdk8

before_install:
- if [ $TRAVIS_OS_NAME == "linux" ]; then
export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0;
sh -e /etc/init.d/xvfb start;
sleep 3;
fi
- wget -O os.deb https://files.gitter.im/EvilBeaver/OneScript/VreX/onescript-engine_1.0.17_all.deb
- wget -O os.deb http://oscript.io/downloads/1_0_17/onescript-engine_1.0.17_all.deb
- sudo apt-get install mono-complete mono-devel
- sudo dpkg -i os.deb; sudo apt install -f
- oscript
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 1.6.0

* В метод `Статус()` добавлена возможность получать вывод в кратком формате (`--short`)
* Исправлено сохранение многострочных комментариев при выполнении коммита
* Дата автора коммита теперь устанавливается через временную переменную среды `GIT_AUTHOR_DATE`

## 1.5.2

* При выполнении коммита разрешается делать "пустые" (empty) коммиты
Expand Down
92 changes: 0 additions & 92 deletions Jenkinsfile

This file was deleted.

3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,9 @@
// Получает состояние репозитория
// git status
//
// Параметры:
// ВКороткомФормате - Булево - Вывод в коротком формате
//
// Возвращаемое значение:
// Строка - Вывод команды
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

ВсеШаги.Добавить("ЯВыполняюПроизвольнуюКомандуGit");
ВсеШаги.Добавить("ВыводКомандыСодержит");
ВсеШаги.Добавить("ВыводКомандыНеСодержит");
ВсеШаги.Добавить("ЯСообщаюВыводКоманды");
ВсеШаги.Добавить("ЯПытаюсьВыполнитьПроизвольнуюКомандуGit");

Expand Down Expand Up @@ -51,6 +52,14 @@
Ожидаем.Что(СокрЛП(ВыводКоманды)).Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Вывод команды не содержит ""
Процедура ВыводКомандыНеСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
Ожидаем.Что(СокрЛП(ВыводКоманды)).Не_().Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Я сообщаю вывод команды
Процедура ЯСообщаюВыводКоманды() Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
ВсеШаги = Новый Массив;

ВсеШаги.Добавить("ЯПолучаюСостояниеРепозитория");
ВсеШаги.Добавить("ЯПолучаюКороткоеСостояниеРепозитория");

Возврат ВсеШаги;
КонецФункции
Expand All @@ -32,3 +33,9 @@
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
ГитРепозиторий.Статус();
КонецПроцедуры

//Я получаю короткое состояние репозитория
Процедура ЯПолучаюКороткоеСостояниеРепозитория() Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
ГитРепозиторий.Статус(Истина);
КонецПроцедуры
4 changes: 4 additions & 0 deletions features/ПолучениеСостояния.feature
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,7 @@
Сценарий: Получение состояния репозитория
Когда Я получаю состояние репозитория
Тогда Вывод команды содержит "master"

Сценарий: Получение короткого состояния репозитория
Когда Я получаю короткое состояние репозитория
Тогда Вывод команды не содержит "master"
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Описание.Имя("gitrunner")
.Версия("1.5.2")
.Версия("1.6.0")
.ЗависитОт("1bdd")
.ВерсияСреды("1.0.17")
.ЗависитОт("1commands", "1.3.1")
Expand Down
46 changes: 42 additions & 4 deletions src/ГитРепозиторий.os
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,19 @@
// Получает состояние репозитория
// git status
//
// Параметры:
// ВКороткомФормате - Булево - Вывод в коротком формате
//
// Возвращаемое значение:
// Строка - Вывод команды
//
Функция Статус() Экспорт
Функция Статус(Знач ВКороткомФормате = Ложь) Экспорт

ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("status");
Если ВКороткомФормате Тогда
ПараметрыЗапуска.Добавить("--short");
КонецЕсли;

ВыполнитьКоманду(ПараметрыЗапуска);

Expand Down Expand Up @@ -87,8 +93,10 @@
Знач ДатаКоммита = '00010101') Экспорт

НадоВосстановитьКоммитера = Ложь;
НадоОчиститьУстановленныеПеременные = ложь;

НадоОчиститьУстановленныеПеременные = Ложь;
НадоУдалитьВременныйФайлКомментария = Ложь;
ИмяВременногоФайлаКомментария = "";

ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("commit");
ПараметрыЗапуска.Добавить("--allow-empty");
Expand All @@ -100,6 +108,16 @@
Если Не ПустаяСтрока(ПутьКФайлуКоммита) Тогда
ПараметрыЗапуска.Добавить("-F");
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ПутьКФайлуКоммита));
ИначеЕсли СтрНайти(ТекстСообщения, Символы.ПС) Тогда // для многострочных комментариев стоит использовать файл
ИмяВременногоФайлаКомментария = ПолучитьИмяВременногоФайла();
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(ТекстСообщения);
ТекстовыйДокумент.Записать(ИмяВременногоФайлаКомментария, "utf-8");

ПараметрыЗапуска.Добавить("-F");
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ИмяВременногоФайлаКомментария));

НадоУдалитьВременныйФайлКомментария = Истина;
Иначе
ПараметрыЗапуска.Добавить("-m");
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ТекстСообщения));
Expand All @@ -121,7 +139,8 @@
КонецЕсли;

Если ЗначениеЗаполнено(ДатаАвтораКоммита) Тогда
ПараметрыЗапуска.Добавить("--date="+ ОбернутьВКавычки(ДатаАвтораКоммита));
НадоОчиститьУстановленныеПеременные = Истина;
УстановитьДатуАвтораКоммита(ДатаАвтораКоммита);
КонецЕсли;

КомандаВыполненаУспешно = Истина;
Expand All @@ -139,6 +158,14 @@
ВосстановитьКоммитера();
КонецЕсли;

Если НадоУдалитьВременныйФайлКомментария Тогда
Попытка
УдалитьФайлы(ИмяВременногоФайлаКомментария);
Исключение
// не обрабатываем
КонецПопытки
КонецЕсли;

Если НЕ КомандаВыполненаУспешно Тогда
ВызватьИсключение ВыводКоманды;
КонецЕсли;
Expand Down Expand Up @@ -996,6 +1023,17 @@

КонецПроцедуры // УстановитьПеременнуюСреды()

// Устанавливает переменную системы GIT_AUTHOR_DATE
//
// Параметры:
// Дата - Дата - Дата для установки даты автора, отличной от текущей даты
//
Процедура УстановитьДатуАвтораКоммита(Знач Дата)

УстановитьПеременнуюСреды("GIT_AUTHOR_DATE", Дата);

КонецПроцедуры // УстановитьДатуАвтораКоммита()

// Устанавливает коммитера комментария в дополнительную секцию локальной настройки репозитория
//
// Параметры:
Expand Down
44 changes: 22 additions & 22 deletions travis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,27 @@ set -e

oscript /usr/share/oscript/lib/opm/src/opm.os run coverage

temp=`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`
version=${temp##*|}
# temp=`cat packagedef | grep ".Версия(" | sed 's|[^"]*"||' | sed -r 's/".+//'`
# version=${temp##*|}

if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
sonar-scanner \
-Dsonar.host.url=http://sonar.silverbulleters.org \
-Dsonar.analysis.mode=issues \
-Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
-Dsonar.github.repository=$TRAVIS_REPO_SLUG \
-Dsonar.github.oauth=$SONAR_GITHUB_TOKEN \
-Dsonar.login=$SONAR_TOKEN \
-Dsonar.scanner.skip=false \
-Dsonar.branch.name=
# if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
# if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
# sonar-scanner \
# -Dsonar.host.url=http://sonar.silverbulleters.org \
# -Dsonar.analysis.mode=issues \
# -Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
# -Dsonar.github.repository=$TRAVIS_REPO_SLUG \
# -Dsonar.github.oauth=$SONAR_GITHUB_TOKEN \
# -Dsonar.login=$SONAR_TOKEN \
# -Dsonar.scanner.skip=false \
# -Dsonar.branch.name=

elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
sonar-scanner \
-Dsonar.host.url=http://sonar.silverbulleters.org \
-Dsonar.login=$SONAR_TOKEN \
-Dsonar.projectVersion=$version\
-Dsonar.scanner.skip=false \
-Dsonar.branch.name=
fi
fi
# elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
# sonar-scanner \
# -Dsonar.host.url=http://sonar.silverbulleters.org \
# -Dsonar.login=$SONAR_TOKEN \
# -Dsonar.projectVersion=$version\
# -Dsonar.scanner.skip=false \
# -Dsonar.branch.name=
# fi
# fi

0 comments on commit bf63681

Please sign in to comment.