Visual Studio TFS, bekleyen değişiklikler listesinde değiştirilmemiş dosyaları gösterir


94

Bekleyen değişiklikler penceresinde bir dosya görüyorum. En son sürümle karşılaştırmaya çalışıyorum ve bir 'Dosyalar aynı' mesajı alıyorum Dosyalar aynıysa bu dosya neden bekleyen değişiklikler penceresinde görünüyor? Bu dosyada ne değişti? TFS'yi aynı dosyaları listelemeyecek şekilde yapılandırabilir miyim?


Muhtemelen, anti-virüsünüz dosyaların son değiştirilme tarihini mi güncelliyor? Yoksa şifreli bir dizüstü bilgisayarda mı çalışıyorsunuz?
DOK

ScottGu, antivirüsün bu tarihleri ​​nasıl değiştirebileceğini bu makalede açıklıyor ("virüs" araması yapın) weblogs.asp.net/scottgu/archive/2006/09/22/…
DOK

58
Bu, TFS'nin en sinir bozucu "özelliklerinden" biri olmalı
Brad Thomas

Bu sorunu da yaşıyorum - TF çalışıyor, ancak TFPT çalışmıyor - Visual Studio 2010 çalışma alanıyla "TFPT - Team Foundation Power Tools 2012" kullandığım için düşünüyorum ...: - /
BrainSlugs83

Görünüşe göre tek yapmam gereken Visual Studio 2012'de aynı koleksiyona bağlanmaktı . Daha fazla ayrıntı için bu
gönderiye

Yanıtlar:


49

Bir dosya bir değişiklik nedeniyle otomatik olarak teslim alınırsa ve nihayetinde dosyanın içeriği orijinal durumuna geri döndürülürse bu normaldir. Bu noktada, karşılaştırma üzerine aynı içeriklerle ilgili mesajı göreceksiniz.

Bu blog yazısı, bununla başa çıkmanın pek de sezgisel olmayan bir yolunu açıklıyor; ve yorumlarda, TFS elektrikli aletler aracılığıyla komut satırı aracılığıyla bununla başa çıkmak için daha da iyi bir öneri var.

TFS bekleyen değişiklikler aynı dosyaları yok sayıyor ...


12
"Herkese Hayır" çözümünü değil , tfpt uuelektrikli aleti kullanmanızı şiddetle tavsiye ederim . Yalnızca ekler ve değiştirilen düzenlemeler bu istemi alır. Örneğin: yeniden adlar (yalnızca yeniden adlandırma beklemede olan, yeniden adlandırma + düzenleme değil) kullanıcı arayüzü tarafından sorulmadan geri alınacaktır.
Edward Thomson

8
Orijinal blog gönderisinin kaybolması tfpt uu /noget /r *durumunda, dalın kökünden yürütülmesi gereken komuttur . Bunu söylerken, gereksiz değişiklikleri doğru bir şekilde almasına ve sonra geri aldığını iddia etmesine rağmen, hala VS'de ve Check In iletişim kutusunda teslim alındığını görüyorum, bu yüzden benim için bozuk görünüyor: /
Mike Chamberlain

2
Bunun olmasının başka bir olasılığı, içeriğini gerçekten değiştirmeden bir dosyanın "salt okunur" bitini değiştirirseniz. TFS bazen can sıkıcı olabilir.
arviman

1
Referans için, "Herkese Hayır" çözümü buraya bağlantıdan kopyalanır: "Diğer bir seçenek, tüm değişiklikleri" Teslim Almayı Geri Al "ve geri almayı onaylamanız istendiğinde" Tümüne Hayır "seçeneğine tıklamaktır. Bu şekilde Visual Studio, "Teslim alma işlemini geri al", değiştirilmeyen tüm dosyalar ve değiştirilen tüm dosyalar teslim alınmış durumda kalır. Ben her zaman bu yöntemi kullanırım. "
PJSimon

Bu "Herkese Hayır" numarası güzel, ancak birkaç dezavantajı var. Örneğin - DB EntityFramework sınıfları oluşturmak için aracımı kullanıyorum. Onları bir dış dizinde oluşturuyorum ve sonra onları çözümüme sürüklemem yeterli. Bazen, hiçbir değişiklik olmadığında, yine de değişiklikleri görüntüler. Bu "Herkese Hayır" numarası onları ortadan kaldırır. Ancak, daha önce bulunmayan yeni sınıflar eklendiğinde, onları kaynak kontrolünden kaldırır - onları elle eklemem gerekir.
dilek

17

Son zamanlarda VS2010'u VS 2013'e güncelledim ve bu sorun daha da kötü. Karşılaştırmayı kullandığınızda, aynı olan dosyalar hiç açılmaz. Bundan nefret ediyorum çünkü karşılaştırma dosyalarını dikkatlice kontrol edene kadar hangi dosyaların gerçekten değiştirildiğini anlayamadınız.

Son olarak bunun için bir çözüm buldum:
Harici araçlara "Değiştirilmemiş teslimleri geri al" seçeneğini ekleyin:

  • Komut: tfpt.exe
  • Argümanlar: uu . /noget /recursive
  • Başlangıç ​​dizini: $(SolutionDir)

Bu komutu çalıştırdıktan sonra, TFS dosyalardaki tüm gereksiz değişiklikleri otomatik olarak geri alır.
Ancak bu dosyalar hala teslim alma durumunu koruyor, aslında zaten geri alınmış ve en son sürümle aynı. TFS'de bir hata olduğunu düşünüyorum. Çözüm gezgininin altındaki araç çubuğunda Yenile simgesine tıklamanız yeterlidir, bu dosyalar yenilenecek ve doğru durumu gösterecektir!


2
"Tfpt uu. / Noget / recursive" komutunu çalıştırdım ve çalışma alanında gereksiz bekleyen değişiklikler olmadığını iddia ediyor. VS2015, TFPT 2015. Tüm değişikliklerim boş [birleştirme] değişiklikleri.
fastmultiplication

Bunu hiç başarılı olmadan denedim. Argümanın noktasını kaldırmak düzgün çalışmasını sağlıyor gibi görünüyor: uu / noget / recursive
dperez

10

Yukarıdaki açıklamayı daha anlaşılır hale getirmek için:

  1. VS'de NuGet paket yöneticisini kullanarak TFS Power Tools'u yükleyin.
  2. Windows Başlat'tan Visual Studio Komut İstemi'ni (VS 2013/2015 için Geliştirici Komut İstemi olarak da adlandırılır) açın.
  3. Komut istemi aracılığıyla yerel çalışma alanınızın kök konumuna gidin.
  4. Bu komutu çalıştırın: tfpt uu. / recursive / noget
  5. İstenirse gereksiz değişiklikleri atmayı seçin.

Benim için çalıştı.

Daha ileri:

Bazen, çalışma alanı klasörüne gitmeden ve orada çalıştırmadan önce Geliştirici Komut İstemi'nin açılış isteminde komutu çalıştırmam gerektiğini (ve bir çalışma alanı bulunamadı hatası almam) gerektiğini fark ettim. Doğrudan doğru klasöre gidersem komut bulunamıyor. (Bu sorunun kendi başına bir çözümü umursamam.)


30 Kasım 2015'ten beri teşekkürler. Sürekli aynı sorunu alıyorum ve cevabınız mükemmeldi. Size oy vermeye çalıştım, ancak bir tür "uzay-zaman sürekliliği" hatası aldım. 30 Kasım 1955 ile ilgili bir şey ve "gerekli 1.21 gigawatt bulunamadı".
Phil

Ne yazık ki benim için çalışmıyor. Unable to determine the workspace. Zaten çalışma alanı önbelleğini güncellemeyi denedim, başarı yok. 2 saat sonra pes edeceğim ve onlardan kurtulmak için değiştirilmemiş dosyaları kontrol edeceğim.
C4d

@ C4u VS 2015'e taşındığımdan beri bunu kendim yaşamaya başlamış olabilirim. Ancak, teslim alınan dosyalarla ilgili sorun ortadan kalktı. Ne bulabileceğime bir bakacağım.
Phil

1
PowerTools'u NuGet kullanarak bulamadım, ancak "Microsoft Visual Studio Team Foundation Server 2013 Güç Araçları" adlı bir google aramasıyla bulup
Colin

@Versatile Visual Studio 2017'ye baktığınızda, 'Araçlar'> 'Uzantılar ve Güncellemeler ...' seçeneğine gitmeniz gerekir. 2013 / 15'teki menü yapısını hatırlamıyorum. Belki cevabımın düzeltilmesi gerekiyor. VS 2013/15'e sahipseniz ve menü yapısını kontrol edebiliyorsanız, lütfen cevabım üzerinde bir düzenleme yapmaktan çekinmeyin. :)
Phil

1

Bunu Stage All, Değişiklikler'deki düğmeyi tıklayarak ve ardından aşamaları kaldırarak çözdüm Unstage All.

Bölümümdeki değişmemiş dosyayı çözdü Changes. Güzel ve basit.


0

Visual Studio 2012, Yerel Çalışma Alanı adlı yeni bir kavramı tanıttı .

Çalışma Alanı Konumu Yerel olarak yapılandırıldığında, orijinal dosyanın yerel bir kopyasını yerleştirir (Tıpkı SVN / CVS gibi).

Ardından, değiştirilmemiş dosyaları bekleyen değişikliklerden otomatik olarak gizleyecektir.

TFS Çalışma Alanını "Düzenlemek ..." için TFS Kaynak Denetim Gezgini'ni kullanın ve "Gelişmiş ..." - Konumu Sunucudan Yerel olarak ayarlayın.


Çalışma alanım yerel, ancak arşivlenmemiş dosyalar hala bekleyen değişikliklerde görünüyor ... Teslim alma işlemini otomatik olarak geri almıyor ...
Özkan

0

Benim için çalışma alanını uzlaştırmak, bu geçersiz bekleyen değişiklikleri çözer:

  1. Takım Gezgini -> Derlemeler
  2. Değişikliklerinizle birlikte en son derlemeye sağ tıklayın -> "Çalışma Alanını Uzlaştır ..."
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.