armtuk: Cheetah (Default)
I just discovered that I have been committing my changes to the mls project to the wrong branch. Ugh!! But git to the rescue! I can switch to the correct branch, and cherry pick the correct revisions onto the master branch. Ha-ha! I wield my git at you stupidity! All better now, and it didn't even take that long to fix.


Mar. 4th, 2008 10:57 am
armtuk: Cheetah (Default)
I have long spurned the use of IDEs preferring rather to rely on trusty tools that work on the command line that have been so well debugged that they just work. Vim, ant, sed, awk were my best friends in coding land. Then I had to develop a desktop application that had to run on Windows. In Windows Vista, cygwin and java do not get along, and cygwin doesn't work very well at all in Vista particularly. I turned my attention therefore to the leading IDE available for java: Eclipse (I poked NetBeans, but it sucked compared to Eclipse, in particular it couldn't import my ant build scripts successfully, and doesn't deal with other formats well). I started to work with it, and found that it's fairly easy to work with, and things are well set up and easy to find for the most part. Then I discovered it could handle my python files in the project (The project has a bin directory that has various python scripts that do trivial database operations that are too big to want to do in a stored procedure that gets smooshed into one transaction). Then I discovered AspectJ. I cannot imagine trying to work with AspectJ outside of an IDE that can figure out where your pointcuts are applied dynamically. It would be a total nightmare, and I'm getting very fond of AspectJ features, to the point that I purchased the AspectJ book. Then there is web.xml editing. Frequently when I edit this important file by hand, I make simple typing errors which causes a restart of tomcat over and over again till I get the format corrected. This does not happen in the IDE as it's presented as name value pairs where the name of the tag is pulled from the DTD and presented in a drop down menu when you want to add a new tag. This is getting particularly important as I am starting to shun the use of JSTL in JSP for submit pages, and move back to using pure servlets for this functionality after a big blow up with a database upgrade. All these things have dramatically reduced the time I spend fixing trivial typos in my project and allowed me to be more productive. I wrote a PDF library that will be used on multiple projects in about 4 days straight including tests with some Aspect Oriented features. I don't think that would have been possible on the command line.

My one and only complaint is that there is poor git integration. There is an egit project that is a pure Java client for git, but it doesn't work very well, and so I have to go back to the command line to work with git. This is a general weakness of git though. They have the wonderful gitk program, but when it comes to visual interfaces, particularly on Windows, it is severely lacking. Given some of the advanced features of git that I have had occasion to use like git filter-branch, I can't imagine switching to another VCS unless it had those features, which I'm pretty sure no other VCS does (though I'm looking into bazaaar).

Another nice feature is Eclipse's ability to capture stdout and stderr from various sub-processes like tomcat, and JUnit testing which allows me to see right in my IDE what's going on with the server or with my test cases.

In short, it appears that I am eclipse's newest convert, though to be honest, to make the best use of Eclipse you need a monster monitor for all the views, but I have that mostly taken care of with (New Egg 22" Acer wide-screen for just $229!).

There are many other features of eclipse that I am going to have to explore. It has some very nice looking plug-ins for creating UML documentation, and documentation is something we are lacking a bit. I tend to do a good job of keeping things in my head, and as there isn't another developer, I am a bit guilty of not documenting what I have built very well (though the code is commented, but I hate trolling through source code personally). Generally most of what I build is too simple to warrant complex UML diagrams anyway, they are mostly just websites that process basic information to a database in simple submit processing type forms, and basic search functionality on top of that data.


Jun. 14th, 2007 03:51 pm
armtuk: Cheetah (Default)
So I posted on the git mailing list about my problem, and I got great support. I got a reply from Linus Torvalds himself!! wow, tech support from Linux Torvalds, who woulda thunk? Anyhow, it turns out that git's default behaviour after what I did with cloning a repo to an upstream location then trying to push from downstream wasn't really very smart. It was trying to update HEAD and master, and they were actualy linked together, so it updated one, then found that the other was already updated. I haven't figured out really how to get around this problem. I deleted the remote branches, but now I get an error about a missing origin/HEAD, but pushes still work - *shrug*.


Jun. 11th, 2007 05:49 pm
armtuk: Cheetah (Default)
So this weekend was kinda lousy. My insurance forced me to change to generic paxil instead of paxil CR. Apparently the side effects on regular paxil are supposed to be worse, which is gonna be fun as I'm already sleeping till midday as it is. On the up side, I bought a season pass to Numb3rs the third season and watched that. Picked up the LOTR MMO, which looks very pretty. 5 doesn't like it much so far, but I like the stories so far. I'm looking forward to playing some more. I didn't play that much this weekend because of watching numb3rs. Two of our very good friends from WoW have migrated over to LOTR, and thats almost enough reason for me to play it right there. I really enjoy teaming up with other people on questing. I'd much rather be in a group than solo everything.

Had my first problem with git today too. Tried to push changes to my central copy, and it didn't like it. gave me an error about failing to lock refs/remotes/origin/master. I Have posted to the mailing list.

gitk totaly rules though. We used it today to look at revision history for the mls project for our lawsuit.

More git

Jun. 8th, 2007 02:37 pm
armtuk: Cheetah (Default)
So, I had two version of the eastcoastmarine repository, one with version history from svn imported, one without, that was just an import of the raw data. I had made modifications to the second one, but want to merge them. with git, this was a piece of cake. I added the second as a remote repository to the first. Copied the remote branch down, and then merged it. There were a few add/add conflicts, but all in all it went very smoothly. Now I have a repo with a full history of the project including all the recent changes. All I have to do now is clone it to my server so I have a backup. This takes a bit because the repo is pretty big (>5gig) lots and lots of photos and data.

More on git

Jun. 8th, 2007 12:06 am
armtuk: Cheetah (Default)
So the first thing about git that I have found out is that it can import an SVN repository as part of the standard package:

git-svn init svn://
git-svn fetch


Wish subversion had this functionality for CVS when I ditched CVS for Subversion.
armtuk: Cheetah (Default)
so on a whim, I saw this someplace, I can't remember where:

This is a video (fairly long) of Linus Torvalds speaking about git, a revision control system that he wrote.

After watching this, I decided to give git a go, as I've found subversion to be a bit lacking on the branching/merging/tagging front.

git is cool. and fast. really fast. Now we just need a tortoisegit for windows.

I will continue to blog about my experience with it compared with subversion, which, apparently, Linus thinks is crap.


armtuk: Cheetah (Default)

April 2017

16171819 202122


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 23rd, 2017 09:21 am
Powered by Dreamwidth Studios