2009-12-31 20 views
9

'svn: mergeinfo' özelliğini yalnızca kök şube klasöründe tutmaya çalışıyoruz. Ancak, onu alt klasörlere sürüklemeye devam ediyoruz. Eski svn müşterilerine svn: mergeinfos alt klasörler nasıl engellenir?

Can Kullanarak intellij

  • yılında

    1. repo tarayıcı
    2. bir klasör Taşınma ve/veya yeniden adlandırma paketleri: Bazı olası nedenleri tespit edebildik Bu özellikleri kazara yaratmaktan kaçınmak için yapmamamız gereken şeylerin listesi var mı?

      Kullandığımız araçlar IntelliJ 8 (yakında 9), Ankh, TortoiseSVN ve SlikSvn.

  • cevap

    1

    Sadece svn: non-trunk'taki özellikleri reddeden bir SVN hook/trigger yazdık. Asla geri bakmadık.

    +0

    Kanca komut dosyasını paylaşır mısınız? –

    +0

    @WinstonSmith - Artık aynı şirkette çalışmıyorum, bu yüzden kancaya erişimim yok. Eğer sizin için gerçekten önemliyse, etrafta denemeyi ve sormayı deneyebilirim, fakat uygulanması çok önemsiz olmalıdır (eğer olmasa da, sadece nasıl yapılacağı konusunda bir soru sorun). – ripper234

    0

    Böyle bir liste sağlayamıyorum. log kullanıcısı eylemini, klasör özelliği değişikliği 'a götürecek ve iş akışınıza göre uygun olan her şeyi uyarır veya reddeder, svn kancasını kullanmanızı öneririm.

    11

    Ne yazık ki, eski svn istemcileri bunu yapar ve svn'nin bu eski sürümlerini temel alan araçlar da bozulur. Bu sorunu çözmenin tek yolu, oluşturulmadan önce oluşturulan svn: mergeinfo girişlerini silmektir. Çoğu insan oluşturulduktan farkında olmadığından, zorunlu kılmak amacıyla daha sonra tek gerçek yolu, önceden taahhüt kanca, ya da sadece basitçe yapın:

    svn propdel --recursive svn:mergeinfo $ROOT/* 
    

    her şimdi ve sonra bunları temizlemek. Bunu yaparken, 'un'u tamamladığınız kısmi birleştirme kaydını yok edeceği için dikkatli olun, bu yüzden gerçekten sadece kısmi birleştirme yapmazsanız bunu yapmalısınız. Soru soracaktır ve çevremizde de yoktur.

    Sorun, daha yeni svn istemcilerine sabitlenmiştir, bu nedenle sorun yavaş yavaş ölmelidir, ancak iş akışınızdaki tüm araçların değiştirilmesinden önce biraz zaman geçmesi gerekebilir.

    Bu sorunun başka bir yanıtını temel alarak, sorunun nedenini hızlı bir şekilde açıklayın. Çalışan bir kopya taşıdığınızda veya 1.5.5'ten eski svn istemcilerini sildiğinizde, sahte bir svn: mergeinfo girişi oluşturulur. Bu resolved in svn 1.5.5. o bilgiyi birleştirmek kayıt çünkü alt klasörler veya bireysel dosyalar üzerinde birleştirir Sahne

    +0

    Bu, mevcut birleştirme bilgisini yok etmiyor mu, yoksa burada birleştirme bilgisi gereksiz mi? –

    +1

    Bizim durumumuzda, mergeinfo gereksizdi. Ama haklısın, yaptığın karınca kısmi birleştirme bilgisini yok edeceksin. –

    +0

    , bu sorunu belirtmek ve sorunu açıklamak ve çözümlendiğinde güncellenmiş bir yanıt. –

    0

    , bu nedenleri ve gerektiği bunun nedeni.

    En iyi yol, birleştirme işlemlerinizi ana düzeyde gerçekleştirmektir ve seçici olarak uygulamak için gerektiğinde, birleştirmek istemediğiniz değişiklikleri geri alın ve ardından işlemeye devam edin.

    +0

    Bu özelliği alt klasörlerde birleştirme yapmadan bile alıyorum. – ripper234

    +0

    Reddedilene, lütfen bunun için bir neden belirtin? Birleştirme bilginizi yalnızca ana düzeyde istiyorsanız alt seviyelerde birleştirmek hayati önem taşımamaktadır. –

    +1

    Seni reddetmedim, ancak söylediklerin doğru olmasına rağmen, sorun da kopyaların bu girdileri oluşturmasıydı. Bu 1.5.5'te sabitlenmiştir (wc-wc hamleleri veya kopyaları için mergeinfo oluşturmayın (r34184, -585)) –