Wrzucam teraz jeden projekt do naszego subversion. Nie pracowałem
wcześniej z subversion więc jest to dla mnie okazja żeby nauczyć się
czegoś nowego. :) Od razu napotkałem na kilka problemów, z częścią sobie
już poradziłem. Ale mam dwie kwestie.
-= emaile =-
Zdałem sobie sprawę z tego, że właściwie nie powinienem wrzucać do
repozytorium żadnych adresów email. Zasadnicza motywacja, to
ograniczenie ilości transferowanego spamu (niezależnie od spamfilterów).
W NCDCowym intranecie nie muszę się przejmować wyciekaniem adresów mail,
ale w tym przypadku, przy publicznie dostępnym repozytorium to może być
pewien problem.
Przykład: jeśli source code zawiera jakiś jednoznacznie identyfikowalny
email, np. zakodowany w xml:
<person email="[EMAIL PROTECTED]">Foo Bar</person>
, to generując publicznie dostępną dokumentację, mogę go przekształcić
do postaci np.:
<a href="foo[at]bar.com">Foo Bar</a>
, albo nawet zastosować jakiś trick z javascriptem. Ale jeśli taka
dokumentacja leży w source code, w repozytorium subversion, które jest
dostępne publicznie do odczytu po http, to adresy mailowe są
automatycznie "wyeksponowane". Widzę więc, że będę musiał zmienić
niektóre ze swoich nawyków. :( Na razie będę stosował unikalny nick
(uid) dla każdego developera, a potem może zastosuje przy generowaniu
dokumentacji i releasów projektów mapę postaci:
<developers>
<person id="foo" user="foo" domain="bar.com"/>
</developers>
Te dane mogły by też być brane z bazy albo ldapa.
-= keyword substitution =-
Czy da się to osiągnąć w przypadku subversion? W CVS pisałem w stosownym
miejscu kodu $Id$ i miałem unikalną - powiązaną z repozytorium wersję
każdego pliku uwidocznioną w jego sourcecode.
http://fixlinux.com/2006/07/24/subversion-and-keyword-substitution/
Niby coś tu jest na ten temat, ale zdaje się, że nie jest to aż tak
proste jak w CVS. :(
--
"Meaning is differential not referential"
Kazimierz Pogoda
Nordic Consulting & Development Company http://www.ncdc.pl/