TortoiseHg «Нет места на устройстве» ошибка при нажатии - PullRequest
1 голос
/ 27 сентября 2011

Мы используем TortoiseHg в качестве клиентского интерфейса Mercurial. Сегодня мы столкнулись с проблемой, пытаясь оттолкнуться от одной конкретной рабочей станции. Было получено следующее сообщение об ошибке:

abort: на устройстве не осталось места [команда вернула код 255 ..........]

Эта ошибка возникает, когда TortoiseHg / Mercurial связывает файлы в процессе подготовки к отправке в хранилище. Я провел некоторое тестирование и заметил, что диск рабочих станций (C :) постепенно заполнялся, когда файл был в комплекте. Диск (C :) перешел с ~ 900 МБ до ~ 100 МБ, а затем было получено сообщение об ошибке. Так что это, очевидно, причина.

Мой вопрос такой:

  1. Кто-нибудь знает, какой каталог по умолчанию используется для хранения временных файлов, созданных в то время, когда TortoiseHg / Mercurial связывает файлы в процессе подготовки к отправке? Кажется, это не зависит от диска, на котором установлен TortoiseHg. Я переустановил на диск данных с большим количеством места и все еще использовал (C :) для хранения любых временных файлов, которые он использовал.

  2. Есть ли способ настроить TortoiseHg / Mercurial для использования временного каталога по вашему выбору?

Заранее спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 28 сентября 2011

Mercurial - это python, и python имеет хорошие настройки по умолчанию для временных местоположений файлов. Они довольно легко могут быть переопределены, если вы хотите что-то кроме значений по умолчанию, которые в Windows, вероятно, c: \ temp.

http://docs.python.org/library/tempfile.html#tempfile.tempdir говорит, что это:

  1. Каталог, названный переменной среды TMPDIR.
  2. Каталог, названный переменной среды TEMP.
  3. Каталог, названный переменной среды TMP.
  4. Местоположение для конкретной платформы:
    • В RiscOS - каталог с именем переменной среды Wimp $ ScrapDir.
    • В Windows каталоги C: \ TEMP, C: \ TMP, \ TEMP и \ TMP в указанном порядке.
    • На всех других платформах каталоги / tmp, / var / tmp и / usr / tmp в указанном порядке.
  5. В крайнем случае, текущий рабочий каталог.

Так что если у вас есть программное обеспечение, использующее Mercurial на клиентском компьютере, задайте для переменной среды место, которое, как вам известно, имеет место.

0 голосов
/ 27 сентября 2011

Mercurial всегда хранит внутренние файлы в папке «.hg» в папке локального репозитория. Может быть, TortoiseHg имеет дополнительную временную папку ... не знаю. В любом случае вы должны попытаться отправить файлы с помощью клиента командной строки Mercurital:

hg push

Более подробную информацию о клиенте командной строки вы можете найти здесь Mercurial: полное руководство

Другим временным решением может быть перемещение этих файлов через симлинку файловой системы на другой диск с большим количеством свободного места.

...