Russian Qt Forum

Разное => Говорилка => Тема начата: thechicho от Декабрь 07, 2011, 14:38



Название: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 14:38
вырубился ноут, в файл .cpp, который был открыт в qt creatore записались NULL
это чо бл за прикол?!!
сотни строк кода!!!
можно как-то восстановить?! или реально разработчики Qt Creator идиоты?


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 14:40
А как разработчики Qt могут предотвращать вырубание нутов?  ::)

И сохраняться нужно чаще, да.


Название: Re: я в шоке
Отправлено: Bepec от Декабрь 07, 2011, 14:44
Сохраняться надо :) в Visual сохранение идет одновременно с компиляцией )


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 14:44
ты думаешь я сотни строк кода написал ниразу не сохранившись и не проверяя, что я пишу?!
я не гений.
файл создал еще вчера, там добавок было несколько строчек после последнего сохранения.
ноут вырубается и Qt Creator записывает весь файл NULL!!!
ну чо блядь за приколы, извините за мой французский.
это же пздц, столько часов работы потеряно из-за мудаков разрабов этого IDE
FUUUUUUUUUUUUUUUUUU
это эпик фейл >:(


Название: Re: я в шоке
Отправлено: Пантер от Декабрь 07, 2011, 14:45
Используй систему контроля версий. И, да, ССЗБ. Креатор тут, скорее всего, не при чем.


Название: Re: я в шоке
Отправлено: kambala от Декабрь 07, 2011, 14:48
интересно почему ноут вдруг вырубился


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 14:48
В ЧЕМ Я ВИНОВАТ?
в том что этот недокреатор записал весь файл NULL?
другие файлы то норм!
вывод - недоработка!
при вылете записывает открытый в Qt Creator'e файл NULL!!!
бля, я плачу.
скажите только, восстановить никак нельзя уже?
если нет, тему можно закрывать :(


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 14:49
перегрелся :(


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 14:53
при вылете записывает открытый в Qt Creator'e файл NULL!!!
Вот если бы это писала домохозяйка я бы даже не комментировал, но это вроде форум разработчиков программного обеспечения и вроде ты занимался именно этим...

Не может QtCreator обрабатывать вылеты и сохранять что-то при этом, не может. Если не веришь мне, загляни в его исходники.
Такое происходит из-за того, что ОС не успевает сбросить все буферы на диск, QtCreator здесь не причем!!!


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 14:58
ладно, х с ним, все равно уже не получится восстановить как я понимаю... придется заново писать...
сорри за мат, если кого он парит, негатив.
лан, relax take it easy :D
пошел я восстанавливать все, бл) удачного дня всем.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 07, 2011, 15:00
Вы либо делаете архивы, либо уже делаете архивы (с)

СКВ спасет отца русской демократии. радуйся что всего пара дней работы, а не дико важный файлик Очень Большого Проекта :)


Название: Re: я в шоке
Отправлено: GreatSnake от Декабрь 07, 2011, 15:02
Не может QtCreator обрабатывать вылеты и сохранять что-то при этом, не может. Если не веришь мне, загляни в его исходники.
Такое происходит из-за того, что ОС не успевает сбросить все буферы на диск, QtCreator здесь не причем!!!
Нормальная уважающая себя IDE должна делать backup & auto-save файлы.


Название: Re: я в шоке
Отправлено: twp от Декабрь 07, 2011, 15:03
а что за ОС?


Название: Re: я в шоке
Отправлено: Пантер от Декабрь 07, 2011, 15:05
ладно, х с ним, все равно уже не получится восстановить как я понимаю... придется заново писать...
сорри за мат, если кого он парит, негатив.
лан, relax take it easy :D
пошел я восстанавливать все, бл) удачного дня всем.
Как происходит сохранение в текстовых редакторах? Нажимаешь "сохранить", файл открывается на запись (при этом он затирается) и в него записывается текст из буфера. Но на самом деле, на диск все сразу не попадает, а висит в буфере ОС. Так вот я к чему - матери свою ОС, а не Кретатор.


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 15:09
Нормальная уважающая себя IDE должна делать backup & auto-save файлы.
Не пользуюсь креатором... Но разве там нет такой опции (создавать backup)?


Название: Re: я в шоке
Отправлено: Bepec от Декабрь 07, 2011, 15:11
Хз. в Visual studio автосохранение присутствует и довольно дружелюбное :) Так же он часть несохраненки сбрасывает в темповые файлы на диск. И опосля резета можно восстановить до 90% исходного кода :)


