Как «вернуть» неизмененные файлы с помощью Mercurial? - PullRequest
5 голосов
/ 14 июня 2010

Я установил Windows7 на свой компьютер, и мне пришлось изменить все разрешения / принять права собственности - что, по-видимому, «коснулось» всех моих файлов, и теперь все кажется «измененным» (когда я делаю «hg status»), но только некоторые файлы имеют реальные изменения.

Есть ли команда, которую я могу запустить, чтобы я "зафиксировал" или "возвратил" все файлы, в которых нет реальных изменений (т. Е. Текст не изменился, даже если изменились атрибуты файла).

добавлено:

Я обновился с WinXP до Win7. На самом деле я ничего не "копировал", хранилище на диске одинаковое ... изменилась только Windows. После обновления у меня не было доступа к некоторым файлам, мне нужно было «взять на себя ответственность», чтобы вновь получить доступ (каким-то образом права пользователя не были должным образом сохранены). Вот что я получаю:

$ hg stat 
../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as M      
$ hg diff ../../test/acceptance/spidermonkey/js1_5/String/regress-179068.as

Ответы [ 2 ]

3 голосов
/ 14 июня 2010

Я думаю, вы не смогли правильно скопировать репозиторий .hg.

$ hg stat primes.py         # nothing, file is checked in
$ touch primes.py
$ hg stat                   # still nothing
$ sudo chown bin primes.py
$ hg stat                   # nothing, the chown didn't make hg care

Вероятно, вам следует hg клонировать хранилище и работать оттуда.

добавлено : тьфу, вывод hg verify иhg summary, вероятно, будет полезен для вас (и размещен здесь, если вы все еще в замешательстве).Я боюсь за ваш репозиторий и надеюсь, что у вас есть резервная копия (или повезло, и на самом деле нужен только «совет»).

2 голосов
/ 18 августа 2010

Это случилось со мной тоже! Я исправил это так ...

  1. Клонирование хранилища hg path/to/clone original path/to/clone
  2. Запустите hg update -C /path/to/clone на клоне, чтобы убедиться, что он чистый.
  3. Пробег kdiff3 path/to/original path/to/clone
  4. Снимите флажок «показывать идентичные файлы»
  5. Выберите файл или папку для синхронизации (не синхронизируйте папку .hg)
  6. Нажмите CTRL-1 , чтобы выбрать версию A
  7. Нажмите F6 для синхронизации
  8. При необходимости повторите шаги 5-7

Очистить оригинал. Работайте над клоном, совершайте и нажимайте.

или

Очистите оригинал и запустите kdiff3 path/to/clone path/to/original

...