2013-03-05 8 views
9

Z Perforce, mam następującą sytuację:Co mogę zrobić z plikiem otwartym na „dodaj”, jeśli jest składane za pośrednictwem innego klienta

  • utworzony nowy plik foo.txt klient client_a, otworzył je dla dodać
  • półkę foo.txt w client_a, unshelved to w client_b
  • teraz foo.txt jest otwarty dla dodać w client_b
  • Prześlij foo.txt w client_a

Teraz moje obawy pytanie, jak mogę porządki foo.txt w client_b. Może ma jedną liniową zmianę z wersji depo, którą chciałbym zatrzymać. Idealnie chciałbym wykonać operację rozwiązać przeciwko nowo zaznaczonemu plikowi, ale nie wolno mi tego zrobić, ponieważ jest on otwarty do dodania.

Teraz mam ten plik foo.txt#1 - add change default w moim kliencie.

Nie mogę ponownie otworzyć pliku ("nic się nie zmieniło"), nie mogę go zmienić w stosunku do składu ("plik nie jest otwarty do edycji"), nie mogę go rozwiązać w odniesieniu do składu ("brak plików rozwiązać "), nie mogę otworzyć go do edycji (" nie można edytować, już otwarte dla dodania ").

Czy istnieje sposób, aby ponownie otworzyć ponownie edycję, zamiast dodawać? Wiem, że mogę skopiować go do pliku tymczasowego, przywrócić, ponownie otworzyć, a następnie ponownie zoptymalizować plik tymczasowy, ale wydaje się to raczej nieeleganckie. Czy jest jakaś komenda, która może zrobić to, co chcę, czy jest jakiś dobry powód, dla którego nie widzę powodu, dla którego jest zabroniona?

Odpowiedz

8

Tylko nieco bardziej elegancki niż komentarzu w ostatnim akapicie, ale powinieneś być w stanie:

  1. Przywróć foo.txt w client_b. Ponieważ oznaczono go jako , dodaj plik pozostanie na dysku bez zmian.
  2. Sync foo.txt z -k. To sprawia, że ​​serwer myśli, że masz najnowszą wersję bez modyfikowania lokalnego pliku.
  3. Sprawdź, czy chcesz edytować foo.txt. Różnice w stosunku do rewizji powinny pokazywać zmiany.
  4. Wprowadź zmiany.
Powiązane problemy