Название: Re: я в шоке
Отправлено: GreatSnake от Декабрь 07, 2011, 15:14
Как происходит сохранение в текстовых редакторах? Нажимаешь "сохранить", файл открывается на запись (при этом он затирается) и в него записывается текст из буфера. Но на самом деле, на диск все сразу не попадает, а висит в буфере ОС. Так вот я к чему - матери свою ОС, а не Кретатор.
Правильно делает, что материт.
Нормальный текстовый редактор должен делать сохранение в другой файл (обычно в *.bak) и только при успешной записи переименовывать (копировать) его в оригинальный. Даже не ожидал, что creator не делает таких очевидных вещей. Имхо, есть повод писать в bug tracker.


Название: Re: я в шоке
Отправлено: Авварон от Декабрь 07, 2011, 16:51
Зачем если все пользуются СУВ? Фича для студентов?


Название: Re: я в шоке
Отправлено: GreatSnake от Декабрь 07, 2011, 16:55
Зачем если все пользуются СУВ? Фича для студентов?
Вот не ожидал от тебя услышать такое :(


Название: Re: я в шоке
Отправлено: QuAzI от Декабрь 07, 2011, 16:59
1) Интересно, а на ноуте работали с винта или может с какой флешки грузились? Это нормально для флешек - занулять блоки перед перезаписью. Что не успел записать - жопа.
2) Файловая система. Qt никуда нули не писал, скорее всего просто рымнулась запись на этот файл, получили битый файл. Для галимых FAT/NTFS это в порядке вещей при нештатном выключении.
И да, как админящий более 5 лет (на данный момент порядка 80 хостов в строю) подскажу: регулярный бекап спасёт бойца невидимого фронта от ненужных наездов на хороший инструмент разработки. Тем более этот инструмент умеет целую кучу VCS.


Название: Re: я в шоке
Отправлено: Авварон от Декабрь 07, 2011, 17:22
GreatSnake
Ну я теряю файлы только в случае каких-либо экспериментов с гитом:)


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 17:47
Зачем если все пользуются СУВ? Фича для студентов?
А что такое СУВ?


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 17:49
ладно, х с ним, все равно уже не получится восстановить как я понимаю... придется заново писать...
сорри за мат, если кого он парит, негатив.
лан, relax take it easy :D
пошел я восстанавливать все, бл) удачного дня всем.
GetDataBack попробуй.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 07, 2011, 17:59
А что такое СУВ?

Думаю Система Управления Версиями :)


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 18:33
А что такое СУВ?

Думаю Система Управления Версиями :)
Это какой-то фривольный перевод)

Sub version control вообще-то

Хотя СКВ я бы тоже не понял)


Название: Re: я в шоке
Отправлено: kamre от Декабрь 07, 2011, 19:47
Нормальная уважающая себя IDE должна делать backup & auto-save файлы.
+1, чтобы всегда можно было сравнить/восстановить файл из local history, этакая локальная СУВ


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 21:52
Зачем городить огород не понимаю?
надо пользоваться свн, а автоматическое сохранение копий лично меня наоборот бесит.
Я постоянно параллельно IDE хожу в командере по директориями проекта.
А когда там лежат еще бак-файлы это мешает.

К тому же у меня привычка сохраняться каждый раз как только я закончил что-нибудь набирать.
Набрал, тут же пальцы жмут Ctrl+S. Поэтому это ничем не поможет. Будет две одинаковые копии. Текущая и резервная.

Поэтому либо свн либо ничего.
А разводить истерику нелепо.


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 21:54
Я бы на месте креатора, тебе весь проект нулями записал после таких слов ;D


Название: Re: я в шоке
Отправлено: GreatSnake от Декабрь 07, 2011, 22:07
2 thechicho:
кстати, а какая версия QC у тебя?


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 22:34
// Я бы на месте креатора, тебе весь проект нулями записал после таких слов
не понял тебя, у меня там галочка стоит.
win 7.
с жесткого работаю.

имхо, это был косяк Qt Creator'a как никрути. я его выбрал для создания проекта. а он мне такой вот нежданчик приподнес. у меня ноутпад++ открыт так же был, в нем то ничего не записалось NUL. другие файлы проекта были открыты, тоже остались целыми. записался NUL'ами файл, кот. на мониторе в креаторе в момент сбоя ноута был.

