Язык предварительной фиксации Subversion

Как определить, из какой страны выполняется коммит?

Пример (перехватчик перед фиксацией):

#!/bin/sh
svnlook changed -t $2 $1 && echo && svnlook log -t $2 $1 

Дает мне ...

U    test/read.me
U    test/pom.xml

ABC-123: Added text to read.me and updated <name> in pom.xml

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


person Grim    schedule 03.02.2017    source источник
comment
Каково фактическое требование, которое вы пытаетесь выполнить?   -  person alroc    schedule 03.02.2017


Ответы (1)


АФАИК это невозможно. IP-адрес фиксации недоступен для сценариев перехвата. Даже если бы это было так, геолокация по IP-адресу ненадежна из-за VPN, NAT, прокси и т. д. С бесплатным сервисом VPN, который сейчас есть на моем компьютере, я могу представить себя в любой из 18 или около того стран вокруг. мир одним щелчком мыши.

Кроме того, ваш хук-скрипт не должен с самого начала пытаться изменить фиксацию в процессе выполнения (если это то, что вы хотите сделать).

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

Есть вероятно лучшие способы добиться того, что вы пытаетесь сделать, но вы не предоставили достаточно подробностей о своих требованиях, чтобы что-то сказать.

person alroc    schedule 03.02.2017