cranequinier: (65x70)
cranequinier ([personal profile] cranequinier) wrote2015-02-11 09:33 pm

Git vs Mercurial чтоб сохранять timestamp-ы

Это пост для программистов. Вдруг кто чего подскажет.

Делаю новый репозиторий для глубоко приватных C++-ных исходников. Собираюсь его бесплатно хостить на Bitbucket, и доступаться к нему из пары-тройки мест на планете через SourceTree. Выбираю между Git и Mercurial. И вот меня скрутило - исходники, люди и процессы такие, что надо сохранять дату файлов на диске, хоть ты тресни. А оне оба - и Git и Mercurial - по-умолчанию ставят дату последнего слива с сервера. При этом Mercurial довольно просто фиксится примочкой TimestampMod Extension, и начинает даты файлов уважеть, а Git если и фиксится вообще, то как-то через задницу как и всё в Git. Поэтому я слегка скрипя сердцем склоняюсь к Mercurial, хотя знаю его похуже и вообще он какой-то умирающий.

Может я какую-то фигню делаю, а надо хостить где-то ещё, на своём хостинге, использовать SVN и переходить на Жабу? Вправьте мне скорее мозги... Ну чего вообще интересного есть в мире code hosting-а...

P.S. Мечта, конечно, fossil, но его считай что нету.

[identity profile] duginov.livejournal.com 2015-02-12 04:53 am (UTC)(link)
А c C++ кодом в какой среде ворочаешься?

Если в Visual Studio, так в него интегрирован TFS-клиент, которым MS предлагает ходить в бесплатный (для маленьких коллективов) репозиторий, который у них же хостится. Называется Visual Studio Online, хотя должно быть "TFS in Azure".

От только хрен знает, какие таймстэмпы TFS ставит на слитые файлы. Вполне возможно, что тоже время слива, лень проверять...

[identity profile] onanim.wordpress.com (from livejournal.com) 2015-02-12 04:53 am (UTC)(link)
Sigh.

https: //git. wiki. kernel. org/ index.php/ExampleScripts#Setting_the_timestamps_of_the_files_to_the_commit_timestamp_of_the_commit_which_last_touched_them

"For example, setting the timestamps of the files to the time when they were last updated by a commit, is usually idiotic. It breaks "make", and it completely breaks down when multiple machines are involved, since they do not necessarily share a common time source."

Ну и там дальше собственно скрипт на перле, который вешать как hook.
dennisgorelik: (2009)

[personal profile] dennisgorelik 2015-02-12 04:59 am (UTC)(link)
Ты имеешь ввиду, что на локальной машине нужно выставлять дату последней модификации файла в репозитории?
А зачем?

У меня TortoiseSVN выставляет дату скачивания файла из репозитория (но не меняет дату, если скачивать файл не надо).

[identity profile] nice-beaver.livejournal.com 2015-02-12 04:51 pm (UTC)(link)
Что вы хотели от поделки аутиста Торвальдса? Человека, который предпочитает С вместо С++?
Edited 2015-02-12 16:51 (UTC)