Thursday, August 30, 2012

hacking the jazz.net website using the scm command line

Recently, I switched to running Linux on my laptop.   With this change, I am provided with an opportunity to change the way that I work with RTC.  For the past year, I have been self hosting on the RTC Windows Shell Integration whenever I have needed to deal with documents or files that are not better housed in an IDE (like Eclipse).  But there is no Lightweight RTC Shell on Linux (and one is not yet currently planned).

I am always looking for opportunities to self host more on the RTC SCM command line tool[1].  It has come a fair way over the past couple of years, but since we do Eclipse development so much, it is too easy to fallback on the eclipse client.  I don't really hack much code these days, and I do spend more time writing documents, articles and presentations, so using the CLI to further these endeavours is the way to go.

Setting up my new sandbox for jazz.net tonight, I discovered that there are things that I can do better in the command line.

For example, for a truly large component, like the Jazz.net website, I can programmatically list remote files and grep in order to find exactly the directory I want to load.

lscm ls rf -r repoNickName 1109 1111 /my/directory --depth - | grep uniqueFolderName

where 1109 is a CLI alias for the workspace I am using, and 1111 is the alias for the component.  These aliases are discovered through other queries like "ls comp" or "ls ws" which serve as ways to query and find artifacts in the repository to work against.

Then the load command looks like:
lscm load 1109 MyComponent/my/directory/some/other/path/uniqueFolderName
You can do the same thing when loading in Eclipse, but people often do not choose to navigate through the wizard.  I find that you think differently when using console tools than you do when you use graphical user interfaces.

For one thing, with a command line tool, the onus is on the developer to find ways to optimize their environment more.   Using aliases and writing scripts are two examples of how you can easily customize the way you interact with the system.

Additionally, command line users actually read the help.  All it takes is one type-oh, and as a command line user, you are reading help, or in the very least skimming it.  I can't remember the last time I used help in an Eclipse-based product.

I hope that if you want to try something different when you are working against a filebase which does not endorse a particular IDE or toolchain you will consider the SCM Command Line.  We have numerous articles[2] which are helpful for getting started.

[1] Today I raised this bug on the help : self hosting in action!

[2] Here are some articles.



1 comment:

  1. > I find that you think differently when using console tools than you do when you use graphical user interfaces
    Yep. Especially since macros aren't popular anymore in the GUI world :-)

    ReplyDelete