Subversion'da giriş adımım dışında bir kullanıcı olabilir miyim?


253

SubversionDeğişikliklerimin altında göründüğü adı nasıl değiştirebileceğimi bilmek istiyorum .

Kullanmaya yeni başlıyorum Subversion. Şu anda eşimin adı altında her zaman giriş yaptığım bir XP dizüstü bilgisayarda sürüm kontrol kodunu kullanıyorum. Subversion DB'nin ismim altındaki değişiklikleri göstermesini istiyorum.

Daha sonra DB çoğaltmak böylece tüm ev erişilebilir. Eşim her zaman benim adım altında oturum açtığı ofis bilgisayarını kullanıyor. Muhtemelen değiştirilmiş belgeleri otomatik olarak kontrol edecek şekilde ayarlayacağım ... tercihen onun adı altında.

Sonunda muhtemelen başka bir kullanıcı adı altında bir linux makineden kullanacağım.

Subversion'ın sizi aradığı kullanıcı adını değiştirmek için kullanıcı ortamını değiştirmenin bir yolu var mı? SVN_USERNAME='Mark'Ancak adı genellikle alır geçersiz kılan ayar gibi bir şey beklenir .

Güncelleme:--username Michael'ın bahsettiği bayrak, "svn stat"yerel dosya depoları için bile rapor edilen adı değiştirmek için çalışıyor gibi görünüyor . Ayrıca yapışkandır, bu nedenle bir sonraki komut için belirtmeniz gerekmez. Hatta yeniden başlattım ve hala "--username"önceki önyüklememdeki değeri kullandı .

Yanıtlar:


280

Çoğu Subversion komutu --username, depoda kullanmak istediğiniz kullanıcı adını belirtme seçeneğini kullanır. Subversion, her çalışan kopyada kullanılan son havuz kullanıcı adını ve parolasını hatırlar; diğer bir deyişle, kullanırsanız svn checkout --username myuserkullanıcı adını bir daha asla belirtmeniz gerekmez.

Kamil Kisiel'in dediği gibi Subversion, depoya doğrudan dosya sisteminden eriştiğinde (yani, havuz URL'si formda file:///path/to/repoveya formdadır file://file-server/path/to/repo), depoya erişmek için dosya sistemi izinlerinizi kullanır. Ve SSH tüneli ( svn+ssh://server/path/to/repo) ile bağlandığınızda , SVN SSH giriş bilgilerinizle belirlendiği şekilde sunucudaki FS izinlerinizi kullanır . Bu durumlarda svn checkout --usernamedeponuz için çalışmayabilir.


Hızlı cevap için teşekkürler. --Username bayrağı, yeniden başlatmalarda bile çok yapışkan görünüyor. Ve dosyamda iyi çalışıyor: depo.
piyasalar

70

Svn üzerinden ssh için şunu deneyin:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn sizden user_name'şifresini ister.


1
Gibi kullanıcı adları ile çalışmaz: johndoe@example.com
neoneye

4
https://user_name@.../pathbenim için çalışmadı (cygwin) ama --usernameiyi çalışıyor.
zelanix

44

~ / .Subversion / sunucular üzerinden varsayılan bir kullanıcı adı ayarlayabilirsiniz:

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

Lütfen eski svn sürümlerinin desteklemediğini unutmayın (örn. 1.3.1 [sic!]).


37
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

Başka bir kullanıcı hesabındayken benim için çalıştı. Yine de sizden kullanıcı adı / şifre girmeniz istenecektir. Yukarıdaki gibi bir kez giriş yapmanız gerekir ve sonraki saatler için hazırsınızdır (Makinenizi yeniden başlatmazsanız).


4
Komut satırında parolayı verirken dikkatli olun. Makinede işlem listesini görebilen herkes işlem listesinde parolayı görebilecektir. Tek kullanıcılı bir sistemde iyi, ancak çok kullanıcılı bir sistemde iyi değil.
bleater


11

Subversion genellikle, oturum açmış kullanıcı adımı kullanamazsa "Subversion kullanıcı adımı" soruyor. Bu yüzden, tembel olduğumda (genellikle) sadece şifremi sormam için izin vereceğim ve enter tuşuna basıp kullanıcı adı istemini bekleyeceğim ve Subversion kullanıcı adımı kullanacağım.

Aksi takdirde, Michael'ın çözümü kullanıcı adını hemen belirtmek için iyi bir yoldur.


1
Bunu daha iyi bir cevap olarak görüyorum, çünkü --username bayrağının var olmayan veya çeşitli komutlar için biraz farklı olduğu tüm SVN komutları (ödeme, taahhüt vb.) İçin çalışıyor ...
edwardsharp



6

Subversion'u Apache modülü veya svnserve ile kullanma. İşlemleri birden çok kullanıcı olarak gerçekleştirebildim --username.

Subversion komutunu her yeni kullanıcı olarak her çağırışınızda, $HOME/.subversion/auth/<authentication-method>/dizininiz o kullanıcı için önbelleğe alınmış yeni bir girişe sahip olacaktır (söz konusu kullanıcı olarak iletişim kurduğunuz sunucu için doğru şifreyi veya kimlik doğrulama yöntemini doğrulayabileceğinizi varsayarsak) .



2

Adresine gidin ~/.subversion/auth/svn.simple/*, svn kullanıcı hesabınızla ilgili bilgileri içeren dosyaların bir listesini göreceksiniz. İhtiyacınız olmayan diğerlerini silin.

Bundan sonra, taahhüt, rm, vb.Gibi SVN işlemi ile ilgili bir şey yaptığınızda. Kullanıcı adını veya şifreleri tekrar girmeniz istenir.


-1

TortoiseSVN her zaman kullanıcı adı ister. (söylemediğiniz sürece)


Hayır değil. En azından Linux için 1.9.5'te değil.
drkvogel

Varsayılan olarak yerel kullanıcı adınızı kullanır; bu, uzak bir depoya bağlanırken her zaman istediğiniz şey değildir.
drkvogel

-3

SVN_USERSVN kullanıcı adınızı değiştirmek için ortam değişkenini ayarlayabileceğinize inanıyorum .


3
Bunun için bir referans verebilir misiniz? Bir arama yaptım ve sadece svn_username, birisinin yaptığı bir yama buldum ve ana hatta yapılıp yapılmadığını söyleyemem ... Eğer öyleyse başka hitler bulurdum.
pazarlar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.