Skip to content
This repository was archived by the owner on Mar 12, 2021. It is now read-only.
This repository was archived by the owner on Mar 12, 2021. It is now read-only.

Неудобный кейс начального старта в gitsync. Сложно начать #82

Open

Description

@EvilBeaver
Функционал: Подключение существующей конфигурации (с хранилищем) к git

Сценарий: Создан пустой репозиторий на сервере git

   Допустим, создан пустой репо на сервере git
   Когда я захожу в пустой каталог, который должен стать рабочей копией git 
    И запускаю gitsync в режиме **clone**
    И указываю адрес репо GIT
    И указываю файловый путь к хранилищу 1С
   Тогда gitsync выполняет клонирование в текущий каталог
     И формирует файл AUTHORS по данным хранилища
     И формирует файл VERSION с пустой версией

   Когда я захожу в пустой каталог, который должен стать рабочей копией git 
     И запускаю gitsync в режиме **init**
     И указываю адрес репо GIT
     И указываю файловый путь к хранилищу 1С
   Тогда gitsync выполняет инициализацию через git init в текущем каталоге
      И добавляет git remote на основании параметра ком. строки "адрес репо git"
      И формирует файл AUTHORS по данным хранилища
      И формирует файл VERSION с пустой версией

Сценарий: Создан пустой репозиторий и уже склонирован в папку рабочей копии средствами git

   Допустим, я уже выполнил клонирование удаленного репо в локальную папку

   Когда я запускаю gitsync в режиме **clone**
   Тогда gitsync обнаруживает, что текущий каталог не пуст и не делает клонирование
     И предлагает воспользоваться командой init
     И завершается с ошибкой

   Когда я запускаю gitsync в режиме **init**
     И указываю адрес репо GIT
     И указываю файловый путь к хранилищу 1С
  Тогда gitsync обнаруживает папку .git и не выполняет инициализацию репозитория
     И выдает предупреждение, что параметр ком. строки "адрес репо git" будет проигнорирован, т.к. репо уже существует
     И формирует файл AUTHORS по данным хранилища
     И формирует файл VERSION с пустой версией

Часть этого функционала не реализована или работает неочевидно. Нужно прогнать данный сценарий и свериться с ожидаемыми результатами.

Help Wanted!

Activity

  1. dmpas commented on Apr 7, 2016

    @dmpas
    Contributor

    неистово плюсую 👍

  2. artbear commented on Apr 10, 2016

    @artbear
    Collaborator

    @EvilBeaver
    ИМХО в обоих сценариях у тебя на самом деле 2 разных суб-сценария описаны.
    В итоге должно быть 4 сценария.

  3. EvilBeaver commented on Apr 11, 2016

    @EvilBeaver
    OwnerAuthor

    @artbear А можешь пояснить где именно разделение на 4 сценария? Может предложишь рефакторинг фичи?

  4. artbear commented on Apr 11, 2016

    @artbear
    Collaborator

    Пишу с телефона, поэтому коротко.
    Попробуй выполнить любой из сценариев, и увидишь, что 2й блок Тогда не
    выполнится, т.к. шаги выше делают его недействительным

    пн, 11 Апр 2016, 14:36 Andrei Ovsiankin notifications@github.com:

    @artbear https://github.com/artbear А можешь пояснить где именно
    разделение на 4 сценария? Может предложишь рефакторинг фичи?

    —
    You are receiving this because you were mentioned.

    Reply to this email directly or view it on GitHub
    #82 (comment)

  5. EvilBeaver commented on May 13, 2016

    @EvilBeaver
    OwnerAuthor

    @artbear а можно еще раз для тупых? Что там не выполнится, я не улавливаю.. (

  6. artbear commented on May 13, 2016

    @artbear
    Collaborator

    Следующие шаги сценария противоречат друг другу, т.е сценарий упадет точно.
    Сначала мы клонируем репо в папку, а далее в этой папке запускаю инит, который не выполнится.

    Сценарий: Создан пустой репозиторий на сервере git
    
       Допустим, создан пустой репо на сервере git
       Когда я захожу в пустой каталог, который должен стать рабочей копией git 
        И запускаю gitsync в режиме **clone**
       Тогда gitsync выполняет клонирование в текущий каталог
    
       Когда я захожу в пустой каталог, который должен стать рабочей копией git 
         И запускаю gitsync в режиме **init**
  7. artbear commented on May 13, 2016

    @artbear
    Collaborator

    @EvilBeaver а что означают ** в шаге И запускаю gitsync в режиме **clone** ?

    В геркине разве учитываются подобные знаки?

  8. EvilBeaver commented on May 13, 2016

    @EvilBeaver
    OwnerAuthor

    оказалось, что нет. Это я хотел так выделить жирным в markdown-style

  9. EvilBeaver commented on May 13, 2016

    @EvilBeaver
    OwnerAuthor

    Сначала мы клонируем репо в папку, а далее в этой папке запускаю инит, который не выполнится.

    Да, это как бы два разных теста. Не знаю, как в Геркине оформить правильно

  10. artbear commented on May 13, 2016

    @artbear
    Collaborator

    Да, это как бы два разных теста. Не знаю, как в Геркине оформить правильно

    Я про и говорю с самого начала.
    Как и в жизни, в геркине это отдельные сценарии.

  11. artbear commented on May 13, 2016

    @artbear
    Collaborator

    На самом деле, конечно, можно извернуться и реализовать подобные шаги.
    Например, шаг Когда я захожу в пустой каталог, который должен стать рабочей копией git
    создает новый пустой каталог и делает его текущим, тогда последующие шаги при условии использовании именно текущего каталога должны работать.

  12. artbear commented on May 13, 2016

    @artbear
    Collaborator

    Но как реализовать шаги

    Когда я запускаю gitsync в режиме **init**
         И указываю адрес репо GIT
         И указываю файловый путь к хранилищу 1С

    я лично не понимаю :) как внутри шага установки параметров узнать, что пора бы уже запустить гитсинк ?

  13. 11 remaining items

  14. EvilBeaver commented on Jun 3, 2016

    @EvilBeaver
    OwnerAuthor

    Еще один сценарий шагов от @realMaxA

    в общем, что делаю.
    
    1. Создаю на git-сервере репозитарий test
    2. Клонирую его на локальную машину разработчика.
    3. Инициализирую в нём gitsync gitsync clone d:\Data\1C\8.3\Storage\MyProj git@devel:MaxA/test.git src/config
    4. Прописываю в VERSION версию.
    5. Запускаю синхронизацию gitsync d:\Data\1C\8.3\Storage\MyProj git@devel:MaxA/test.git src/config -v8version 8.3.6.2299
    > > Да. Просто указываешь путь внутри локальной копии
    
    6.тогда он создаёт свой отдельный репозитарий git внутри моего репозитария, что неверно
    
        test\
        |.git
        |src\
            |config\
                |.git
    
  15. artbear commented on Jun 15, 2016

    @artbear
    Collaborator

    Сейчас #82 описывает не полный функционал продукта, а только начальную инициализацию.
    Нужно добавить сценарии реальной работы с продуктом (начальная инициализация, ручные действия пользователя, синхронизация с локальными и удаленными репозитариями гит)

  16. EvilBeaver commented on Jun 15, 2016

    @EvilBeaver
    OwnerAuthor

    #82 это эпик. К нему можно цеплять другие сценарии на Gherkin

  17. artbear commented on Oct 9, 2017

    @artbear
    Collaborator

    Люди ругаются и волнуются и еще 4 пул-реквеста протухли

    @allustin Раскручусь с рабочими делами и постепенно отработаю по всем PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions