git: Please properly rename / move files and directories

I get frustrated when I browse a file from a git repository only to realize its history was lost due to improper renaming/moving of the file. It seems common for developers to manually rename/move a file in a git repository by using regular file system commands rather than git commands.

For example, let’s look at the following:

So what have we here? We start off by creating a new directory called test. We then go into the directory and start a new local git repository using git init. Next we create a new file called test.txt that contains simple text “hi”. test.txt is then added and committed to the repository. Finally, we use the mv command to rename the file to test2.txt.

git status shows us the result:

Git status after 'mv'
Result of git status

This is not what we were expecting. This shows that the original file test.txt was deleted and now there is an untracked new file called test2.txt, when it really should say that test.txt was renamed to test2.txt.

Btw, this goes for moving files as well. For example, rather than renaming the file, if it was moved to, say, a different folder, e.g. newFolder/test.txt, the result would be the same.

So how can this be solved? It’s actually not far off from the steps above. Let’s start with backtracking by reverting the rename:

Running the above commands produces the following result:

Use 'git mv' to rename/move files
Use ‘git mv’ to rename/move files

Much better, isn’t it? Renaming/moving files from git repositories the proper way will allow retention of their history, which is what we want.

Homebrew PHP Upgrade: “configure: error: Cannot find libz”

I was routinely upgrading my packages on Homebrew when I ran into the following error:

Of course, I did the first thing I always do when running into an error, Google it! And I found this link that suggested running the following:

After that,

ran fine.

Apache Drill: Error Starting Drill in Embedded Mode

Apache Drill

I’ve been checking out Apache Drill and everything was fine, until today. I tried running Drill in embedded mode, per usual, when I ran into the following exception:

Continue reading “Apache Drill: Error Starting Drill in Embedded Mode”

CSS Tip: Save different states of the same icon in the same file

Pro tip: when using CSS to change the state of an icon, whether a hover state or a disabled state, make sure to put all different states of the icon in the same file, then use CSS to determine what position of the file to use to display the background of the icon.

jQuery UI icons

The above doesn’t really cover what I mean, but it proves my point. The benefit of loading icons from the same file: no hiccup for when icons are loaded for different states of the icons.

Number One Reason to Go With a Mac

Mac OS X vs Windows. This subject is talked to death on a daily basis, but what really sets them apart? Given that the only way to buy a Mac is to pay a premium to Apple as opposed to Windows being offered by multiple providers, one can see why Windows has the majority of the market. Even so, if you follow the trend these days, you will notice the Mac OS is eating away little chunks of the market month by month, with 10% being within sight. But why should you buy an expensive Mac over a Windows PC? Aside from the usual list of pros and cons, one major factor is overlooked by many: its resell value.
Continue reading “Number One Reason to Go With a Mac”