Skip to content

Commit bf63681

Browse files
committed
Merge branch 'release/v1.6.0'
2 parents 4028572 + 113e3d8 commit bf63681

10 files changed

Lines changed: 99 additions & 124 deletions

.travis.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ sudo: required
22

33
dist: trusty
44

5-
addons:
6-
sonarqube: true
5+
# addons:
6+
# sonarqube: true
77

8-
jdk:
9-
- oraclejdk8
8+
# jdk:
9+
# - oraclejdk8
1010

1111
before_install:
1212
- if [ $TRAVIS_OS_NAME == "linux" ]; then
1313
export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0;
1414
sh -e /etc/init.d/xvfb start;
1515
sleep 3;
1616
fi
17-
- wget -O os.deb https://files.gitter.im/EvilBeaver/OneScript/VreX/onescript-engine_1.0.17_all.deb
17+
- wget -O os.deb http://oscript.io/downloads/1_0_17/onescript-engine_1.0.17_all.deb
1818
- sudo apt-get install mono-complete mono-devel
1919
- sudo dpkg -i os.deb; sudo apt install -f
2020
- oscript

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 1.6.0
2+
3+
* В метод `Статус()` добавлена возможность получать вывод в кратком формате (`--short`)
4+
* Исправлено сохранение многострочных комментариев при выполнении коммита
5+
* Дата автора коммита теперь устанавливается через временную переменную среды `GIT_AUTHOR_DATE`
6+
17
## 1.5.2
28

39
* При выполнении коммита разрешается делать "пустые" (empty) коммиты

Jenkinsfile

Lines changed: 0 additions & 92 deletions
This file was deleted.

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@
130130
// Получает состояние репозитория
131131
// git status
132132
//
133+
// Параметры:
134+
// ВКороткомФормате - Булево - Вывод в коротком формате
135+
//
133136
// Возвращаемое значение:
134137
// Строка - Вывод команды
135138
//

features/step_definitions/ВыполнениеПроизвольнойКоманды.os

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

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

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

55+
//Вывод команды не содержит ""
56+
Процедура ВыводКомандыНеСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
57+
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
58+
59+
ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
60+
Ожидаем.Что(СокрЛП(ВыводКоманды)).Не_().Содержит(ОжидаемыйВыводКоманды);
61+
КонецПроцедуры
62+
5463
//Я сообщаю вывод команды
5564
Процедура ЯСообщаюВыводКоманды() Экспорт
5665
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

features/step_definitions/ПолучениеСостояния.os

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
ВсеШаги = Новый Массив;
1212

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

1516
Возврат ВсеШаги;
1617
КонецФункции
@@ -32,3 +33,9 @@
3233
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
3334
ГитРепозиторий.Статус();
3435
КонецПроцедуры
36+
37+
//Я получаю короткое состояние репозитория
38+
Процедура ЯПолучаюКороткоеСостояниеРепозитория() Экспорт
39+
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
40+
ГитРепозиторий.Статус(Истина);
41+
КонецПроцедуры

features/ПолучениеСостояния.feature

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@
1414
Сценарий: Получение состояния репозитория
1515
Когда Я получаю состояние репозитория
1616
Тогда Вывод команды содержит "master"
17+
18+
Сценарий: Получение короткого состояния репозитория
19+
Когда Я получаю короткое состояние репозитория
20+
Тогда Вывод команды не содержит "master"

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Описание.Имя("gitrunner")
2-
.Версия("1.5.2")
2+
.Версия("1.6.0")
33
.ЗависитОт("1bdd")
44
.ВерсияСреды("1.0.17")
55
.ЗависитОт("1commands", "1.3.1")

src/ГитРепозиторий.os

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,19 @@
3535
// Получает состояние репозитория
3636
// git status
3737
//
38+
// Параметры:
39+
// ВКороткомФормате - Булево - Вывод в коротком формате
40+
//
3841
// Возвращаемое значение:
3942
// Строка - Вывод команды
4043
//
41-
Функция Статус() Экспорт
44+
Функция Статус(Знач ВКороткомФормате = Ложь) Экспорт
4245

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

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

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

