Category Archives: Software

Moving Files from one Git Repository to Another, Preserving History

Once upon a time all my Android apps and VMSoft related stuff were part of one big BitBucket git repository along with an issue tracker. This was a good idea when being an Android dev was just a hobby for the weekends and not my primary job.

Enough rambling 🙂 , this blog post is about moving files from one git repository to another and preserving your history.

Our goal is to move a single directory from one big Git repository to it’s own repository, we would like to preserve the commits history for that specific directory also.

In this example our big repo will  be called A and our new repo that will host it’s own subset of files will be called B

First filter the files from the big repo (A) by leaving only the ones you need:

git clone < repo A url >
cd < repo A directory >

Remove the “origin”

git remote rm origin

and filter A by < directory_to_move >. This action will go trough all the history and files and remove anything that’s not in < directory_to_move >.
More info on the inner workings of git filter-branch here.

git filter-branch --subdirectory-filter <directory_to_move> -- --all

filter-branch will leave you with the contents of < directory_to_move > in the root of repository A. Commit the changes and we can continue with the next step.

git add .
git commit

Moving to the new repository

Link repo A with repo B. The command below will make repository A branch of repository B.

git remote add repo-A-branch <git repository A directory>

Pull from the branch allowing unrelated histories

git pull repo-A-branch master --allow-unrelated-histories

and finally remove repo-A-branch

git remote rm repo-A-branch

That’s it, you now have your files in a new repository while preserving commits history.

Git checkouts fail on Windows with “Filename too long error: unable to create file”


According to the msysgit wiki on GitHub and the related fix this error, Filename too long, comes from a Windows API limitation of file paths having 260 characters or fewer.


To resolve this issue, run the following command from GitBash or the Git CMD prompt (as administrator):

git config --system core.longpaths true

This will allow file paths of 4096 characters.


First launch the Terminal app, located in the Utilities folder under Applications, or just hit Cmd + Space and type “Terminal“.

Type (copy & paste) the command below:

defaults delete; killall Dock

Then hit return.

Your Dock will now be new as the day it shipped. You are free to mess it up again 🙂

Retro FC Plus 168 in 1 games list

I recently felt nostalgic and wanted to play some of the 8-bit NES games from my childhood. Having an emulator such as OpenEMU that can run NES roms is great but owning a physical device is even better.

Thanks to AliExpress I acquired a portable 8-bit game console with 168 games build in. It’s clone of Game Boy Mini called Coolbaby RS-6 A or Retro FC Plus known by the user manual. It’s a cool little gadget which I will review in details later.

Coolbaby RS-6 A Retro Portable Mini Handheld Game Console 8-Bit 3.0 Inch Color LCD Kids Color Game Player Built-in 168 games
Coolbaby RS-6 A Retro Portable Mini Handheld Game Console 8-Bit 3.0 Inch Color LCD Kids Color Game Player Built-in 168 games

The complete list of 8-bit games was nowhere to be found so here it is or at least this is what came loaded on my device:

  1. Kung Fu Panda
  2. Jackal
  3. Rush n Attack
  4. Turtle Fighter
  5. Turtles 2
  6. Silk Worm
  7. Captain American
  8. Contra
  9. Super Contra
  10. Contra Force
  11. Double Dragon 2
  12. Double Dragon 3
  13. Hot Blood Story
  14. Hot Blood Wrestle
  15. Hot Blood Soccer
  16. Snow Bros
  17. Guerrilla War
  18. Chip Dale 1
  19. Top Gun Dual Fight
  20. World Cup Soccer
  21. Tetris 2
  22. Tank A1990
  23. Street Fighter V
  24. Tiny Toon 2
  25. Super Mario Bros
  26. Super Mario Bros 3
  27. Super Mario Bros 6
  28. Super Mario 14
  29. Adventure Island
  30. Adventure Island 2
  31. Cross Fire
  32. Jackie Chan
  33. Jungle Book
  34. Juuouki
  35. Kick Master
  36. Little Nemo Dream
  37. Mighty Final Fight
  38. Ninja Gaiden 2
  39. Ninja Gaiden 3
  40. Mitsume Ga Tooru
  41. Plants Vs Zombies
  42. Power Blade 2
  43. Batman
  44. Rockman 3
  45. Spider Man
  46. Tom Jerry
  47. Pacmania
  48. RBI Baseball
  49. 1942
  50. 80 Days
  51. Adventures Of Dino
  52. Adventures Of Lolo
  53. Adventures Of Lolo 2
  54. Aether Thgher
  55. Aladdin 3
  56. Angry Bird
  57. Argus
  58. Arkanoid
  59. Astro Robo Sasa
  60. Badminton
  61. Ballistic Hayhen
  62. Baltron
  63. Bananna
  64. Porter
  65. Bicycle Race
  66. Bokosuka Wars
  67. Bomb
  68. Buggy Popper
  69. Burai Fighter
  70. Bwings
  71. Challenger
  72. Chinese Chess
  73. Chubby Cherub
  74. Boat Race
  75. Defiance
  76. Destry I
  77. Dig Dug 2
  78. Dough Boy
  79. Dragon
  80. Dr. Mario
  81. Duck
  82. Elevator Action
  83. Exed Exes
  84. F1 Race
  85. Family Jockey
  86. Fire Dragon
  87. Flappy
  88. Flipull
  89. Football
  90. Galg
  91. Geimos
  92. Goodhand
  93. Goonies
  94. Gradius
  95. Gyrodine
  96. Gyromite
  97. Gyruss
  98. Harry Potter
  99. Hassle
  100. Hello Kitty
  101. Hokutono Ken
  102. Hovercraft
  103. Hydlide
  104. Ice Hockey
  105. Keroppi No Diabo
  106. Kung Fu
  107. Ladangel
  108. Lot Lot
  109. Mach Rider
  110. MagMax
  111. Metro Cross
  112. Mickey Mouse
  113. Mighty Bomb Jack
  114. Ms Pac Man
  115. Music Moment
  116. Ninja 2
  117. Pachi Com
  118. Pac Land
  119. Paperboy
  120. Pooyan
  121. Power Soccer
  122. The Legent Of Ka
  123. Circus Charlie
  124. Solomon S Key
  125. Spartan X
  126. TwinBee
  127. Donkey Kong
  128. Donkey Kong Jr
  129. Donkey Kong 3
  130. Bomber Man
  131. ExciteBike
  132. Front Line
  133. Galaga
  134. Galaxian
  135. Lode Runner
  136. Lode Runner 2
  137. Macross
  138. Tennis
  139. Ice Climber
  140. Dig Dug
  141. Pinball
  142. Space Invaders
  143. Super Chinese
  144. Field Combat
  145. Spy Hunter
  146. Spar
  147. Star Force
  148. Star Gate
  149. Street Frenzy
  150. Super Elf
  151. Surface Fire
  152. Swirl
  153. Tactful Monkey
  154. TNT (Bomberman with skin)
  155. Top Shot (Galaga with skin)
  156. UFO Race
  157. Under World
  158. Urban Champion
  159. Village Protector
  160. WarpMan
  161. Warrior Chase
  162. Warship
  163. What s up
  164. Wrestle
  165. Wrestling champion
  166. Yie Ar Kung Fu
  167. Zero Gravity
  168. Zippy Race

Make a directory writable by Apache on Mac OS X

Just a quick reference on how to make a directory writable by OSX integrated Apache web server.

1. Set the ownership of your desired directory/file to the _www user:

sudo chown -R _www:staff path/to/folder/

2. Set the permissions so that the _www can write in the directory/file without giving permissions to everyone else:

sudo chmod -R 755 path/to/folder

Happy coding 🙂