2011-11-21 7 views
9

Pracuję na komputerze Mac i korzystam z serwera svn na innym komputerze przy użyciu svn_ssh Chociaż udało mi się dokonać początkowego sprawdzenia i realizacji transakcji, nie mogę wykonać zatwierdzenia z wiersza poleceń, ponieważ system próbuje użyć mojej lokalnej nazwy użytkownika jondoe (i monituje hasło) podczas łączenia się ze zdalnym serwerem, na którym znajduje się moja nazwa użytkownika.jak dokonać zatwierdzenia dla svn, gdy zdalna nazwa użytkownika różni się od lokalnej?

Więc, jak mogę powiedzieć svn + ssh, aby użyć johnd do moich zatwierdzeń?

Odpowiedz

6
  1. kopię zapasową zmian (tylko zmienione pliki, nie wolno zastępować .svn katalogu)
  2. Zamówienie ponownie, ale teraz za pomocą pilota zdalnego użytkownika

    svn checkout svn+ssh://<ssh_username>@<svn host domain>/<server repository path> 
    
  3. Restore zmiany z kopii zapasowej

  4. Zatwierdź je

    svn commit -m 'Description' 
    

Właśnie udało mi się sprawdzić i zatwierdzić różne nazwy użytkowników lokalnych i SSH.

+0

Dzięki, ale daje błąd: svn: musi podać ścieżkę lokalną (nie URL) jako cel zatwierdzenia. Próbowałem w następujący sposób: svn commit -m "Podsumowanie zmian". svn + ssh: // moja-nazwa użytkownika @ mój-serwer/my-home/my-repo właśnie używasz. for myfiles –

+0

całkowicie przeredagował moją odpowiedź, teraz jest testowany –

+0

ok, który prawdopodobnie zadziałał, ale będę tutaj odświeżony, jeśli później zacznę otrzymywać ten sam błąd. Musiałem zmodyfikować twoje instrukcje, żeby działały tak, jak wtedy, gdy robiłem kasę, ale nie udało mi się powiedzieć, że "Myapp jest już kopią roboczą dla innego adresu URL". więc po prostu przeniosłem katalog Myapp do MyappXYZ, a wtedy Twoja sugestia zadziałała. Myślałem o zrobieniu tego w ten sposób, ale miałem nadzieję, że nie, ponieważ podejrzewam, że błąd powtórzy się, ponieważ jest to prawie ten sam sposób, w jaki pierwotnie sprawdziłem mój projekt. Dzięki. –

27

Zastosowanie --username opcja

svn commit --username johnd 
+0

Dzięki, ale to daje kolejny błąd: svn commit --username johnd svn: Commit failed (szczegóły poniżej): svn: system ('vim svn-commit.tmp') zwrócony 256 svn: Wiadomość o zatwierdzeniu została pozostawiona plik tymczasowy: svn: '/Users/johndoe/development/Myapp/svn-commit.tmp' –

+1

@Calgacus - Mam komputer Mac i używam tego samego rodzaju składni, aby ustawić nazwę użytkownika Subversion. Kiedy podasz '--username', powinien poprosić o hasło. Możesz również przekazać hasło za pomocą parametru '--password'.Zastanawiam się, czy masz problem z komendą 'vim', a nie z samą komendą svn. Spróbuj 'svn commit --user johnd -m" opis zatwierdzenia "', który ominął 'vim' dla wprowadzenia komunikatu zatwierdzenia. –

+0

@ Calgacus: wygląda na to, że svn nie znalazł twojego domyślnego edytora. Ustaw odpowiednio zmienne środowiskowe 'EDITOR' lub' SVN_EDITOR' lub przekaż komunikat zatwierdzenia za pomocą opcji '-m'. Zobacz także [to pytanie] (http://stackoverflow.com/q/2008609/72178). – ks1322

2

W swojej ~/.ssh/config, dodać sekcję tak:

Host svn.example.com 
User johnd 

Wymień svn.example.com z nazwą serwera svn.

To będzie działać dla wszystkich połączeń ssh, nie tylko związanych z subversion.

Zobacz także stronę podręcznika ssh_config, którą możesz przeczytać, uruchamiając w powłoce man ssh_config.

Powiązane problemy