Saturday, August 24, 2013

How to delete versioned SVN files from repository without deleting locally in TortoiseSVN

TortoiseSVN


If you are a developer working on a Windows operation system and using SVN for your version control, chances are that you are using TortoiseSVN so that you don't have to manually input SVN commands. Instead, you can just use the context menu items to click whatever command that you want to execute.



I will be particularly be talking about the delete command in this article.



Don't delete my local files!


There is one use case that really annoyed me about deletion in SVN. 

That is when I am trying to remove SVN files from the repository but somehow retain it in my local copy.

The delete in the context menu deletes both the files from the repository and the local copy.

To circumvent this problem, here are the steps that I did
  1. Copy the files and folders that I want to retain to a temporary folder. 
  2. Delete the files using the SVN context menu. This will delete the local copy too.
  3. Move the files back to where I copied them from
This solution is tedious and error-prone. What If I copied the .svn files? What if I forget to copy an obscure yet essential file? Surely, the whole purpose of version control is avoid these problems entirely!

I grudgingly used this workflow before because I didn't have the time to come up with an elegant solution to the problem. It is only recently that I finally decided to find a better solution. I didn't believe that SVN doesn't have a feature for this exact use case since I think this is a common enough to warrant this feature.

Sure enough, SVN does have it.

The Solution


To do it via the command line, you can simply type this
svn delete filename --keep-local

However, TortoiseSVN users will probably prefer a "point-and-click" solution to do this. Fortunately, there is a way!

The way to do it is
  1. Select the file(s) that you want to delete
  2. Hold the Shift button
  3. Right click on the file(s) that you want to delete
If you go to the SVN context menu, you will now see that there is a new command called Delete(keep local)



This is the command that we want to run.

Hope this helps!






Sunday, August 11, 2013

Android 4.3 Features



After a long wait, I got the OTA(Over the Air) update for Jellybean 4.3 for my Nexus 7.

I waited for weeks for the my Nexus 7 to get the update. My Nexus 7 is stock Android so I don't have the problem of other,carrier branded devices of not being able to get Android updates as soon as Google releases it.

But like most people downloading the update, I really don't know what improvements Jellybean 4.3 brings. So in order to not look like a fool, I searched the internet about the new features and fixes.

The official android page contains the list of new features. No need for me to repeat what is being said in that site since I will only discuss in length only those those features that are significant for me.

Multiple Profiles/Restricted Profiles


Before anything else, this feature is only available for tablets for now. Since I have the Nexus 7, I was able to enjoy this feature.

This feature happens to be very useful for a number of reasons. One is that people who want control over their own profiles will appreciate. It is very easy for some people(especially kids) to just randomly or accidentally change features that you may have painstakingly set.

It is also good for streamlining your tablet for specific tasks only. For example, some companies distribute work-only tablets to their employees. Restricted profiles will allow those companies to control the types of applications those people will use. Companies don't really appreciate it if you are wasting company time on unproductive applications(like games for instance).

Bluetooth LE/Smart


I don't have any device or accessory that actually uses these technologies so I can't really expound on what the benefit this has. But the main advantage that is implied by the site is low power consumption.

New Camera App


I can't really expound on this since my Nexus 7 doesn't have a back camera and no pre-installed camera app. Sure, there are ways to get a camera app for the front camera but I decided that it was not worth the time getting it since the front camera is really made for just video conferencing rather than taking pictures seeing that it only is 1.2 Megapixels.

Improved Keyboard/Gesture Typing


I always preferred manually typing letters as opposed  to "swiping" to compose my messages because I am in a country where English is not the native language. Regardless, just by trying out keyboard in 4.3 using swiping, I can definitely say that many people will find the functions very useful.

I remember being annoyed that I have to input space every word when swiping before. The 4.3 keyboard makes it so that you don't have to. Just lift the word and it automatically adds the space. The new keyboard also has better text prediction/anticipation abilities now since it can now complete sentences based on a few words.

Better Game Graphics/Google Games


Honestly, I played games after the update but did not see something significantly changed. I guess this only matters when you are playing 3D games(and even then, only those that really push processing power and graphics). I did not have any 3D games installed on my Nexus 7 since I prefer light, 2D games on tablets.

Google Games is a new app that offers leaderboards and matchmaking. For me, this is really has the potential to be a great feature. However, it seems to me that current games doesn't utilize it in such a way that is seems to be exciting to me. I have yet to see a multiplayer mobile game application that is as exciting as LAN parties of old or the MOBA games of the present. 

We will see if game developers can utilize the new features in the future.

Better Location through Wifi


You can see this feature in WiFi-> Settings -> Advanced -> Scanning


Basically, it lets Google use your WiFi to better determine your location without having to turn on WiFi all the time. They say that WiFi is more accurate than GPS in big cities, or rather densely populated area when determining your location so I guess that one reason why they implemented this feature. 

However, some people are wary of anyone, even Google, tracking their location all the time in the background. This feature may be left unused for them.

Programming and Computer Science

Powered by Blogger.