TortoiseSVN'yi komut satırı üzerinden kullanma


254

Komut satırı SVN seçeneklerini kullanmak istiyorum. TortoiseSVN kullanıyorum ve birkaç komut çalıştırıyorum ve aşağıdaki hatayı alıyorum.

'svn' dahili veya harici komut olarak tanınmıyor

Komutu kullandım

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

Sanırım bir ortam değişkeni ya da başka bir şey eklemeliyim.

Ne yapmalıyım veya komut satırından TortoiseSVN kullanılamıyor?


4
Slik'in yıkılmasını öneriyorum . Ve kurduktan sonra sadece bin dizinini yolunuza ekleyin. -bhups
bhups

3
TortoiseSVN muhtemelen en çok kullanılan Windows GUI SVN istemcisidir ve tamamen belgelenmiştir. Sadece referans komut satırı uygulaması olmadığı için sözde istemci demezdim.
Joey

18
TortoiseSVN'nin en son sürümü (bu yazının 1.7.1'i) komut satırı araçları için yükleme sırasında bir seçeneğe sahiptir. Varsayılan olarak açık değildir, ancak svn için standart komut satırı dosyalarını yükler. Bu yüzden artık İpek gibi ayrı bir alt paket kurmaya gerek yok.
vee

1
Sadece hızlı bir FYI, Slik svn kullanıyorsanız ve şu hatayı alırsanız: "'svn' tanınmadı ..." Sistem Özellikleri iletişim kutusunu açmanız gerekebilir. Slik, Path değişkeninize doğru girişi eklese de, değişkeni etkinleştirmek için düzenle'yi ve 'tamam'ı (herhangi bir değişiklik yapmamış olsanız bile) tıklamanız gerekebilir. En azından Windows Vista kullanma deneyimim buydu. Bunu yaptıktan sonra, Windows Yoldaki değişikliği tanıdı ve svn komutum kabul edildi.
Jesse

1
SlikSvn / bin yolunu ortam değişkenine ekledim ama yine de bu hatayı alıyorum ...
Lion789

Yanıtlar:


464

Varsayılan olarak TortoiseSVN daima kendisiyle ilişkilendirilmiş bir GUI'ye (Grafik Kullanıcı Arayüzü) sahiptir. Ancak yükleyicide (sürüm 1.7 ve sonrası) "komut satırı istemci araçları" seçeneğini belirleyebilirsiniz, böylece komut satırından svn komutlarını (svn commit ve svn update gibi) çağırabilirsiniz.

Yükleyicideki "komut satırı istemci araçları" seçeneğinin ekran görüntüsü, onu seçtiğinizden emin olmanız gerekir:

-Tortoisesvn-CommandLineTools nasıl yüklenir-


52
Şahsen, bu cevabı kabul edilene tercih ederim: ikincil kurulum yok ve standart SVN komut satırına tam erişim.
Haroldo_OK

2
Ayrıca komut satırı aracı sürümlerinin TortoiseSVN sürümü ile senkronize kalmasının ek bir yararı vardır.
the_mandrill

4
... yani daha ayrıntılı olarak: Subversion'un çalışma dizini biçimi birkaç kez değişti, örneğin 1.7 ve 1.8 sürümlerinde. 1.7 istemcisi svn upgraded olmadığı sürece eski bir çalışma dizini kullanmayacak ; bundan sonra 1,6 müşteri artık kullanamayacak.
Tobias

38
İpucu olarak, zaten Tortoise yüklüyse, yeniden yüklemenize gerek yoktur. Sadece orijinal yükleyici .msi dosyasını açabilir ve "Kaldır" ı seçmek yerine "Değiştir" i seçebilirsiniz. Mevcut Tortoise kurulumunuzu hiçbir şey bozmadan güncelleyecektir.
Trevor

