Как узнать, кто проверил файл? - PullRequest
0 голосов
/ 01 сентября 2010

Я ищу возможность управления исходным кодом для моей команды.Появилось внешнее требование: «менеджеры / лидеры» хотят знать, кто проверял, какой файл и когда.На самом деле это не блокировка, они просто хотят знать, когда и кем был удален файл.Это также требование к ограничению показа, и я не могу его контролировать.

Я в основном смотрю на использование Subversion.Я полагаю, что если я использую его через Apache, то смогу анализировать журналы HTTP, если только для этого не существует инструмента, либо инструмента анализа веб-журналов сторонних производителей, либо чего-либо, непосредственно созданного для Subversion.инструменты, которые могут иметь такую ​​функцию?

Ответы [ 2 ]

4 голосов
/ 02 сентября 2010

Бесплатные системы контроля версий не склонны предоставлять вам эту информацию, потому что они работают независимо от сервера - вы можете «получить» файл, но вам не нужно сообщать серверу, что вы изменили его, пока вы Приходите, чтобы зарегистрироваться. Это само по себе преднамеренное свойство, так как оно означает, что вы можете работать в дороге, дома и т. д., не привязываясь к центральному хранилищу.

Блокировки могут быть использованы в subversion для получения аналогичных отчетов, но это не очень хорошее решение. Они предназначены для предотвращения одновременного изменения файла двумя людьми, особенно там, где слияния являются проблемой. Тем не менее, они на самом деле не препятствуют тому, чтобы кто-то регистрировал файл, не получив блокировку, поэтому в лучшем случае это слабое указание, а не гарантия.

Кроме того, ни одна из более современных распределенных систем, таких как git или mercurial, не может даже дать вам эту информацию, репозитории находятся на вашем компьютере, не централизованы, и ссылки на оригинал не очень хороши. Подумайте - у вас есть 5 локальных веток, вы сообщаете, что все файлы были изменены по сравнению с оригиналом, или только активная ветка? Вы можете клонировать репо из уже клонированных репозиториев. Сколько уровней абстракции вы выполняете, чтобы попасть в «мастер» репо? Кто решает, и как бы вы настроили, что это за мастер? Git et al могут справиться со всей этой сложностью с большой благодатью, но вопрос «кто проверил этот файл» в этом контексте почти бессмыслен.

Старые приверженцы, такие как TFS и Perforce, позволяют это. Но мне было бы любопытно, зачем им нужна эта функция, просто потому, что у кого-то есть модифицированная копия файла, на самом деле ничего не значит с точки зрения управления, ветки все еще могут быть очень эффективно защищены с помощью безопасности хранилища, любой системы отслеживания задач, такой как trac или Redmine скажет вам, кто что делает, и отлично интегрируется с SVN.

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

3 голосов
/ 01 октября 2010

Я, как разработчик, чувствовал бы определенный дискомфорт, но то, что хотят ваши "менеджеры", это клиентская "шпионская" программа.Это может быть реализовано как плагин Eclipse, например, который собирает статические данные о том, какие файлы открываются и редактируются или что-то в этом роде.

С другой стороны: Получите некоторый смысл в ваших начальстве.Если они еще не испытали недостаток квалифицированного ИТ-персонала, то вскоре они могли бы пройти такой курс.

Хорошее управление проектами применяет менее инвазивные методы для сбора информации о прогрессе и эффективности.

...