Отменить неизмененные ожидающие изменения, если электроинструменты TFS не работают

Используя Tfs 2015, при выполнении следующей команды в моей папке dev:

tfpt uu \ noget \ рекурсивный

он говорит мне: нет никаких избыточных ожидающих изменений, хотя в моих рабочих областях есть 15 файлов в ожидающих изменениях без каких-либо изменений.

Кто-нибудь знает, что у меня не работает команда?


person Community    schedule 11.03.2016    source источник
comment
Другой причиной может быть безосновательное слияние, включая слияние из ветки, которая была переименована после создания, и в этом случае мастер слияния VS даже не упоминает, что это безосновательное слияние. См. Этот ответ (stackoverflow.com/a/15621451/1633949) для получения дополнительных сведений. Насколько я знаю, лекарства нет. Лучший совет, по-видимому, такой: не переименовывайте ветку, пока не будете уверены, что вам больше никогда не придется слиться с ней. (Этот комментарий здесь из личного интереса. Дважды, с разницей в несколько месяцев, я сталкивался с этой проблемой, и поиск Google сначала приводит меня к этому вопросу.)   -  person Richard II    schedule 24.10.2016
comment
Как упоминалось в комментарии к одному из ответов, косые черты неверны. они должны быть косой чертой. tfpt uu. / noget / recursive Однако даже после этого исправления неизмененные файлы могут оставаться незамеченными.   -  person Richard II    schedule 26.10.2016
comment
Здесь найдено обходное решение: stackoverflow.com/a/15643286/1633949   -  person Richard II    schedule 26.10.2016


Ответы (1)


Конкретно в отношении вашего примера сценария - одна причуда заключается в том, что направление ваших косых черт, то есть в вашем примере вы используете обратную косую черту вместо прямой косой черты, не работает должным образом.

Я специально протестировал ваш сценарий и могу смоделировать ваш результат, используя обратную косую черту в приведенных ниже случаях.

РЕДАКТИРОВАТЬ: РЕЗУЛЬТАТ ТЕСТА, СЦЕНАРИЙ

Visual Studio 2015 Enterprise (версия: 14.0.23107.0 D14REL)

TFS Powertools 2015 (версия 14.0.23206.0)

  1. С ПЕРЕДНЕЙ косой чертой /
D:\src\testapp\src1>tfpt uu /recursive /noget
Getting the list of pending changes for your workspace...
Building the list of redundant changes...
 edit (contents match): d:\src\testapp\src1\file_with_pending_change.txt
Do you wish to undo these redundant pending changes? (Y/N) n
Operation canceled.
  1. С НАЗАД \
D:\src\testapp\src1>tfpt uu \recursive \noget
Bringing the specified items up to the latest version…
Getting the list of pending changes for your workspace...
There are no redundant pending changes.
  1. Еще раз с косой чертой вперед /
D:\src\testapp\src1>tfpt uu /recursive /noget
Getting the list of pending changes for your workspace...
Building the list of redundant changes...
 edit (contents match): d:\src\testapp\src1\file_with_pending_change.txt
Do you wish to undo these redundant pending changes? (Y/N) y
Undoing redundant changes...
edit: file_with_pending_change.txt
1 changes undone.

РЕДАКТИРОВАТЬ 2: ПРОБЛЕМА OP .. В комментариях к этому ответу я предположил, что OP удаляет кеш TFS, чтобы начать с известного базового состояния, поскольку после тестирования моего решения он не получил ожидаемого результата Оказалось, что это действительно проблема с поврежденным состоянием рабочей области.

Удаление кеша можно выполнить, закрыв свою IDE и удалив файлы в

C:\Users\USERNAME\AppData\Local\Microsoft\Team Foundation\XXXX\Cache

Затем снова откройте среду IDE и проверьте, появляются ли все еще ожидающие призрачные изменения. В случае, если ожидающие изменения все еще появляются, я бы предложил отложить или зафиксировать изменения, которые нужно сохранить, и удалить рабочую область.

ДОПОЛНИТЕЛЬНЫЕ ЗАМЕЧАНИЯ ПО TFPT: Если рабочий путь tfpt не находится в пути сопоставленной рабочей области, команда tfpt приведет к отображению указанного сообщения -

пример:

У меня есть путь к серверу:

$ / путь к серверу / testapp / src1

У меня этот путь локально сопоставлен с:

D: \ src \ testapp \ src1

для имитации я явно извлекаю текстовый файл в src1 для редактирования.

tfpt uu / recursive / noget, выполняемый из D: \ src \ testapp, приводит к

Bringing the specified items up to the latest version... 
Getting the list of pending changes for your workspace... 
There are no redundant pending changes.

tfpt uu / recursive / noget, выполняемый из D: \ src \ testapp \ src1, приводит к

Getting the list of pending changes for your workspace...
Building the list of redundant changes...
 edit (contents match): d:\src\testapp\src1\file_with_pending_change.txt
Do you wish to undo these redundant pending changes? (Y/N) y
Undoing redundant changes... 
edit: file_with_pending_change.txt
1 changes undone.

Связанное примечание:

Вы также можете запустить стандартную команду TF, хотя вы явно добавите путь для выполнения TF.exe:

tf отменить / рекурсивный D: \ src \ testapp \ src1

что приводит к:

Undoing edit: file_with_pending_change.txt
person Elmar    schedule 12.03.2016
comment
Я запускаю команду из локального сопоставленного пути ... она всегда говорит: Получение списка ожидающих изменений для вашей рабочей области ... Создание списка избыточных изменений ... Нет никаких избыточных ожидающих изменений. - person ; 12.03.2016
comment
@ S.Peter, можете ли вы подтвердить, что вы конкретно используете локально сопоставленный путь, а не один из его родительских путей, и что вы действительно используете косую черту вместо обратной? - person Elmar; 12.03.2016
comment
Теперь я определенно использовал косую черту, и я попытался запустить его из каждой сопоставленной папки, от самого верхнего родителя до папки, в которой мой код ... не работает - person ; 12.03.2016
comment
Вы пытались удалить кеш tfs? C: \ Users \ USERNAME \ AppData \ Local \ Microsoft \ Team Foundation \ XXXX \ Cache, а затем проверив проводник управления исходным кодом IDE, чтобы узнать, отображаются ли эти 15 файлов как ожидающие? Пожалуйста, закройте вашу IDE, удалите кеш, попробуйте еще раз, мое следующее подозрение будет заключаться в том, что ваше рабочее пространство каким-то образом было повреждено ... если это так, я бы просто зарегистрировал и / или отложил изменения, которые я действительно хочу, и полностью удалил рабочее пространство, затем воссоздавая это. - person Elmar; 12.03.2016
comment
Привет, что касается этой команды, когда я добавляю файлы в проект и запускаю его, он считает этот файл csproj неизменным, должен ли он это делать? - person ; 15.03.2016
comment
В зависимости от ситуации, когда вы видите ожидающие изменения в проводнике исходного кода, это на самом деле означает, что они извлечены для редактирования, а не то, что они на самом деле содержат изменения. Таким образом, если файлы вашего проекта считаются неизменными, это означает, что они были просто извлечены для редактирования во время вашего обычного рабочего процесса разработки. Вы можете протестировать сценарий, выбрав файл для редактирования, не редактируя его, и запустив команду. Ваша предыдущая проблема в итоге оказалась немного другой, так как ваше рабочее пространство находилось в каком-то неизвестном состоянии. То, что я только что описал, является нормальным поведением tfpt / uu. - person Elmar; 15.03.2016