Новая версия платформы MetaTrader 5 build 1745 - страница 7

 
Renat Fatkhullin:

Только методом работы в Shared Projects и наличию файла именно в папке проекта внутри Shared Projects.

В этом и суть совместной работы - делаете физически отчуждаемый проект и в режиме версионной репликации каталога работаете с другими участниками. Если вы закладываетесь на нестандартные(все, кроме стандартной поставки MQL5) связи вне реплицируемого каталога, значит делаете неправильно.

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

Чтобы совсем было понятно:

  • Ваш личный каталог /MQL5 - это отдельная физическая сущность/проект, которая реплицируется отдельно и доступна только вам персонально.
  • Нельзя совместно работать в личном каталоге
  • Проекты в Shared Projects - это физически отдельные и несвязанные реплицируемые проекты, у которые есть права совместного доступа
  • Совместно работать можно только с проектами в Shared Projects

Логика работы с совместными проектами общепринятая. У нее есть требования и ограничения, без которых все развалится. Подход "все неправильно, я хочу по-другому, хочу по-своему, мне не нравится" тут не сработает - все давно обосновано и правильно.

Поэтому надо под эти правила подстраиваться, чтобы получить правильную систему работы.

Я всегда стараюсь задавать вопросы с позиции простого, обычного, НЕ ГИКА, пользователя. Для таких фраза "Общепринятая логика работы с проектами" есть нечто чуждое и неведомое. 

А почему я так настойчиво спрашиваю "как предоставить доступ": сейчас работаю в Word 2016 с совместным доступом - вижу онлайн изменения, которые печатает человек на второй стороне. Жаль что нечто подобное (пусть и не онлайн, а только зафиксированные изменения) нельзя сделать через MQL5 - ибо на пути встаёт стена в виде "Общепринятая логика работы с проектами". 

Обидно, что придётся создавать КОПИИ - при таком подходе использование Хранилища и контроль версий становится фарсом и ненужным придатком. 

Вероятно найду выход через расшаривание доступа, но это точно будет за пределами MQL5. Возможно через стандартные возможности Windows 10.

 
Vladimir Karputov:

Я всегда стараюсь задавать вопросы с позиции простого, обычного, НЕ ГИКА, пользователя. Для таких фраза "Общепринятая логика работы с проектами" есть нечто чуждое и неведомое. 

У нас тут с позиции "не гика" еще требуют и "простой язык".

Но, как и с языком обучением программированию, так и с групповой работой ничего сделать нельзя. Это программирование с проверенными методиками групповой работы и версионным контролем.

Так что в 5 раз повторю - магии нет, но вы ее продолжаете требовать и искать. Есть сущность физической репликации каталога данных. В рамках этой сущности и надо строить работу над проектами.

 

Vladimir Karputov:

Обидно, что придётся создавать КОПИИ - при таком подходе использование Хранилища и контроль версий становится фарсом и ненужным придатком. 

Вероятно найду выход через расшаривание доступа, но это точно будет за пределами MQL5. Возможно через стандартные возможности Windows 10.

Ренат писал уже - копии файлов создавать не надо, есть встроенная в Windows функция создания ссылок на файлы и каталоги.

См. например https://tyapk.ru/blog/post/hardlink-and-symlink-windows

Жесткие и символические ссылки в Windows
  • Alexandr A. Vetrov
  • tyapk.ru
Используя жёсткие ссылки файлов и каталогов, можно иметь несколько различных имён файлов или каталогов, ссылающихся на одни и те же данные. В windows механизм работает в файловой системе NTFS. Статья о том, как сделать такие ссылки в windows. Возможно вы сталикивались со следующими задачами: Установить приложение или игру на HDD диск, а часть...
 
Aytugan Khafizov:

Ренат писал уже - копии файлов создавать не надо, есть встроенная в Windows функция создания ссылок на файлы и каталоги.

См. например https://tyapk.ru/blog/post/hardlink-and-symlink-windows


Здесь уже один человек потерял ПОЛНОСТЬЮ свои программы после игр с ссылками на папки. Безвозвратно снес каталог одним легким движением руки. Повторять подвиг нет желания. И так после обновления Хранилища БЫЛИ ПОТЕРЯНЫ описания ревизий ВСЕХ программ.

 
Vladimir Karputov:

Здесь уже один человек потерял ПОЛНОСТЬЮ свои программы после игр с ссылками на папки. Безвозвратно снес каталог одним легким движением руки. Повторять подвиг нет желания. И так после обновления Хранилища БЫЛИ ПОТЕРЯНЫ описания ревизий ВСЕХ программ.

