Move a git repository to another location.

You might think that when moving a git repository from one location to another, all you have to do is to clone and then push to the new location. That is not true. You have to make sure that all remote branches and tags are included. Note that the following instructions will also push all your local branches to.

The following steps will move a repository called my_repo from Google Code to Github. Of course you can use the same steps to move from and to which ever git hosting service you like.

Step by step instructions
  1. Clone the the repository
    git clone
    cd my_repo
  2. List all local and remote branches. Note: All branches will be pushed later, both local and remote.
    git branch -a
  3. Track all remote branches.
    for remote in `git branch -r | grep -v '\->'`; do git branch --track $remote; done
  4. Add the new remote repository.
    git remote add new-origin
  5. List all remote repositories.

    git remote -v
  6. Push all branches to the new remote repository location.
    git push -u --all new-origin
  7. Push all tags to the new remote repository location.
    git push --tags new-origin
  8. Remove or rename the old origin
    git remote rm origin  # or rename ‘git remote rename origin old-origin'
  9. Rename the new-origin.
    git remote rename new-origin origin
  10. List all remote repositories.

    git remote -v
Thats it!

Mavericks and slow Finder

Last weekend I upgraded my MBP to Mavericks. I have been waiting with the upgrade because I didn’t want to have problem with my computer so I figured I’ll wait for some bugfixes before upgrading. So last weekend I decided to take the jump and upgrade. The first thing I discovered was that HyperSwitch was not working as it should and I still have not found a solution to the problem. The next problem was that Finder was incredibly slow when showing the content in folders. Today I was googling for a solution and I encountered a solution by Snaggletooth_DE,

The solution is to edit the auto_master file.

  1. Open up a Terminal window
  2. Open up the file auto_master
     $ sudo nano /etc/auto_master
  3. Comment out the row “/net  -hosts -nobrowse,hidefromfinder,nosuid”
     #/net                    -hosts          -nobrowse,hidefromfinder,nosuid
  4. Save the file with Ctrl+X
  5. Now restart the computer.
     $ sudo restart

After I have done the changes my Finder was as responsive as it used to be. I decided to test and see if I could reproduce the problem by uncomment the same row. So I did that and restarted. The funny thing now was that Finder was still responsive so I decided to go with that and close the case.

Regex and negative lookbehind

In my current project our application is built with Spring and we are using a couple of Spring profiles. Unfortunately we didn’t make them unique so if we deploy it with another application in the same application server we might get a name clash. We decided that we better try to use names that are specific for our application. So I started renaming all of our spring profiles by just adding the prefix apigw. to the name so it will be more unique.

auth-http-basic => apigw.auth-http-basic
auth-x509 => apigw.auth-x509

It was pretty easy to search for all occurrences and just add the prefix, totally 52 files and 92 changes. But what if I have missed any change that should have been done? It must be some way to use a regex to search for the string ‘auth-http-basic’ that is not preceded by ‘apigw.’. After a quick search with Google I found the answer; Negative Lookbehind.

“(?<!a)b matches a “b” that is not preceded by an “a”, using negative lookbehind. It doesn’t match cab, but matches the b (and only the b) in bed or debt.(?<=a)b (positive lookbehind) matches the b (and only the b) in cab, but does not match bed or debt.”

This is how the regex looks for me, (?<!apigw.)(auth-http-basic|auth-x509). Just fire up SublimeText and use Find in folder..

Black screen when starting Ubuntu

Today I started up my Ubuntu laptop and the login screen was all black. I could see the cursor arrow but everything else was black. The laptop is dual boot with Windows and Ubuntu and I quite recently changed from Linux Mint to Ubuntu. A quick lookup with Uncle Google pointed me to this page, My computer boots to a black screen, what options do I have to fix it? If your system is dual boot. So it was quite easy to fix and since I have Nvidia graphics card I just followed these steps:

  1. In the GRUB menu at startup, press e; then,
  2. Use the arrow keys to replace quiet splash with no splash or nomodeset.
  3. Then press the Ctrl+x key combination to boot.

That’s it. Now everything is fine and dandy

“Eclipse” is damaged and can’t be opened.

Yesterday I downloaded the latest Eclipse named Kepler to my Mac. I unzipped the package as usual and tried to launch it by clicking on the Eclipse file. I received the following error message:


After a quick search on the internet I found the solution in a bug report at Eclipse Bugs . It is the OS X GateKeeper that thinks that the file is corrupt and should be moved to trash. However, the problem is easy the solve. Just follow the following steps.

  1. Open up a shell
  2. Cd yourself into the eclipse directory.
  3. Check the attributes of the directory
    $ xattr
  4. Remove the ‘’ attribute.
    $ xattr -d