5
İpucu olarak, zaten Tortoise yüklüyse ve .msi dosyasına sahip değilseniz - Denetim Masası -> Programlar ve Özellikler'e gidebilir ve ardından TortoiseSVN -> Değiştir'i seçebilirsiniz.
zvi

131

TortoiseSVN, TortoiseSVN GUI otomasyonu için kullanılabilen bir komut satırı arayüzüne sahiptir ve normal Subversion'dan farklıdır.

TortoiseSVN'nin komut satırı seçenekleri hakkında bilgileri şu belgelerde bulabilirsiniz: Ek D. TortoiseSVN'yi Otomatikleştirme . Burada çalışmak için ana program TortoiseProc.exe.

Ama üstte hemen hemen bir not zaten şöyle diyor:

TortoiseSVN'nin bir GUI istemcisi olduğunu ve bu otomasyon kılavuzunun TortoiseSVN iletişim kutularının kullanıcı girdisini toplamak için nasıl görüneceğini göstereceğini unutmayın. Giriş gerektirmeyen bir komut dosyası yazmak istiyorsanız, bunun yerine resmi Subversion komut satırı istemcisini kullanmalısınız.

Başka bir seçenek Subversion ikili dosyalarını kurmanızdır. Slik SVN güzel bir yapıdır (Collabnet gibi bir kayıt gerektirmez). TortoiseSVN'nin son sürümleri, yüklemeyi seçerseniz de komut satırı istemcisini içerir.


2
Sadece buna eklemek için - Kaplumbağa'nın yolunuzda olduğundan emin olun. Aksi takdirde hiçbir şey çalışmaz.
Thomas Owens

2
Bu cevaba dayanarak, en iyi seçeneğin ikinci bir komut satırı arabirimini öğrenmek yerine gerçek SVN komut satırı istemcisini yüklemek olduğunu düşünüyorum. Yine de bunu nasıl yapacağımı bilmiyorum.
jprete

2
Thomas: Varsayılan olarak hem TortoiseSVN hem de Slik SVN yolu uygun şekilde değiştirir.
Joey

23
Bu çözüm güncelliğini yitirdi, TortosieSVN yükleyicisi artık komut satırı araçlarını içeriyor.
Josh

1
PATH ortam değişkeninizdeki değişikliği alabilmeniz için kurulumdan sonra yeniden başlatmanız gerekebilir.
Oliver Bock

91

TortoiseSVN GUI'yi zaten yüklediyseniz ve komut satırı araçlarına nasıl yükselteceğinizi merak ediyorsanız, adımlar ...

  1. Windows Denetim Masası → Program ve Özellikler'e gidin (Windows 7+)
  2. TortoiseSVN'yi bulun ve tıklayın.
  3. Mevcut seçeneklerden "Değiştir" i seçin.
  4. Diğer adımlar için bu resme bakın.

    TortoiseSVN Komut Satırı Etkin

  5. Komut satırı istemci araçlarını tamamladıktan sonra, bir komut istemi açın svn helpve başarılı yüklemeyi kontrol etmek için yazın .


Yanıtınız henüz biçimlendirilmedi. Ve istenmeyen bilgileri vardı. Cevabınızı hem biçimlendirme hem de düzenleme yaptı. Daha fazla bilgi için lütfen yardım merkezini okuyun. ;)
Şanslı

Win10 "Uygulamalar ve Özellikler" .. ama bu muhtemelen belli
ince

Tamam bana inanma. Lütfen düzenlemenin yasal olup olmadığını meta olarak bir soru olarak sorun. Sadece cevabınızı biçimlendirmekle kalmadı, aynı zamanda cevap için gerekli olmayan istenmeyen bilgileri de sildi. Buna ılımlılık denir. Ve yüksek temsilcileri olan kişiler genellikle siteyi denetleyerek ve katkıda bulunarak temizlerler, bu yüzden yardım merkezine bakmanızı önerdim. Ama sadece bilgi edinmek yerine tartışmak istiyorsunuz. İyi şanslar.😉
Şanslı

