Monthly Archives: August 2012

Устанавливаем Git под Mac OS X / XCode

Когда начал писать под Mac OS X в XCode, то увидел, что в нем есть поддержка Git.
Решил его и использовать.

Знакомство с git

Если с Git-ом не сталкивались, то може быть полезным сайт git – fast-version-control (есть русский перевод).

Для тех, кто знаком с SVN, может быть полезной статья Git Svn Crash Course. Пользователям Subversion по началу Git может показаться слегка наркоманским 🙂

Поддержка Git в XCode 

Установить Git можно, начиная со страницы git-osx-installer


Если появилось желание существующий XCode проект посадить под Git, то могут быть полезными следующий ссылки:
1. Using Git with an existing XCode project
2. Setting up a git repository in XCode for a pre-existing project

Клиент с графическим интерфейсом можно найти на странице gitx.
Клиент очень удобный, но, похоже, уже 2 года не поддерживается.
Последний раз я скачивал его со страницы http://gitx.frim.nl.
OpenInGitX позволяет добавить кнопку в панель инструментов Finder-а, чтобы можно было открывать GitX, нажимая на нее, если вы находитесь в репозитории git.

Напомню, чтобы увидеть служебные файлы Git, нужно включить отображений скрытых файлов.

Есть также еще один клиент с графическим интерфейсом gitk, но я его не использовал.

Далее используем в XCode c помощью команды File -> Source control -> Commit… и близ-лежащих.

Некоторые полезные операции

Git ignore file for Xcode projects describe at :

Checkout the revision you want to work with.
$ git reset --hard abcd93

More info: http://stackoverflow.com/a/890006/13441

To follow history after file renamed:
git log --follow
More info: http://stackoverflow.com/a/1321962/13441

Revert changes:
git checkout path/to/file/to/revert
git checkout -- .
More info: http://stackoverflow.com/a/52713/13441

Сommit all deleted files to Git
git add -u
This tells git to automatically stage tracked files – including deleting the previously tracked files.
More info: http://stackoverflow.com/a/1402793/13441

Find children revisions (commits)
git log -g
More info: http://www.kernel.org/pub/software/scm/git/docs/git-log.html

Rename project in XCode:
1. Rename project itself: http://stackoverflow.com/q/5416677/13441
2. Rename folder with sources with git to preserve history with git mv
3. Fix XCode project: http://stackoverflow.com/q/8262613/13441

SimpleNote после Evernote – первые впечатления

Переход на Evernote

Несколько месяцев назад попробовал для себя Evernote.
До этого использовал Goolge Docs. Но в Google Docs нельзя было редактировать документы в офлайне да и в целом не очень все юзабельно.

Сначала Evernote очень приятно удивил, особенно юзабельностью.
Но через некоторое время я начал подозревать глюки с головой… “вроде записал” а оно не записалось….
Но как оказалось в данном слючае глюки все таки были с Evernote.

Потери данных в Evernote

Evernote довольно часто теряет данные, когда метку часто редактируешь, причем на разных девайсах.
“Забыл нажать Done” – не подходит.
Кстати суппорт тоже как-то странно реагирует.

А еще самое интересное происходит, когда длинная заметка.
Я так прочитал книгу на iPhone-е и при этом копи-пастил фрагменты книги во время чтения в Evernote, получился конспект.
Но когда я ее перечитал, некоторые фрагменты встречались дважды, а некоторые, похоже, исчезли (сложно это вспомнить, потому как намеренно хочется забыть, когда в Evernote скинул 🙂 )

Данные гарантированно теряются, если в офлайне редактируешь заметку и ее же в веб-клиенте. Нет никакой синхронизации. Данные с одной версии либо дописуются к заметке с другой версией, либо… исчезают.

Также часто проблемы были, когда редактируешь заметку на iPhone без доступа в интернет, и вдруг появляется интернет и неожиданно начинается синхронизация. Часто терялось то, что было только что набрано.

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

Первый взгяд на SimpleNote

Вот и присмотрел я SimpleNote.
Пока пробовал только веб-интерфейс и iPhone-приложение.
Видимо API открыто и доступно множество клиентов и для других платформ.

Сразу обрадовало то, что заметки все сразу скачиваются и можно полностью спокойно в офлайне редактировать с iPhone.

Синхронизация очень классно сделана –  я о таком мечтал, но не особо надеялся 🙂
Приведу пример теста, который я проводил.
Создал заметку с несколькими строками в веб-клиенте, она синхронизировалась на iPhone.
Потом отключил iPhone от Wi-Fi и начал ее редактировать в конце текста, а также потом редактировал ту же заметку через веб-интерфейс в начале текста.
Потом я опять подключал iPhone к сети и захожу в SimpleNote.
И вуаля! Добавленный кусочек текста  с iPhone версии вставился именно в нужное место и его можно было увидеть в веб-клиенте.

Можно было и более извращенные тесты делать, но пока меня и так сильно радует. Похоже они реализовали то, как я это себе представлял, поэтому доверяю 🙂

Ну и как бонус в веб-клиенте можно просмотреть историю заметки.
В Evernote даже в платной версии такого нет, есть только бекапы.

Из минусов SimpleNote после Evernote:
Нет ссылок на отдельные публикации из веб-клиента (есть в планах, правда что-то затягивается).
Нет форматированного текста, хотя эту фичу я редко использовал (для гиков есть поддержка Markdown).
Нет заголовков заметки – берется первая строка заметки считается заголовком.

В итоге, первые впечатления очень хорошие, хотя более развитое форматирование  все таки не помешало бы.

Update. Спустя 3 недели.

SimpleNote web interface и iPhone клиент работает очень даже ничего.
Единственно, что иногда бывают дублирующие строки в заметках, видимо когда часто происходит синхронизация и связь с интернетом не стабильная.
Но в целом с этим можно мириться, все гораздо-гораздо лучше, чем Evernote.

А вот десктопные клиенты я сначала себе поставил, а потом посносил.
Интерфейс мне понравился.
Но иногда создается впечатления, что они при синхронизации как бы не замечают, что метка на сервере изменилась и в лучшем случае не подтягивают изменения при синхронизации, в худшем – затирают изменения на сервере.
Подозреваю, что это проблема не склиентами (они кстати thirty party), а с API Simplenote, поскольку симптомы одинаковые у двух разных клиентов.
Пробовал работать с Metanota и  ResophNotes.

И меня что-то разочаровала публикация на суппорте – оказывается, что система не проектировалась так, чтобы данные не терялись при разрыве связи. Для мобильных клиентов это вообще что-то непонятное….

Ох доиграются они, что доберется до них Google, Apple или тот же Microsoft и сделает технически надежное решение.
А плюнет юзер на юзабили в обмен на стабильность до первой замеченной пропажи данных…

Update 2. Наступающий реквием проблем с заметками на разных устройствах…

… у Apple уже Notes на iPhone работают, в клауд сохраняются, и вот веб-интерфейс добавился и работают очень даже ничего, предсказуемо в случае разных извратов…
Пока тестирую.
Жду добавления тегов или категорий и видимо скажу SimpleNote-у, Evernote и тому подобным: Ты кто такой? Давай, до свидания!
Хотя нужно добавить, что Evernote уже перестал тупо удалять данные, которые считает нужным, при проблемах синхронизации.