Now you should be able to launch Eclipse.

Happy coding

No sound in OS X when playing YouTube videos in Chrome

It have happened a couple of times that I suddenly don’t have any sound from my speakers when watching YouTube videos in Chrome. I don’t know how and when this happens but it is easy to fix. Just open a terminal and run “sudo killall coreaudiod”. I probably should investigate why this happens but I will do that on a rainy day.

$ sudo killall coreaudiod

That’s it.

Alldeles för tyst vid datorn

Hmm, vad tyst det är när jag sitter vid datorn. Hade glömt att installera Spotify på min Linux box.  Ett par klick så är det installerat och tystnaden bruten. Ge mig Timbuktu….

Spotify har tyvärr ingen skarp version av sin programvara utan den för Linux är en preview, som varit preview ganska länge men fungerar alldeles utmärkt 😉 Ett annat alternativ är att köra Spotify i Wine men det är inget jag känner för då de tuffa killarna kör native. Spotify har en bra beskrivning hur man installerar deras preview version.

Lägg till följande rad i filen /etc/apt/sources.list

deb stable non-free

Kör följande kommando

sudo apt-key adv --keyserver --recv-keys 94558F59

Uppdatera paketen

sudo apt-get update

Installera spotify

sudo apt-get install spotify-client

Uppgradera Linux Mint

Skriver detta inlägg som dokumentation till mig själv.

För ett tag sedan uppgraderade jag Linux Mint från release 12 till 13. Folket på Linux Mint vill att man skall göra en “fresh uppgrade” vilket innebär att man tar backup på allt sitt data och alla program för att sedan installera över den gamla releasen. Efter att installationen är klar sås skall man läsa tillbaka data och program från backupen. Jag är van att göra en paket-uppgradering istället vilket innebär att man tar en backup (?) och sedan uppgraderar. Beskrivningar för att göra detta är ganska knapphändiga eftersom de inte rekommenderar att man gör på det sättet. Efter att ha googlat runnt en stund så visste jag hur jag skulle göra.

Öppna filen /etc/apt/sources.list och lägg till följande rader:

# Linux Mint 13
deb maya main upstream import
deb precise main restricted universe multiverse
deb precise-updates main restricted universe multiverse
deb precise-security main restricted universe multiverse
deb precise partner
deb precise free non-free

och kommentera bort de rader som tillhör Mint 12. För mig var det följande rader:

# deb lisa main upstream import
# deb oneiric main restricted universe multiverse
# deb oneiric-updates main restricted universe multiverse
# deb oneiric-security main restricted universe multiverse
# deb oneiric partner
# deb oneiric free non-free

Efter att detta var gjort var det bara att köra

apt-get update
apt-get dist-upgrade

Det gick inte bra första gången och jag var tvungen att ta bort ‘mint-search-addon’

apt-get remove mint-search-addon

Nästa gång kanske jag gör en “fresh uppgrade”. Kanske 😉

Installera Google Chrome i Linux Mint

Har precis installerat Linux Mint på min ena dator. Har kört Ubuntu i några år nu men kände att det var dags att byta. Hur som helst så finns inte Google Chrome med i repositoryt så det går inte att installera den från den vanliga software managern. Hur som helst så är det ganska enkelt att installera i Linux ändå. Gör bara följande.

  1. Öppna ett Terminal fönster.
  2. Kör följande kommandon:
    wget -q -O - | sudo apt-key add -
    sudo sh -c 'echo "deb stable main" >> /etc/apt/sources.list.d/google.list'
    sudo apt-get update && sudo apt-get install google-chrome-stable

Efter att Chrome är installerad är det bara att logga in och synka sina bokmärken, plugins, lösenord mm.

Hade lite trubbel att synka Google Chrome. Det var iofs lätt fixat.

  1. Välj skiftnyckeln längst till höger och sedan Preferences.
  2. Välj Personal stuff i menyn till vänster.
  3. Välj Disconnect Your Google Account.
  4. Nu är kontot bortkopplat från Chrome och det är dags att starta om Chrome.
  5. Starta nu upp Chrome igen och gå sedan in under Personal Stuff och koppla ditt konto.


Subversion och inconsistent line ending style

Ibland händer det att radslut i filer är olika beroende på vilka verktyg man har använt och i vilken miljö man skapat filen. I windows används CRLF och i Unix används CR. För att enkelt ställa om radslut kan man använda kommandona dos2unix och unix2dos.

För att leta efter filer i en katalog och alla dess underkataloger och ändra radslut så kör man bara följande kommando.

find . -type f \! -exec dos2unix {} \;