p.s. почти все переписал уже.
и поставил гит, только я не пойму, там надо самому сохранять или он будет автоматически разные версии файла сохранять? т.е. если опять такая хрень вдруг случится у меня будет 100500 файлов из гита на выбор для восстановления? или там вообще нет такого и надо svn юзать?
кто в теме, объсните плиз на пальцах, как этого добиться можно.


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 22:38
Это подтверждает, что креатор тут не виноват совсем, сбой дал жесткий диск.

А git это разве не тот же свн, только вид с боку?


Название: Re: я в шоке
Отправлено: thechicho от Декабрь 07, 2011, 22:46
ну он типа "распределенный".
я с этим еще не работал, поэтому сама логика работы СУВ не совсем понятна.
мне нужно, чтобы автоматически после каждого сохранения файла (или после определенного промежутка времени) создавалась новая копия файла в СУВ (в том же гите). это возможно? если да скиньте чо почитать, плиз, или на пальцах объясните, как это настраивается.
или, другой вопрос, как организовать работу, чтобы больше таких попадосов (потеря кода) не было?


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 22:58
а чем локальный свн не устраивает? и какие преимущества дает распределенный джит?


Название: Re: я в шоке
Отправлено: Авварон от Декабрь 07, 2011, 23:10
andrew.k
между свном и гитом разница приблизительно как между досом и 95й виндой. и для гита не нужен сервер. вообще.


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 23:13
и для гита не нужен сервер. вообще.
Небольшая поправочка. :) Для svn тоже не нужно сервера. Вообще. У меня до сих пор валяется репозиторий на флешке.


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 23:15
и для гита не нужен сервер. вообще.
Небольшая поправочка. :) Для svn тоже не нужно сервера. Вообще. У меня до сих пор валяется репозиторий на флешке.
А куда коннектиться клиент будет? и как сделать репозитарий на флешке?
Просто путь указывать?


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 23:17
andrew.k
между свном и гитом разница приблизительно как между досом и 95й виндой. и для гита не нужен сервер. вообще.
А конкретнее? какие преимущества?
И не совсем понимаю распределенность и отсутствие сервера.


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 23:20
Просто путь указывать?
svn checkout file:///media/flash/repo

Он умеет протокол file://


Название: Re: я в шоке
Отправлено: andrew.k от Декабрь 07, 2011, 23:23
Просто путь указывать?
svn checkout file:///media/flash/repo

Он умеет протокол file://
Сколько бы я крови сэкономил, знал бы раньше) ртфм. мать его)


Название: Re: я в шоке
Отправлено: Авварон от Декабрь 07, 2011, 23:31
BRE
угу только репу не локает. мы так на работе репозиторий угробили, свн _внезапно_ крашит репозиторий при одновременном доступе через file и не file


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 23:33
угу только репу не локает.
Не ну это решение для одного, вот для флешки, например. :)


Название: Re: я в шоке
Отправлено: Авварон от Декабрь 07, 2011, 23:42
гит тоже file:// поддерживает, но поддерживает его полностью также как и ремотные протоколы, без каких либо оговорок


Название: Re: я в шоке
Отправлено: BRE от Декабрь 07, 2011, 23:47
гит тоже file:// поддерживает, но поддерживает его полностью также как и ремотные протоколы, без каких либо оговорок
К сожалению, тогда еще не было гита.
А сейчас у меня тоже все на гите и вместо флешек облака. :)


Название: Re: я в шоке
Отправлено: GreatSnake от Декабрь 08, 2011, 12:42
То что нужно использовать СКВ это очевидно.
Но вы мне скажите, вы что при малейшем изменении исходника его публикуете в СКВ ???