Evet, aslında bilgiyi paylaşmak ve birisinin işini talep etmek ve vaaz etmemekle ilgileniyorum. Ayrıca yüksek temsilcilerin kör bir takipçisi değilim.
Devendra Vaja

komut satırını etkinleştirirken, indirilmesi gereken uygulama yolunu ister. yol: osdn.net/projects/tortoisesvn/storage/1.12.0/Application/…
Amit Joshi

27

Komut desteğini kullanmak için şu adımları izlemelisiniz:

  1. Ortam Değişkenlerinde Yol Tanımlama:

    • ' Sistem Özellikleri'ni açın ;
    • ' Gelişmiş ' sekmesinde ' Ortam Değişkenleri ' düğmesine tıklayın
    • bölümünde ' Sistem değişkenler ' seçeneğini ' Yol ' seçeneği ve 'tıklayın düzenlemek '
    • TortoiseProc.exe dosyasının yolu ile değişken değer ekleyin , örneğin:

      C: \ Program Dosyaları \ TortoiseSVN \ bin

  2. TortoiseProc'u kaydettirdiğiniz için TortoiseSVN belgelerine göre kullanabilirsiniz .

    Örnekler:

    TortoiseProc.exe / command: commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt "/ logmsg:" test günlüğü mesajı "/ closeonend: 0

    TortoiseProc.exe / komut: güncelleme / yol: "c: \ svn_wc \" / closeonend: 0

    TortoiseProc.exe / komut: log /path:"c:\svn_wc\file1.txt "/ startrev: 50 / endrev: 60 / closeonend: 0

Not 'TortoiseProc' yerine 'svn' gibi kolay bir ad kullanmak için 'svn.bat' dosyasını 'TortoiseProc.exe' dizinine yerleştirin. Svn.bat örneği var:

TortoiseProc.exe %1 %2 %3