8995
НадоВосстановитьКоммитера = Ложь;
90-
НадоОчиститьУстановленныеПеременные = ложь;
91-
96+
НадоОчиститьУстановленныеПеременные = Ложь;
97+
НадоУдалитьВременныйФайлКомментария = Ложь;
98+
ИмяВременногоФайлаКомментария = "";
99+
92100
ПараметрыЗапуска = Новый Массив;
93101
ПараметрыЗапуска.Добавить("commit");
94102
ПараметрыЗапуска.Добавить("--allow-empty");
@@ -100,6 +108,16 @@
100108
Если Не ПустаяСтрока(ПутьКФайлуКоммита) Тогда
101109
ПараметрыЗапуска.Добавить("-F");
102110
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ПутьКФайлуКоммита));
111+
ИначеЕсли СтрНайти(ТекстСообщения, Символы.ПС) Тогда // для многострочных комментариев стоит использовать файл
112+
ИмяВременногоФайлаКомментария = ПолучитьИмяВременногоФайла();
113+
ТекстовыйДокумент = Новый ТекстовыйДокумент;
114+
ТекстовыйДокумент.УстановитьТекст(ТекстСообщения);
115+
ТекстовыйДокумент.Записать(ИмяВременногоФайлаКомментария, "utf-8");
116+
117+
ПараметрыЗапуска.Добавить("-F");
118+
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ИмяВременногоФайлаКомментария));
119+
120+
НадоУдалитьВременныйФайлКомментария = Истина;
103121
Иначе
104122
ПараметрыЗапуска.Добавить("-m");
105123
ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ТекстСообщения));
@@ -121,7 +139,8 @@
121139
КонецЕсли;
122140

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

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

161+
Если НадоУдалитьВременныйФайлКомментария Тогда
162+
Попытка
163+
УдалитьФайлы(ИмяВременногоФайлаКомментария);
164+
Исключение
165+
// не обрабатываем
166+
КонецПопытки
167+
КонецЕсли;
168+
142169
Если НЕ КомандаВыполненаУспешно Тогда
143170
ВызватьИсключение ВыводКоманды;
144171
КонецЕсли;
@@ -996,6 +1023,17 @@
9961023

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

1026+
// Устанавливает переменную системы GIT_AUTHOR_DATE
1027+
//
1028+
// Параметры:
1029+
// Дата - Дата - Дата для установки даты автора, отличной от текущей даты
1030+
//
1031+
Процедура УстановитьДатуАвтораКоммита(Знач Дата)
1032+
1033+
УстановитьПеременнуюСреды("GIT_AUTHOR_DATE", Дата);
1034+
1035+
КонецПроцедуры // УстановитьДатуАвтораКоммита()
1036+
9991037
// Устанавливает коммитера комментария в дополнительную секцию локальной настройки репозитория
10001038
//
10011039
// Параметры:

travis.sh

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,27 @@ set -e
33

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

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

9-
if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
10-
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
11-
sonar-scanner \
12-
-Dsonar.host.url=http://sonar.silverbulleters.org \
13-
-Dsonar.analysis.mode=issues \
14-
-Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
15-
-Dsonar.github.repository=$TRAVIS_REPO_SLUG \
16-
-Dsonar.github.oauth=$SONAR_GITHUB_TOKEN \
17-
-Dsonar.login=$SONAR_TOKEN \
18-
-Dsonar.scanner.skip=false \
19-
-Dsonar.branch.name=
9+
# if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
10+
# if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
11+
# sonar-scanner \
12+
# -Dsonar.host.url=http://sonar.silverbulleters.org \
13+
# -Dsonar.analysis.mode=issues \
14+
# -Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
15+
# -Dsonar.github.repository=$TRAVIS_REPO_SLUG \
16+
# -Dsonar.github.oauth=$SONAR_GITHUB_TOKEN \
17+
# -Dsonar.login=$SONAR_TOKEN \
18+
# -Dsonar.scanner.skip=false \
19+
# -Dsonar.branch.name=
2020

21-
elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
22-
sonar-scanner \
23-
-Dsonar.host.url=http://sonar.silverbulleters.org \
24-
-Dsonar.login=$SONAR_TOKEN \
25-
-Dsonar.projectVersion=$version\
26-
-Dsonar.scanner.skip=false \
27-
-Dsonar.branch.name=
28-
fi
29-
fi
21+
# elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
22+
# sonar-scanner \
23+
# -Dsonar.host.url=http://sonar.silverbulleters.org \
24+
# -Dsonar.login=$SONAR_TOKEN \
25+
# -Dsonar.projectVersion=$version\
26+
# -Dsonar.scanner.skip=false \
27+
# -Dsonar.branch.name=
28+
# fi
29+
# fi

0 commit comments

Comments
 (0)