Visual Studio TFS memperlihatkan file yang tidak berubah dalam daftar perubahan tertunda

94

Saya melihat file di jendela perubahan tertunda. Saya mencoba membandingkannya dengan versi terbaru dan saya mendapatkan pesan 'File identik' Jika file identik mengapa file ini muncul di jendela perubahan tertunda? Apa yang berubah tentang file ini? Dapatkah saya mengkonfigurasi TFS agar tidak mencantumkan file yang identik?

dev.e.loper
sumber
Mungkin anti-virus Anda memperbarui tanggal terakhir file diubah? Atau Anda sedang mengerjakan laptop terenkripsi?
DOK
ScottGu menjelaskan bagaimana antivirus dapat mengubah tanggal-tanggal ini di artikel ini (cari "virus") weblogs.asp.net/scottgu/archive/2006/09/22/…
DOK
58
Ini harus menjadi salah satu "fitur" TFS yang paling menjengkelkan
Brad Thomas
Saya mengalami masalah ini juga - TF berfungsi, tetapi TFPT tidak - saya pikir itu karena saya menggunakan "TFPT - Team Foundation Power Tools 2012" dengan ruang kerja Visual Studio 2010 ...: - /
BrainSlugs83
Sepertinya yang harus saya lakukan hanyalah menyambungkan ke koleksi yang sama di Visual Studio 2012. Lihat posting ini untuk lebih jelasnya: stackoverflow.com/questions/1758606/…
BrainSlugs83

Jawaban:

49

Ini normal jika file secara otomatis diperiksa karena adanya perubahan, dan jika pada akhirnya konten file diubah kembali ke keadaan semula. Pada saat itu Anda akan melihat pesan tentang konten yang identik setelah perbandingan.

Entri blog ini menjelaskan cara yang tidak begitu intuitif untuk menangani hal ini; dan di komentar ada saran yang lebih baik untuk mengatasinya melalui baris perintah melalui alat-alat listrik TFS.

TFS menunggu perubahan mengabaikan file identik ...

enablor
sumber
12
Saya sangat menganjurkan agar Anda menggunakan tfpt uuperkakas listrik dan bukan solusi hacky "No To All". Hanya menambah dan mengubah hasil edit mendapatkan prompt ini. Misalnya: renames (yang hanya menunggu rename, bukan rename + edit) akan dibatalkan oleh UI tanpa prompt.
Edward Thomson
8
Jika postingan blog asli hilang, perintahnya adalah tfpt uu /noget /r *, yang harus dijalankan dari root cabang. Mengatakan ini, meskipun dengan benar mengambil perubahan yang berlebihan, lalu mengklaim untuk membatalkannya, saya masih melihatnya sebagai diperiksa di VS dan di dialog Check In, jadi tampaknya rusak bagi saya: /
Mike Chamberlain
2
Kemungkinan lain dari hal ini terjadi adalah jika Anda mengaktifkan bit "hanya baca" dari sebuah file tanpa benar-benar mengubah isinya. TFS terkadang dapat mengganggu.
arviman
1
Sebagai referensi, solusi "No To All" disalin di sini dari link: "Opsi lainnya adalah" Undo Checkout "semua perubahan, dan mengklik" No to All "ketika diminta untuk mengkonfirmasi untuk membatalkan checkout. Dengan cara ini Visual Studio akan "Batalkan pembayaran" semua file yang tidak diubah, dan semua file yang diubah akan tetap diperiksa. Saya selalu menggunakan metode ini. "
PJSimon
Trik "Tidak Untuk Semua" itu bagus, tetapi memiliki beberapa kekurangan. Misalnya - Saya menggunakan alat saya, untuk menghasilkan kelas DB EntityFramework. Saya membuatnya di direktori luar, dan kemudian menyeretnya ke solusi saya. Terkadang, saat tidak ada perubahan, perubahan tetap ditampilkan. Trik "Tidak Untuk Semua" ini menghapusnya. Tetapi jika ada kelas baru yang ditambahkan, yang tidak ada sebelumnya, ini akan menghapusnya dari kendali sumber - saya harus menambahkannya kembali dengan tangan.
Berharap
17

Baru-baru ini saya baru saja memperbarui VS2010 ke VS 2013, dan masalah ini bahkan lebih buruk. Saat Anda menggunakan bandingkan, file yang identik tidak muncul sama sekali. Saya benci ini karena Anda tidak dapat mengetahui file mana yang benar-benar diubah sampai Anda memeriksa file perbandingan dengan cermat.

Akhirnya saya menemukan solusi untuk ini:
Tambahkan "Urungkan pembayaran tidak berubah" di alat eksternal:

  • Perintah: tfpt.exe
  • Argumen: uu . /noget /recursive
  • Direktori awal: $(SolutionDir)

