Mamy złożone wymagania, takie jak:
- tylko niektórzy użytkownicy mogą tworzyć foldery w częściach drzewa SVN, ale każdy może edytować pliki tam
- Niektóre rozszerzenia plików nie mogą zawierać pewien tekst w pliku
- Niektóre rozszerzenia plików mogą być przechowywane jedynie w podgrupie katalogów
- jak również kilka prostszych, takich jak, musi mieć popełnić komentarz
- Regresja dającej się przetestować przez ru Nina nowego haka przeciwko wszystkim poprzednim zatwierdzeniom SVN
# 5 jest dla nas ogromny, nie ma lepszego sposobu, aby się dowiedzieć, że nie zamierzasz przełamać popełnianych postępów, niż móc przesuwać wszystkie wcześniejsze zatwierdzenia przez nowy hak. Zrozumienie, że 1234 było poprawką, a 1234-1 było transakcją i dokonanie odpowiednich zmian argumentów podczas wywoływania svnlook itp. Było najlepszą decyzją, którą podjęliśmy podczas tego procesu.
Dla nas nakrętka była na tyle duża, że w pełni testowalna, testowana regresja, konsola C# miała sens. Mamy pliki konfiguracyjne, które zasilają ograniczenia katalogów, parsujemy istniejący plik httpd_authz, aby uzyskać "uprzywilejowanych" użytkowników itp. Gdybyśmy nie pracowali w systemie Windows z pracą programistyczną .NET, prawdopodobnie napisałbym to wszystko w Pythonie, ale ponieważ inni mogą potrzebować obsługiwać go w przyszłości, poszedłem .NET przez .BAT, .VBS, głupota Powershell.
Osobiście uważam, że Powershell jest wystarczająco różny od .NET, aby być w większości bezużytecznym językiem "skryptowym". Dobrze, jeśli jedyną dostępną opcją produktu cmd jest PS (Exchange, Windows 2k8) itd., Ale jeśli chcesz tylko parsować jakiś tekst lub uzyskać dostęp do zwykłych obiektów .NET, PS dodaje tylko szaloną składnię i głupie Security Iron Zasłona na coś, co może być szybką i łatwą aplikacją .NET.
Upewnij się, że dostać się patch też. Naprawia dwa błędy: –