Конвертирование проекта из SVN в Git
В fedora linux:
1 2 3 4 5 6 7 8 9 10 11 |
$ sudo yum install git-svn $ cd ~/git-svn-repo $ git svn clone http://[url]/main/trunk/[source] $ git config svn.authorsfile ~/users $ git ~/git-svn-repo ~/git-repo $ cd ~/git-repo $ git remote set-url --push origin [name]@[site]:[repo] // gitorious@git.uncc:mosfm/mos-fm-site.git $ git push origin master |
После этого в ~/git-repo будет «чистый» git-репозиторий. Ссылки: http://www.johnclarkemills.com/2011/01/01/migrate-from-svn-to-git-with-history/ http://gitready.com/beginner/2009/02/04/converting-from-svn.html http://redlinesoftware.com/blog/2008/2/24/converting-subversion-repositories-to-git http://stackoverflow.com/questions/79165/how-to-migrate-svn-with-history-to-a-new-git-repository http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ http://stackoverflow.com/questions/7784951/how-to-begin-committing-via-git-to-bitbucket-not-seeing-changes http://lists.debian.org/debian-devel/2011/07/msg00522.html http://git.or.cz/course/svn.html Чтобы слить несколько свн-репозиториев в один, можно воспользоваться советом про subtree merge — http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories
Конвертирование проекта из SVN в Mercurial
В fedora linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ sudo yum install mercurial $ cd ~/converted $ hg convert $ hg help extensions $ hg help config $ sudo nano /etc/mercurial/hgrc [--пишем--] [extensions] convert = $ hg convert http://[url]/main/trunk/source $ cd ~/hg-repo $ hg init $ hg clone ~/converted |
Баги в библиотеке memcached (getMulti)
Долго боролись с багом при использовании Memcached::getMulti в php 5.3.8. Как это было: Сначала данные складываются в кэш под некоторыми ключами, потом происходит считывание
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$cached = cache->getMulti( $cacheKeys ); foreach ( $actions as &$action ) { $actionCacheKey = self::getCacheKey( $action ); if ( array_key_exists( $actionCacheKey, $cached ) ) { $action = $cached[$actionCacheKey]; } else if ( in_array( $actionCacheKey, array_keys( $cached ) ) ) { die( '!!' ); } else { $action = self::factory( $action ); } } |
Так вот, if ( array_key_exists( $actionCacheKey, $cached ) ) не отрабатывает никогда (равно как isset и ! empty). При этом условие else if ( in_array( $actionCacheKey, array_keys( $cached ) ) …
Отчёты о рассылках на ящики mail.ru
http://postmaster.mail.ru/. Небольшое описание — http://habrahabr.ru/company/mailru/blog/138107/.
Chrome Developer Tools
Решил попробовать сменить браузер разработки с firefox на chrome. Почитал статью про возможности Chrome Developer Tools. Оказывается, там столько интересного есть :)
С чего начать изучение Ruby on Rails
http://net.tutsplus.com/tutorials/ruby/the-best-way-to-learn-ruby-on-rails/ — по шагам рассказывается, как подняться от уровня «никакой» до уровня «могу писать код самостоятельно».
Игры воображения с новыми API для JavaScript
Хороший доклад Гайдара Магданурова про новые возможности бразуеров (Application Cache, Web Workers, Web Sockets, File API, History API, Indexed DB). Ничего революционно нового он не поведал, просто вкратце перечислил и показал примеры. Мне понравилось. Видео — http://vimeo.com/34086427. Слайды — http://www.slideshare.net/gaidar/api-javascript. Дополнительные ссылки: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
WebDav и Nginx
WebDav и Nginx — централизованное хранение файлов на удалённом сервере без тяжёлого софта на нём.
Firefox developer tools
Видео: Firefox developer tools Скачать новый Firefox (beta): http://blog.mozilla.com/futurereleases/2011/12/23/firefox-beta-with-new-developer-tools-and-enhanced-sync-is-ready-for-testing/
Дизассемблирование и минификация javascript
http://pimpmyjs.com/ — Uglify or Beautify your JavaScript, it’s your choice… (minify js online) На jquery.min.js выдал ошибку, но в общем работает, и причём быстро.