Setelah menjalankan perintah ini, TFS akan secara otomatis membatalkan semua perubahan yang berlebihan di file.
Tetapi file-file ini masih mempertahankan status check out, sebenarnya mereka sudah dibatalkan dan sama dengan versi terbaru. Saya pikir Ini adalah bug di TFS. Anda hanya perlu mengklik ikon Refresh di toolbar di bawah penjelajah solusi, file-file ini akan di-refresh dan menampilkan status yang benar!

zmaggie
sumber
2
Saya telah menjalankan "tfpt uu. / Noget / recursive", dan mengklaim tidak ada perubahan tertunda yang berlebihan di ruang kerja. VS2015, TFPT 2015. Semua perubahan saya kosong [merge] perubahan.
fastmultiplication
Saya telah mencoba ini tanpa hasil. Menghapus inti dari argumen tampaknya membuatnya berfungsi dengan baik: uu / noget / rekursif
dperez
10

Untuk memperjelas penjelasan di atas:

  1. Instal TFS Power Tools menggunakan manajer paket NuGet di VS.
  2. Buka Visual Studio Command Prompt (juga disebut Developer Command Prompt untuk VS 2013/2015) dari Windows Start.
  3. Arahkan ke lokasi root ruang kerja lokal Anda melalui command prompt.
  4. Jalankan perintah ini: tfpt uu. / rekursif / noget
  5. Pilih untuk membuang perubahan yang berlebihan jika diminta.

Bekerja untuk saya.

Lebih lanjut:

Terkadang saya menemukan saya perlu menjalankan perintah pada prompt pembukaan Prompt Perintah Pengembang (dan mendapatkan ruang kerja tidak ditemukan kesalahan), sebelum menavigasi ke folder ruang kerja dan mengeksekusinya di sana. Jika saya langsung ke folder yang benar, perintah tersebut tidak ditemukan. (Saya tidak keberatan solusi untuk masalah itu sendiri.)

Phil
sumber
Terima kasih saya-from-November-30th-2015. Saya terus mendapatkan masalah yang sama berkali-kali dan jawaban Anda sempurna. Saya mencoba memberi suara Anda, tetapi mendapat semacam kesalahan 'ruang-waktu kontinum'. Ada hubungannya dengan 30 November 1955 dan "diperlukan 1,21 gigawatt tidak ditemukan".
Phil
Sayangnya tidak berhasil untuk saya. Unable to determine the workspace. Sudah mencoba memperbarui cache ruang kerja, tidak berhasil. Setelah 2 jam, saya akan menyerah dan memeriksa file yang tidak diubah untuk menyingkirkannya.
C4d
@ C4u Saya mungkin sudah mulai mengalaminya sendiri, sejak pindah ke VS 2015. Namun, masalah dengan file check-out yang terjadi telah hilang. Saya akan melihat apa yang bisa saya temukan.
Phil
1
Saya tidak dapat menemukan PowerTools menggunakan NuGet, tetapi dapat menemukan dan menginstalnya melalui pencarian google "Microsoft Visual Studio Team Foundation Server 2013 Power Tools"
Colin
@Versatile Melihat Visual Studio 2017, Anda harus pergi ke 'Tools'> 'Extensions and Updates ...' Saya tidak ingat struktur menu pada 2013/15. Mungkin jawaban saya membutuhkan koreksi. Jika Anda memiliki VS 2013/15 dan dapat memeriksa struktur menu, silakan mengedit jawaban saya. :)
Phil
1

Saya menyelesaikan ini dengan mengklik Stage Alltombol di Perubahan lalu menghapusnya dengan Unstage All.

Ini menyelesaikan file yang tidak berubah yang saya miliki di Changesbagian saya . Bagus dan sederhana.

Tom 'Blue' Piddock
sumber
0

Visual Studio 2012 memperkenalkan konsep baru yang disebut Ruang Kerja Lokal .

Ketika Lokasi Ruang Kerja dikonfigurasi menjadi Lokal, maka itu akan menempatkan salinan lokal dari file asli (Sama seperti SVN / CVS).

Ini kemudian akan secara otomatis menyembunyikan file yang tidak berubah dari perubahan yang tertunda.

Gunakan TFS Source Control Explorer untuk "Mengedit ..." TFS Workspace, dan mengubah "Advanced ..." - pengaturan Lokasi dari Server ke Lokal.

Rolf Kristensen
sumber
Ruang kerja saya bersifat lokal, tetapi file yang tidak ditandai masih muncul dalam perubahan yang menunggu keputusan ... Ini tidak secara otomatis membatalkan check-out ...
Ozkan
0

Bagi saya, rekonsiliasi ruang kerja menyelesaikan perubahan tertunda yang tidak valid ini:

  1. Team Explorer -> Build
  2. Klik kanan pada build terbaru dengan perubahan Anda -> "Reconcile Workspace ..."
AnonyMouse
sumber