Kluczową częścią pytania jest "nawet jeśli powinno". Bezbłędnie, w całym moim (zbyt) wieloletnim doświadczeniu z Perforce, użytkownicy, którzy zwyczajowo powracają do wymuszonych synchronizacji, ponieważ normalna synchronizacja nie robi tego, czego oczekują, nie używają poprawnie Perforce.
Musisz pozwolić Perforce zarządzać twoim twardym dyskiem - serwer wie, które wersje posiadanych plików posiadasz, więc normalna synchronizacja dostanie to, czego potrzebuje. Jeśli się nie powiedzie, jest to prawie bez wyjątku znak, że użytkownik modyfikuje, usuwa, dodaje i zmienia nazwy plików poza Perforce (np. W Eksploratorze).
Czasami może się zdarzyć, że system jest zabawny (tj. Błąd PC), więc nie musi to być wina użytkownika. Ale są one bardzo rzadkie - stąd mój "zwyczajowo" kwalifikator powyżej.
Jeśli myślisz, z ręką na sercu, że nie robisz nic niezwykłego, zacznij patrzeć na to, jakie inne procesy mogą poprawić te pliki. Na przykład. czy tworzysz system, robisz coś dziwnego, i próbujesz modyfikować pliki podczas ich kompilacji? Czy masz otwarty udział sieciowy, który być może ktoś inny nieumyślnie szturchnie? Czy masz system zapasowy, który zakłóca działanie?
Nadzieję, że pomaga.
Perforce kojarzy, jakie wersje posiadanych plików posiadasz ze specyfikacją każdego klienta. Ta informacja jest przechowywana na serwerze z każdą specyfikacją klienta - w tym, co nazywa ona "listą". Klienci współużytkowani nie są typową praktyką użytkownika. Są one dozwolone przez Perforce, aby umożliwić określone scenariusze użycia. Ale jeśli pracujesz na różnych maszynach, jest to obsługiwane przez specyfikację klienta na maszynę. Właśnie do tego zostały zaprojektowane. –
Załóżmy, że masz farmę kompilacji - czy chcesz utworzyć obszar roboczy (clientspec) dla każdego komputera w farmie? – sorin
Tak, w większości przypadków wskazana byłaby specyfikacja klienta na maszynę. Możesz zautomatyzować ich tworzenie, więc nie jest to tak bolesne, jak ci się wydaje. –