Честно, я чувствую, что должен проверить дважды, чтобы видеть, использую ли я тот же инструмент в качестве этих людей, которым, кажется, нравится Accurev. Я использовал Подрывную деятельность в своем предыдущем задании и любил его много. У нас никогда не было проблем с ним для разговора о, и конечно цена является правильной. Моя самая большая проблема с Accurev состоит в том, что кажется, что они чувствовали потребность отличаться для пользы different. Это использует совершенно другой словарь для выражения понятий управления версиями, это даже после использования его в течение почти 6 месяцев, чувствует себя очень внешним мне. Это имеет не менее чем 8 или 9 состояний, по сравнению с которыми любой данный файл может быть в, приблизительно вокруг 1/2 как многие для Подрывной деятельности. GUI является дрянным и медленным, и плагины интеграции IDE ниже среднего. Я предположил, что в какой-то момент буду "получать" Accurev и видеть, почему это настолько лучше, но это должно все же произойти. Мой совет состоит в том, чтобы избежать.
Вы имеете в виду просто сгенерировать фактическое имя файла? В этом случае самым безопасным способом было бы использовать сочетание чисел, которые вы получаете from now (), и имени хоста вашего компьютера (если у вас есть несколько узлов, выполняющих одно и то же).
Что-то вроде:
1> {A,B,C}=now().
{1249,304278,322000}
2> N=node().
nonode@nohost
3> lists:flatten(io_lib:format("~p-~p.~p.~p",[N,A,B,C])).
"nonode@nohost-1249.304278.322000"
4>
Вы также можете использовать TMP = lib: nonl (os: cmd ("mktemp")).
Или вы можете использовать
erlang: phash2 (make_ref ())
для быстрого и простого уникального идентификатора. Уникальный для 2 ^ 82 вызовов, что должно быть достаточно для ваших целей. Я считаю это проще, чем форматирование метки времени с использованием имени узла.
Поздний ответ: я только что заметил модуль test_server, который поддерживает временные каталоги, и стоит посмотреть