Pokazywanie postów oznaczonych etykietą Synergy. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Synergy. Pokaż wszystkie posty

piątek, 15 czerwca 2012

Integracja IBM Synergy z kdiff3

Mała porada dla osób korzystających (a raczej zmuszonych do korzystania) na co dzień ze "wspaniałego" narzędzia „configuration management solution for global software development”, jakim jest IBM Rational Synergy. O wadach tego narzędzia nie będę się tutaj rozpisywał, bo bym potrzebował osobny post na to, a artykuł na temat zalet zostawiłbym pusty. Sparafrazuję jedynie zdanie ziomka: „IBM sprzedał Synergy ludziom, którzy tak naprawdę w ogóle go nie potrzebują”. I rzeczywiście jest to prawda.

Można na całe szczęście przynajmniej wymienić narzędzie do porównywania i merge'owania plików. Poniżej instrukcja.

  • Ściągamy i instalujemy kdiff3 (jeśli jeszcze nie mamy)
  • Odszukujemy plik ccm.properties w katalogu instalacyjnym Synergy\etc.
  • Robimy kopię
  • Otwieramy oryginał i zamieniamy
    windows.tool.compare.ascii  = %ccm_compare

    na
    windows.tool.compare.ascii  = "C:\\Program Files (x86)\\KDiff3\\kdiff3.exe" -cs EncodingForA=UTF-8 –cs EncodingForB=UTF-8 "%file1" "%file2"
  • a także
    windows.tool.merge.ascii    = %ccm_merge

    na
    windows.tool.merge.ascii = "D:\\Program Files (x86)\\KDiff3\\kdiff3.exe" --cs "EncodingForA=UTF-8" --cs "EncodingForB=UTF-8" --cs "EncodingForC=UTF-8" --cs "EncodingForOutput=UTF-8" --L1 "%ancestor_label" --L2 "%file1_label" --L3 "%file2_label" "%ancestor" "%file1" "%file2" -o "%outfile"
    

Trzeba jeszcze uwzględnić gdzie rzeczywiście mamy zainstalowanego kdiff’a. Gdy jest on dodany do path’a to możemy po prostu kdiff3 w powyższych miejscach wpisać. Jak nie, to trzeba jedynie pamiętać, aby podwójnych backslash’ów użyć. Dodatkowo skorzystałem z flagi -cs EncodingForA=UTF-8, aby z kodowaniem nic mi się nie powaliło.

Jeśli nic nie popsuliśmy to po zrestartowaniu klienta Synergy, możemy się cieszyć kdiff’em przy porównywaniu i merge'owaniu zmian. Co prawda nie robią się one automatycznie jak w przypadku integracji z SVN’em lub GIT’em (nie wiem dlaczego), ale i tak mi lepiej odpowiada to narzędzie, niż standardowe załączone w kliencie Synergy.

Jak się nie podoba, to zawsze można wrócić do starego, standardowego narzędzia dostarczonego razem z Synergy.