Название: Re: я в шоке
Отправлено: LisandreL от Декабрь 08, 2011, 14:34
Но вы мне скажите, вы что при малейшем изменении исходника его публикуете в СКВ ???
Комичу по окончании некоторого важного этапа разработки с комментарием и каждый день перед уходом с работы.
День работы потерять неприятно, но всё же не смертельно (учитывая что случаются аварийные ситуации с компьютером всё же не часто.


Название: Re: я в шоке
Отправлено: kamre от Декабрь 08, 2011, 14:49
Зачем городить огород не понимаю?
надо пользоваться свн
И на каждый чих коммитить свои изменения, чтобы если вдруг вырубят свет, то было потеряно только несколько минут работы? Тогда SVN точно не подходит, т.к. в истории будет куча мелких ненужных для нормального понимания истории правок. Хотя, может быть с mercurial и его patch queue это еще и можно провернуть, но все равно не очень удобно.

а автоматическое сохранение копий лично меня наоборот бесит.
Я постоянно параллельно IDE хожу в командере по директориями проекта.
А когда там лежат еще бак-файлы это мешает.
Вообще-то нормальные IDE не раскидывают bak (или аналоги) по директориям проекта. Все это хранится где-то в отдельных директориях, которые отдельно от проектов лежат.

К тому же у меня привычка сохраняться каждый раз как только я закончил что-нибудь набирать.
Набрал, тут же пальцы жмут Ctrl+S. Поэтому это ничем не поможет. Будет две одинаковые копии. Текущая и резервная.
Так IDE должна хранить не только последнюю резервную копию, а некоторую историю. Эта локальная история по каждому Ctrl+S пополняется и всегда можно откатить (или сравнить) файл с нужной версией из локальной истории. Конечно, то насколько долго (или какого объема) копится эта локальная история должно настраиваться.

Поэтому либо свн либо ничего.
А разводить истерику нелепо.
На работе часто бывает так, что вообще нельзя изменения с регрессиями коммитить в SVN, а чтобы прогнать основные тесты нужно много времени. Поэтому SVN в предотвращении потери последних локальных изменений вообще никак не поможет, так что глупо в этом деле упирать на SVN.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 08, 2011, 17:18
Шуму то, шуму..

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


Название: Re: я в шоке
Отправлено: cya-st от Декабрь 08, 2011, 21:08
Цитировать
в нем спокойно коммитишь изменения каждый час плюс-минус
а если ничего не сделал за час, то что комитиш? Комитить надо фичу, таск, баг, и т.д. и это все работает в паре с какой-нибудь трекинг системой.
Цитировать
и это на локалке живет и радуется
А если винт сдохнет?


Название: Re: я в шоке
Отправлено: cya-st от Декабрь 08, 2011, 21:13
Репозиторий желательно держать удаленно (если что, то спросить есть у кого).
Для Git есть неплохие сервера: bitbucket и github.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 08, 2011, 21:32
Цитировать
а если ничего не сделал за час, то что комитиш? Комитить надо фичу, таск, баг, и т.д. и это все работает в паре с какой-нибудь трекинг системой.

Если ничего не сделал - значит и терять нечего :)

"Таск" может быть очень маленьким, потому "что коммитить" - вопрос как бы очень частный. "Каждый др..ит как он хочет", уж простите за выражение.

Цитировать
А если винт сдохнет?

Это уже вне темы "должна ли IDE иметь широкую систему бэкапов", т.е. если винт сдохнет, то никакие бекапы локальные не спасут :)

От внезапного сдыхания винтов спасают райды.

На самом деле, "локалка"  - понятие широкое. Она может жить на другом жестком диске очень радостно. Ну и принцип гита в общем-то - локальные коммиты отправляются далее на сервер :)


Название: Re: я в шоке
Отправлено: cya-st от Декабрь 08, 2011, 21:38
Цитировать
"Таск" может быть очень маленьким, потому "что коммитить" - вопрос как бы очень частный.
как правило до 8 часов работы
Цитировать
"Каждый др..ит как он хочет"
и при этом вы даете советы :). Нелогично как то.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 08, 2011, 22:08
Цитировать
и при этом вы даете советы . Нелогично как то.

Как это не логично? :) Как раз таки логично - если я считаю что мой способ удовлетворяет наилучшим методом, почему бы им не поделиться и не посоветовать? А уж читающий волен определить каково оно ему :)


P.S. про 8 часов работы не понял, ответить не могу


Название: Re: я в шоке
Отправлено: cya-st от Декабрь 08, 2011, 22:20
Цитировать
P.S. про 8 часов работы не понял, ответить не могу
Фичи разбиваются на таски.
Максимальная продолжительность таска должна быть не больше 8 часов.
Если таски длительные (~6-8 часов), то их можна чекинить в репозиторий.


Название: Re: я в шоке
Отправлено: ufna от Декабрь 08, 2011, 22:46
Ну тут уже зависит какой модели тасков вы придерживаетесь, не более чем. См. выше про "как он хочет", только уже в формате "каждый работает по той схеме, которая навязана работой".