Ana sorun, yürütülebilir dosyanın adı (ve nasıl bulunacağı) değil, tamamen farklı komut satırı sözdizimi; tsvnprogramımı anlatan cevabımı görün (Warlock'un cevabı sırasında mevcut olmayan). Son Windows sürümleri tüm bağımsız değişkenleri %*( %1 %2 %3... yerine ) olarak belirtmeye izin verir .
Tobias

10

Svn'yi etkinleştirmek için TortoiseSVN kurulum programını tekrar çalıştırın, "Değiştir" i seçin (Kullanıcıların özelliklerin yüklenme biçimini değiştirmesine izin verir) ve "komut satırı istemci araçlarını" yükleyin.


"Değiştir" seçeneğinin nerede olduğunu merak edenler için - Tortoise SVN'yi yeniden yüklemeye çalışın
maya

@maya Daha önce yüklediyseniz, yüklemeyi kaldırıp yeniden yüklemeyi denemeyin. Control Panel\Programs\Programs and FeaturesTortoise SVN aramasına gidin ve tıklayın Changeve ardından tıklayın Modify.
Şanslı

9

Benim çözüm en çok kullandığım komutlar için bazı takma adları ayarlamak için DOSKEY kullanmak oldu :

DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*

Google, Unix'te. * Rc dosyası gibi komut istemini her açtığınızda çalışan bir .cmd dosyasının nasıl ayarlanacağına ilişkin ipuçları için "doskey devam ediyor".


Harika! Bu, svnkomut satırından sıradan değil , TortoiseSVN'yi gerçekten çağıran tek cevaptır .
Warlike Şempanze

4

Hem TortoiseSVN hem de Apache Subversion komut satırı araçlarını yükleyebilirsiniz. Apache SVN araçlarını genellikle VisualSVN indirme sitesinden yüklerim: https://www.visualsvn.com/downloads/

Kurulduktan sonra Subversion \ bin'i ayarladığınız PATH'e yerleştirin. Sonra GUI kullanmak istediğinizde TortoiseSVN kullanabileceksiniz ve komut satırından kullanmak için uygun SVN komut satırı araçlarına sahip olacaksınız.


3

Birçok TortoiseSVN kullanıcısının aslında svn.exekomut satırı istemcisi ararken yanlış komut satırı araçlarını kullanmasına neden olan bir karışıklık var .

Ne yapmalıyım veya komut satırından TortoiseSVN kullanılamıyor?

svn.exe

Subversion komutlarını komut isteminden çalıştırmak istiyorsanız, svn.exe komut satırı istemcisini . TortoiseSVN 1.6.x ve daha eski sürümleri SVN komut satırı araçlarını içermiyordu, ancak modern sürümleri içeriyor.

TortoiseSVN'yi yüklemek zorunda kalmadan SVN komut satırı araçlarını almak istiyorsanız, SVN ikili dağıtımları sayfasını kontrol edin veya en son sürümü VisualSVN indirme sayfasından indirin .

Sisteminizde SVN komut satırı araçları yüklü, ancak yine de hatayı alıyorsanız 'svn' is not recognized as an internal or external command, %PATH%ortam değişkenini kontrol etmelisiniz . %PATH%SVN araçları dizininin yolunu içermelidir, ör.C:\Program Files (x86)\VisualSVN\bin .

TortoiseProc.exe

Bunun dışında svn.exeTortoiseSVN TortoiseProc.exe, komut isteminden çağrılabilen bir yazılımla birlikte gelir . Çoğu durumda, sen do not sadece GUI otomasyonu için kullanılması gerektiğini, çünkü bu aracı kullanmak gerekir. TortoiseProc.exeSVN komut satırı istemcisinin yerini almaz.


2

Joey'in işaret ettiği gibi, TortoiseSVN'nin kendi komut satırı sözdizimi vardır. Ne yazık ki oldukça çirkin, eğer alışkınsanızsvn komutlara ve geçerli çalışma dizinini yok sayar, bu nedenle komut dosyası dışında çok kullanışlı değildir.

Komut satırı sözdizimini mümkün olduğunca tsvntaklit eden svnve buna göre TortoiseSVN'yi çağıran küçük bir Python programı ( ) oluşturdum . Böylece, normal komut satırı araçlarını çağırmak ve TortoiseSVN'yi çağırmak arasındaki fark tbaşlangıçta küçük bir harfe indirgenir .

Benim tsvnprogram değil henüz tamamlanmış ama zaten yararlıdır. Peynir dükkanında bulunabilir ( https://pypi.python.org/pypi/tsvn/ )


Python'a aşina olmayanlar için: yeni bir Python 2.x yorumlayıcısına ihtiyacınız var. Varsa easy_installveya varsa pip install, yalnızca belirtin tsvn; aksi takdirde tarball'ı indirip çıkarabilir ve içerdiği setup.pykurulum komut dosyasını çalıştırabilirsiniz . Yorumlandığı için, onu ayrıntılı olarak inceleyebilirsiniz ;-)
Tobias

2

Bir süre sonra bu geçici çözümü kullandım ...

(.bat dosyasında)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%

2

SVN komutlarını almak için yaptığım düzeltme TortoiseSVN dizininden .exe ve .dll dosyalarını kopyalayıp system32 klasörüne yapıştırmaktı.

Komutu TortoiseSVN dizininden de gerçekleştirebilir ve her dizine çalışma dizininin yolunu ekleyebilirsiniz. Örneğin:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

Çöp kutusunu yola eklemek, dosyaları çoğaltmadan çalışmasını sağlamalı, ancak benim için çalışmadı.


Bu yaklaşım işe yaramıyor, hala gösteriyor'svn' is not recognized as an internal or external command
Suraj M

0

"SVN komut satırı araçları" nı seçtikten sonra şu şekilde olacaktır:

Resim açıklamasını buraya girin


5
İstenen sonuç budur, ancak bu cevap bunu nasıl başaracağınızı söylemez.
BogdanBiv
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.