1) реплицируйте в хранилище и данные не потеряете

2) старое хранилище на https://storage.mql5.com еще пару лет будет работать, там ничего не потерялось и все можно скачать как через веб-интерфейс, так и через любой Subversion клиент (например, TortoiseSVN)

3) игра со ссылками опасна и надо очень четко давать себе отчет, что делаешь. мы добавим в редактор явный контроль наличия ссылок, чтобы делать unlink подкаталогов/файлов вместо физическогго удаления оригинала

 
Vladimir Karputov:

Жаль что нечто подобное (пусть и не онлайн, а только зафиксированные изменения) нельзя сделать через MQL5 - ибо на пути встаёт стена в виде "Общепринятая логика работы с проектами". 
Обидно, что придётся создавать КОПИИ - при таком подходе использование Хранилища и контроль версий становится фарсом и ненужным придатком. 


На сколько понял желания Владимира, он бы хотел иметь неизменяемость личного кода из shared project и возможность контроля за добавлением изменений в его личный код, которые будут предлагаться другими участниками проектной разработки.
По сути: что бы была возможность сделать fork (branch) для shared project, Владимир будет контролировать merge в master ветку.

 
Sergey Dzyublik:

На сколько понял желания Владимира, он бы, возможно, хотел иметь неизменяемость личного кода из shared project и возможность контроля за добавлением изменений в его личный код, которые будут предлагаться другими участниками проектной разработки.
По сути: что бы была возможность сделать fork (branch) для shared project, Владимир будет контролировать marge в master ветку.


Нет. Не так. Меня до смерти достало пересылать после каждого изменения кучу файлов: включаемые файлы из \Include\Моя вложенная папка, проверочных скриптов из \Scripts\Моя вложенная папка, проверочных индикаторов из \Indicators\Моя вложенная папка и проверочных советников из \Experts\Моя вложенная папка.

При такой пересылке (после того, как я вношу любое изменение и фиксирую это изменение в Хранилище) человеку на второй стороне легче застрелиться.

Я ищу путь, как ПРОСТО человеку на второй стороне видеть мой прогресс работы, мои изменения. При этом вариант с созданием КОПИЙ на моей стороне КАТЕГОРИЧЕСКИ отвергается. Я хочу транслировать прогресс своей работы на вторую сторону.


Добавлено: пример такой работы - документ Word 2016 c совместным доступом. Все кто подключен онлайн видят все вносимые изменения в документ.

 
Sergey Dzyublik:

На сколько понял желания Владимира, он бы хотел иметь неизменяемость личного кода из shared project и возможность контроля за добавлением изменений в его личный код, которые будут предлагаться другими участниками проектной разработки.
По сути: что бы была возможность сделать fork (branch) для shared project, Владимир будет контролировать marge в master ветку.

Все это делается в рамках отдельного разделяемого проекта без залезания в личное пространство.

Достаточно перестроиться и начать думать в рамках совместных проектов. Нет никакого личного, если ты занимаешься групповой работой. Никто же из разработчиков нормальных софтверных компаний не выставляет требований своей компании "сделайте так, чтобы я встал в центр процесса, имел свое личное пространство, а все остальные крутились вокруг меня". В центре проект, а все остальные работают вокруг него.

Мы не можем смешивать личный проект (а корневая папка MQL5 - это именно физически отдельный реплицируемый subversion проект) и физически отделенные совместные subversion проекты.

В совместных проектах владелец сам выставляет права на запись в проект, чтобы дать возможность другим коммитить изменения. Так как проекты достаточно скромные (в сравнение в обычными софтверными проектами), то все можно контролировать без бранчей. Бранчи в данным случае на порядок усложнят понимание совместной работы.

 
Vladimir Karputov:


Я ищу путь, как ПРОСТО человеку на второй стороне видеть мой прогресс работы, мои изменения. При этом вариант с созданием КОПИЙ на моей стороне КАТЕГОРИЧЕСКИ отвергается. Я хочу транслировать прогресс своей работы на вторую сторону.

Рекомендую слушать советы тех, для кого это профессиональная область деятельности.

 
Alexey Viktorov:

Я конечно без претензий, но...

1. Всё чаще встречаются какие-то ограничения права выбора, ставь программу не туда куда хочешь, а сюда, куда мы вам сказали, типа "Туда не ходи. Сюда ходи. Снег башка попадёт..." Зачем это? Не понятно...

4. и 9. Это типа один раз сжать маловато будет, надо дожать второй раз:))))))


Все понятно. Только бизнес.

Причина обращения: