Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ed1ffd3
Добавить отдельную версию платформы 1С для выгрузки в файлы
Jun 9, 2026
0e92001
Исправление опечатки в вызове метода библиотеки 1commands (ПолучитьВы…
Sep 3, 2026
163e2b3
add example, fix paths
ovcharenko-di Sep 27, 2026
06df870
canonize case
ovcharenko-di Sep 27, 2026
93e3157
Merge pull request #376 from Dipod/fix-1commands-method
ovcharenko-di Sep 27, 2026
f868420
Merge branch 'develop' into feature/export-v8-platform
ovcharenko-di Sep 27, 2026
b147983
Merge pull request #362 from igostv/feature/export-v8-platform
ovcharenko-di Sep 27, 2026
d6e0e28
allow write cache
ovcharenko-di Sep 28, 2026
786a751
add dependabot
ovcharenko-di Sep 28, 2026
392c8e2
Merge pull request #381 from oscript-library/fix/workflow-cache
ovcharenko-di Sep 28, 2026
d1f53d3
ci: bump actions/checkout from 4.2.2 to 7.0.1
dependabot[bot] Sep 28, 2026
18e22a5
ci: bump actions/upload-artifact from 6.0.0 to 7.0.1
dependabot[bot] Sep 28, 2026
79c667b
ci: bump AButler/upload-release-assets from 3.0.1 to 4.0.0
dependabot[bot] Sep 28, 2026
760d378
test oscript 2.0.0
ovcharenko-di Jan 2, 2026
abd2d52
bump configor, fix ga oscript versions
ovcharenko-di Jan 2, 2026
7439c33
bump gitsync version, fix testing version
ovcharenko-di Jan 2, 2026
feda089
fix oscript versons in ga
ovcharenko-di Jan 5, 2026
87eca07
file rename
ovcharenko-di Sep 28, 2026
9ae3b51
Merge pull request #382 from oscript-library/dependabot/github_action…
ovcharenko-di Sep 28, 2026
b6edcf3
Merge pull request #383 from oscript-library/dependabot/github_action…
ovcharenko-di Sep 28, 2026
27f7bd9
Merge pull request #384 from oscript-library/dependabot/github_action…
ovcharenko-di Sep 28, 2026
dc6e2ed
upd oscript refs
ovcharenko-di Sep 29, 2026
e4b87ba
allow unsafe pr checkout
ovcharenko-di Sep 29, 2026
feda7af
Merge pull request #385 from oscript-library/fix/allow-unsafe-checkout
ovcharenko-di Sep 29, 2026
4bb294c
rm lts (1.9.4)
ovcharenko-di Sep 30, 2026
4dbdc5f
rm old lib
ovcharenko-di Sep 30, 2026
7c1bc54
rm old lib (fix)
ovcharenko-di Sep 30, 2026
0584020
fix
ovcharenko-di Sep 30, 2026
dbdd207
fix
ovcharenko-di Sep 30, 2026
04b63b1
bump
ovcharenko-di Sep 30, 2026
ab97f84
bump
ovcharenko-di Oct 5, 2026
ce6bc10
bump oscript
ovcharenko-di Oct 5, 2026
6d71f17
bump versions, upd README, refactor build
ovcharenko-di Oct 6, 2026
3e175a1
Merge pull request #386 from oscript-library/oscript-v2-tests
ovcharenko-di Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "ci"
labels:
- "dependencies"
- "github-actions"
17 changes: 15 additions & 2 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,23 @@ jobs:
if: github.repository == 'oscript-library/gitsync'
runs-on: ${{ matrix.os }}
environment: ${{ (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) && 'external-pr' || '' }}
cache-mode: write
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
oscript_version: ['1.9.2']
oscript_version: ['2.2.1']
v8_version: ['8.3.24.1691']
locale: ['ru_RU']

steps:
- name: Актуализация
uses: actions/checkout@v4.2.2
uses: actions/checkout@v7.0.1
with:
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.sha || github.ref_name }}
fetch-depth: 0
allow-unsafe-pr-checkout: true

# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions
- name: Извлечение имени текущей ветки
Expand Down Expand Up @@ -64,6 +66,17 @@ jobs:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Удаление устаревшей библиотеки (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
for src in /opt/1cv8/x86_64/*/libstdc++.so.6; do
[ -f "$src" ] || continue
dst="${src}.disabled"
echo "Renaming: $src -> $dst"
sudo mv -v -- "$src" "$dst"
done
shell: bash

- name: Установка лицензии (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
oscript_version: ['1.9.2']
oscript_version: ['2.2.1']
package_mask: ["gitsync-*.ospx"]
steps:
# Загрузка проекта
- name: Актуализация
uses: actions/checkout@v4.2.2
uses: actions/checkout@v7.0.1

# Установка OneScript конкретной версии
- name: Установка OneScript
Expand All @@ -37,13 +37,13 @@ jobs:
run: opm run build

- name: Заливка артефактов
uses: actions/upload-artifact@v6.0.0
uses: actions/upload-artifact@v7.0.1
with:
name: gitsync.ospx.zip
path: ./${{ matrix.package_mask }}

- name: Заливка в релиз
uses: AButler/upload-release-assets@v3.0.1
uses: AButler/upload-release-assets@v4.0.0
with:
files: ./${{ matrix.package_mask }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ jobs:
test:
runs-on: ${{ matrix.os }}
environment: ${{ (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) && 'external-pr' || '' }}
cache-mode: write
strategy:
matrix:
oscript_version: ['1.9.2']
oscript_version: ['2.2.1', 'dev']
v8_version: ['8.3.21.1624', '8.3.24.1691']
os: [windows-latest, ubuntu-22.04]
locale: ['ru_RU']
Expand All @@ -30,10 +31,11 @@ jobs:
powershell -Command "Set-WinSystemLocale ru-RU"

- name: Актуализация
uses: actions/checkout@v4.2.2
uses: actions/checkout@v7.0.1
with:
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.sha || github.ref_name }}
allow-unsafe-pr-checkout: true

- name: Установка OneScript
uses: otymko/setup-onescript@v1.5
Expand Down Expand Up @@ -70,6 +72,17 @@ jobs:
ONEC_USERNAME: ${{ secrets.ONEC_USERNAME }}
ONEC_PASSWORD: ${{ secrets.ONEC_PASSWORD }}

- name: Удаление устаревшей библиотеки (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
for src in /opt/1cv8/x86_64/*/libstdc++.so.6; do
[ -f "$src" ] || continue
dst="${src}.disabled"
echo "Renaming: $src -> $dst"
sudo mv -v -- "$src" "$dst"
done
shell: bash

- name: Установка лицензии (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
Expand Down
52 changes: 33 additions & 19 deletions readme.md → README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@
Больше примеров: `gitsync usage clone`

**b. Если у Вас нет удаленного репозитория** - используйте команду `init`

Синтаксис команды: `gitsync init [ОПЦИИ] PATH [WORKDIR]`

Пример использования:
Expand Down Expand Up @@ -217,13 +216,15 @@
<a id="markdown-глобальные-переменные-окружения" name="глобальные-переменные-окружения"></a>
#### Глобальные переменные окружения

| Имя | Описание |
| ------------------- | --------------------------------------------------------------------------- |
| `GITSYNC_V8VERSION` | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
| `GITSYNC_V8_PATH` | путь к исполняемому файлу платформы 1С (Например, /opt/1C/v8.3/x86_64/1cv8) |
| `GITSYNC_VERBOSE` | вывод отладочной информации в процессе выполнения |
| `GITSYNC_TEMP` | путь к каталогу временных файлов |
| `GITSYNC_EMAIL` | домен почты для пользователей git |
| Имя | Описание |
| --------------------------- | ---------------------------------------------------------------------------------------------- |
| `GITSYNC_V8VERSION` | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
| `GITSYNC_V8_PATH` | путь к исполняемому файлу платформы 1С (например, /opt/1C/x86_64/8.3.24.1819/1cv8) |
| `GITSYNC_EXPORT_V8VERSION` | маска версии платформы 1С для выгрузки конфигурации в файлы |
| `GITSYNC_EXPORT_V8_PATH` | путь к исполняемому файлу платформы 1С для выгрузки конфигурации в файлы |
| `GITSYNC_VERBOSE` | вывод отладочной информации в процессе выполнения |
| `GITSYNC_TEMP` | путь к каталогу временных файлов |
| `GITSYNC_EMAIL` | домен почты для пользователей git |

<a id="markdown-переменные-окружения-команды" name="переменные-окружения-команды"></a>
#### Переменные окружения команды
Expand Down Expand Up @@ -290,10 +291,18 @@
- Указание исполняемого файла нужной версии платформы

```sh
gitsync --v8-path /opt/1C/v8.3/x86_64/1cv8 s -uAdmin -p=Secret C:/Хранилище_1С/ C:/work_dir/
gitsync --v8-path /opt/1C/x86_64/8.3.24.1819/1cv8 s -uAdmin -p=Secret C:/Хранилище_1С/ C:/work_dir/
```

Команда синхронизации будет выполнена с использованием исполняемого файла платформы `/opt/1C/x86_64/8.3.24.1819/1cv8` (приведен синтаксис для linux; вариант для Windows см. ниже).

- Использование разных версий платформы для получения изменений из хранилища и для выгрузки конфигурации в файлы

```sh
gitsync --v8-path /opt/1C/x86_64/8.5.1.1529/1cv8 --export-v8-path /opt/1C/x86_64/8.3.24.1819/1cv8 s -uAdmin -p=Secret C:/Хранилище_1С/ C:/work_dir/
```

Команда синхронизации будет выполнена с использованием исполняемого файла платформы `/opt/1C/v8.3/x86_64/1cv8` (приведен синтаксис для linux; вариант для Windows см. ниже).
Для работы с хранилищем будет использована платформа 8.5.1.1529, а для последующей выгрузки версии в исходники - платформа 8.3.24.1819. Вместо `--export-v8-path` можно указать `--export-v8version`, если нужно задать только маску версии, а не полный путь к исполняемому файлу.

- Вызов команды без указания параметров, с использованием переменных окружения

Expand All @@ -306,8 +315,10 @@
export GITSYNC_STORAGE_USER=Admin
export GITSYNC_STORAGE_PASSWORD=Secret
export GITSYNC_V8VERSION=8.3.7
export GITSYNC_EXPORT_V8VERSION=8.3.27
# Указание конкретного исполняемого файла платформы 1С. Путь надо обернуть в кавычки если он содержит пробелы.
#export GITSYNC_V8_PATH=/opt/1C/v8.3/x86_64/1cv8
#export GITSYNC_V8_PATH=/opt/1C/x86_64/8.5.1.1819/1cv8
#export GITSYNC_EXPORT_V8_PATH=/opt/1C/x86_64/8.3.24.1819/1cv8
export GITSYNC_VERBOSE=true #Можно использовать Да/Ложь/Нет/Истина
export GITSYNC_TEMP=./temp/sync
gitsync s
Expand All @@ -322,8 +333,10 @@
set GITSYNC_STORAGE_USER=Admin
set GITSYNC_STORAGE_PASSWORD=Secret
set GITSYNC_V8VERSION=8.3.7
set GITSYNC_EXPORT_V8VERSION=8.3.27
# Указание конкретного исполняемого файла платформы 1С. Путь надо обернуть в кавычки если он содержит пробелы.
#set GITSYNC_V8_PATH="C:\Program Files (x86)\1cv8\8.3.12.1567\bin\1cv8.exe"
#set GITSYNC_EXPORT_V8_PATH="C:\Program Files (x86)\1cv8\8.3.27.1989\bin\1cv8.exe"
set GITSYNC_VERBOSE=true #Можно использовать Да/Ложь/Нет/Истина
set GITSYNC_TEMP=./temp/sync

Expand Down Expand Up @@ -366,15 +379,16 @@

> ВНИМАНИЕ! После обновления gitsync для **обновления** встроенных плагинов необходимо однократно выполнить команду `gitsync plugins init`

Соответствие версии gitsync и версии [gitsync-plugins](https://github.com/khorevaa/gitsync-plugins).
Соответствие версии gitsync, минимальной версии OneScript и версии [gitsync-plugins](https://github.com/khorevaa/gitsync-plugins).

| Версия gitsync | Плагины |
| ---------------- | --------------------------------------------------------------------------------- |
| v3.8.0 (текущая) | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.3 | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.2 | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.1 | [v2.0.1](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.1) |
| v3.7.0 | [v2.0.0](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.0) |
| Версия gitsync | Мин. версия OneScript | Версия встроенных плагинов |
| ---------------- | --------------------- | --------------------------------------------------------------------------------- |
| v3.9.0 (текущая) | **v2.2.1** | [v2.1.0](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.1.0) |
| v3.8.0 | v1.9.2 | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.3 | v1.9.2 | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.2 | v1.9.2 | [v2.0.3](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.3) |
| v3.7.1 | v1.9.2 | [v2.0.1](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.1) |
| v3.7.0 | v1.9.2 | [v2.0.0](https://github.com/oscript-library/gitsync-plugins/releases/tag/v.2.0.0) |

Все установленные плагины расположены по пути `%USERPROFILE%\AppData\Local\gitsync\plugins` для Windows или `$HOME/.local/share` для Linux. В этом же каталоге находится файл `plugins.json`, который хранит информацию об активных и неактивных плагинах. В случае каких-либо ошибок, связанных с работой плагинов, можно удалить этот каталог, а затем инициализировать и активировать нужные плагины заново.

Expand Down
11 changes: 10 additions & 1 deletion build_packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#Использовать fs

Перем ВерсияВстроенныхПлагинов;

Процедура ПередСборкой(Знач РабочийКаталог) Экспорт

Сообщить("Установка локальных зависимостей библиотек");
Expand All @@ -20,6 +22,7 @@
КомандаOpm = Новый Команда;
КомандаOpm.УстановитьКоманду("opm");
КомандаOpm.ДобавитьПараметр("run get-plugins");
КомандаOpm.ДобавитьПараметр(ВерсияВстроенныхПлагинов);

КомандаOpm.ДобавитьЛогВыводаКоманды("task.build");

Expand All @@ -46,15 +49,21 @@
ПутьКМодулюПараметрыСистемы = ОбъединитьПути(ТекущийСценарий().Каталог, "src/core", "Модули", "ПараметрыСистемы.os");

// специальная заглушка для правильной компиляции packagedef при первых действий при установке пакета
ВерсияПродукта = "";
ВерсияСреды = "";
ВерсияВстроенныхПлагинов = "";

ФайлМодульПараметрыСистемы = Новый Файл(ПутьКМодулюПараметрыСистемы);
Если ФайлМодульПараметрыСистемы.Существует() Тогда
МодульПараметрыСистемы = ЗагрузитьСценарий(ПутьКМодулюПараметрыСистемы);
ВерсияПродукта = МодульПараметрыСистемы.ВерсияПродукта();
ВерсияСреды = МодульПараметрыСистемы.ВерсияСреды();
ВерсияВстроенныхПлагинов = МодульПараметрыСистемы.ВерсияВстроенныхПлагинов();
КонецЕсли;

Описание.Имя("gitsync")
.Версия(ВерсияПродукта)
.ВерсияСреды("1.9.2")
.ВерсияСреды(ВерсияСреды)
.ВключитьФайл("src")
.ВключитьФайл("embedded_plugins")
.ВключитьФайл("oscript_modules")
Expand Down
18 changes: 11 additions & 7 deletions docs/init.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,14 @@ init (синоним i) - инициализация нового хранили
```
--------------
### Глобальные переменные окружения
| Имя | Описание |
|---------------------|--------------------------------------------------------|
| `GITSYNC_V8VERSION` | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
| `GITSYNC_VERBOSE` | вывод отладочной информации в процессе выполнения |
| `GITSYNC_TEMP` | путь к каталогу временных файлов |
| `GITSYNC_EMAIL` | домен почты для пользователей git |
| Имя | Описание |
|-----------------------------|-----------------------------------------------------------------------------|
| `GITSYNC_V8VERSION` | маска версии платформы (8.3, 8.3.5, 8.3.6.2299 и т.п.) |
| `GITSYNC_EXPORT_V8VERSION` | маска версии платформы 1С для выгрузки конфигурации в файлы |
| `GITSYNC_EXPORT_V8_PATH` | путь к исполняемому файлу платформы 1С для выгрузки конфигурации в файлы |
| `GITSYNC_VERBOSE` | вывод отладочной информации в процессе выполнения |
| `GITSYNC_TEMP` | путь к каталогу временных файлов |
| `GITSYNC_EMAIL` | домен почты для пользователей git |

--------------
### Переменные окружения команды
Expand Down Expand Up @@ -113,6 +115,7 @@ init (синоним i) - инициализация нового хранили
export GITSYNC_STORAGE_USER=Админ
export GITSYNC_STORAGE_PASSWORD=Пароль
export GITSYNC_V8VERSION=8.3.7
export GITSYNC_EXPORT_V8VERSION=8.3.27
export GITSYNC_VERBOSE=true #Можно использовать Да/Ложь/Нет/Истина
export GITSYNC_TEMP=./temp/sync
gitsync i
Expand All @@ -126,9 +129,10 @@ init (синоним i) - инициализация нового хранили
set GITSYNC_STORAGE_USER=Админ
set GITSYNC_STORAGE_PASSWORD=Пароль
set GITSYNC_V8VERSION=8.3.7
set GITSYNC_EXPORT_V8VERSION=8.3.27
set GITSYNC_VERBOSE=true #Можно использовать Да/Ложь/Нет/Истина
set GITSYNC_TEMP=./temp/sync

gitsync i
```
Данная команда создаст новый репозиторий git в каталоге `C:/work_dir/` из хранилища 1С по пути `C:/Хранилище_1С/`
Данная команда создаст новый репозиторий git в каталоге `C:/work_dir/` из хранилища 1С по пути `C:/Хранилище_1С/`
Loading
Loading