Мы храним файлы на сетевом сервере (Windows Server
) для доступа к ним в команде.
Это хорошо работает с Microsoft Office - если я хочу открыть файл, который уже открыт другим пользователем, я получаю предупреждение и возможность открыть его только для чтения.
Однако мы также используем программное обеспечение с открытым исходным кодом, где это не работает. Несколько пользователей могут одновременно открыть один и тот же файл, что приводит к проблемам, например, в следующем сценарии:
- пользователь 1 открывает файл (назовем его версией "v1") и изменяет его без сохранения
- пользователь 2 открывает файл с сервера, который по-прежнему v1, а также начинает изменять
- Теперь пользователь 1 сохраняет свои изменения на сервере и создает v2.
- Теперь пользователь 2 сохраняет свои изменения, создает v3, а изменения пользователя 1 (v2) теряются!
Мы не можем использовать svn
или другие инструменты контроля версий (слишком сложные), поэтому мне интересно, есть ли стандартный механизм, который мог бы быть реализован в программном обеспечении для предотвращения этих проблем.
Как это решают другие программы? Есть ли какая-то информация о "заблокированных файлах", которую нужно включить "как только" кто-то откроет файл?