Wszyscy wiedzą, że dobrze udokumentowane tworzenie oprogramowania prowadzi do sukcesu. Zazwyczaj oznacza to jednak, że w dokumencie będą uwzględnione nie tylko zwykły tekst, ale także zawartość binarna, na przykład diagram UML. I słyszałem, że wiele osób tak mówi. System kontroli wersji nie jest odpowiednim miejscem dla plików binarnych. Całkowicie rozumiem i zgadzam się z tym problemem. Zapytałem kilku doświadczonych programistów, gdzie powinno być najlepsze miejsce do przechowywania dokumentów, a odpowiedzią było „wiki”. Wiki jest dobra, ale pomyślałem o innym potencjalnym problemie. W jaki sposób kod źródłowy przechowywany w systemie kontroli wersji może łączyć się z powiązanym dokumentem na wiki? Powiedzmy, że ktoś klonuje repozytorium git lub merkurialne. Jak on / ona może łatwo znaleźć dokument? A może po prostu coś przeoczyłem?
Wiem, że niektóre systemy wiki mają możliwość integracji z systemami kontroli źródła. Ale moje obawy nie dotyczą zdolności integracji. Jeśli sklonowałeś kod źródłowy z repozytorium git i po chwili wsiadasz do pociągu i chcesz kontynuować pracę offline w pociągu (co jest dużą cechą DVCS). Nagle zdajesz sobie sprawę, że nie masz dostępu do dokumentów, ponieważ pracujesz w pociągu offline. Z drugiej strony, jeśli dokument byłby przechowywany w repozytorium git, miałbyś dostęp do dokumentu ze sklonowanym repozytorium.