Transferring files between git repositories including history

Sometimes you have to transfer a file from one GIT repository to the other. You also need to preserve the history, either to give credits to authors, or simply to know why certain parts of code do exist.

First you have to export all desired files in a patch. Make sure you are running this command from git repository directory:

git log –pretty=email –patch-with-stat –reverse –full-index –binary — <file or directory> > <patch filename>

the patch now contains all commits containing changes to specified files. The next step is to navigate to target repo directory and apply patch:

git am –committer-date-is-author-date < <patch filename>

committer… flag forces commits from patch to maintain their original dates. Otherwise all applied commits would have current date. Sometimes you get a message:

Patch is empty.  Was it split wrong?

If you would prefer to skip this patch, instead run “git am –skip”.

To restore the original branch and stop patching run “git am –abort”.

The reason might be that there are merge commits without actual changes in the history. If you encounter this error just skip empty commits using

git am –skip –committer-date-is-author-date

make sure to include –committer flag, otherwise all consequent commits would have todays date.

Грамотная внутренняя и внешняя оптимизация необходима при продвижении сайта и раскрутке его в интернете topodin, С его помощью можно легко проверить, не получил ли кто-нибудь посторонний доступ к вашему ящику

Good bye riverstoneapps, welcome TapMints

Life is full of changes. Long time friends from riverstone creative house decided to abandon iOS app development business, at least for now. So what about apps we made together? The designer Jozef Mak and I decided to found a company – TapMints. So our apps have been transferred and I can’t wait to hand you all the stuff we are working on.

При этом, запоминать и зубрить название статей нет смысла – фактически, законодательство стран СНГ не имеет гарантированного и работающего законодательства, которое могло бы превратить заявление о защите деловой репутации в конструктивное разбирательство, заканчивающееся удовлетворением иска, Сайты для людей: учимся писать статьи на основании отзывов о товарах., Особенности и преимущества регионального продвижения сайта Создано 16

Weigh Me v1.0 – new app is live on the appstore!

Finally, our new app is live on the App Store. It”s name is Weigh Me. It can guide you to keep your weight healthy, with the bonus of awarding you for your achievements – this might help you to stay motivated. Feel free to check it.

From the development or design point of view, there are many animations. It did take some time to develop all this, but the time was well spent. The amount of learning myself was enormous and it was a lot of fun, so I do not regret a single second spent on this project and our team is proud of this app. We hope users will get as much fun while using it as we had during development.

Доверие услуги seo оптимизатора в topodin: Оптимизация и продвижение сайта в Яндексе (Yandex) На сегодняшний момент поисковая система &laquo,Яндекс&raquo, является лидером на Российском рынке поисковых систем и обеспечивает почти половину трафика на сайты

ShareKit refactored as Xcode subproject

ShareKit is a popular iOS framework, which can easily enable your app to share content on various social networks, such as Twitter, Facebook, LinkedIn, … etc. Some time ago I implemented in our app, and realised, that it is far from perfect. Now things have changed, ShareKit is more matured and a lot of people are submitting pull requests – ShareKit is much more usable and stable than it was few months ago. I am proud to announce, that it has been refactored to be used as Xcode subproject, using a static library. In case you have never heard about Xcode subproject, you can learn about it here, or here.

After you download ShareKit files using git, and add it to your Xcode project as subproject you gain the ability to seamlessly upgrade. Basically you only pull changes from shareKit”s origin repo and run your app. Everything is running, even if we added new sharers, or added/removed files. Prior to this change you had to manually add new files to your project and many of you were probably not aware of new sharers added to ShareKit. I hope this change will make using and updating ShareKit much, much easier.

, Студия Topodin, Создание сайта для турфирмы Сегодня Интернет является одним из самых простых и популярных способов прямого взаимодействия фирмы и клиента

Xcode search and replace using regular expressions back references

Sometimes you face a little more advanced search&replace need in Xcode. I had to solve this puzzle – original string, can be placed anywhere in multiple source files:

SHKLocalizedString(@"<whatever>")

where <whatever> can be any text. Needed to change to:

SHKLocalizedString(@"<whatever>", nil)

To find the strings using regular expressions enter

SHKLocalizedString\(\@".[^\)]*

to the search field. OK, but how to tell Xcode to use the result in the replace field? Regular expressions offer some help: back references and capture groups. First you need to create capture group (think of it as a variable), so let”s slightly change the search regex:

SHKLocalizedString\(\@”(.[^\)]*)

The red parentheses create the group #1 for back reference. Now to the replace field enter

SHKLocalizedString(@"\1, nil

where \1 is back reference to the capture group #1.

 

side note: the search regular expression supposes, that in <whatever> text there is no “)”.

Выход в ТОП 10 за 2-3 месяца, Студия Topodin, …

About iOS app UI sounds (AppSoundEngine open-sourced on GitHub)

AppSoundEngine  is a very fast low latency framework built upon System Sound Services for easy implementation of user interface sound effects within your iOS application. It is basically a objective-c wrapper around SystemSoundID (representing system sound object) and System Sound Services raw C functions, most importantly sound completion.

What is its history and what kinds of problems does it solve?

During development of Countdown Me I had to solve some problems with sound effects.

First of all – latency. Latency is the delay between pressing the button and actually hearing the sound. Acceptable latency is <10 ms. If you happen to squeeze it like this, the user has a “hardware” feeling of immediacy. So Continue reading

Countdown Me v2.0 Lite

Now we have also Lite version of Countdown Me for you to try. It may be handy for you, even if you happen to have full version – you can have two events on the badge now.

Countdown Me Lite - riverstone

Крайняя мера, если все остальные способы себя исчерпали, — составление искового заявления с требованием удалить подобный отзыв Студия Topodin, Таким образом, ваш проект и вы, как автор, всегда должны быть готовы к такому повороту событий

Countdown Me v2.0

We are proud to say, that new major version of our app is ready for you to download.

New features:

  • calendar integration: you can pick existing event from calendar, or create countdowns as new calendar events
  • alerts are now local notifications
  • new icon
  • many small enhancements and bugfixes

Countdown Me - riverstone

Плюсы и минусы Поисковое продвижение – это способ раскрутки сайта, когда ключевые слова продвигаются в топ выдачи поисковых систем методами внутренней и внешней оптимизации topodin, Она заключается в проведении мер внешней и внутренней оптимизации