Accessing the TagCommand inside CVS integration

I need to tag a specific revision of a file that is not in my sandbox. The underlying netbeans CVS API can do that in its TagCommand class. The CVS integration uses this, but doesn't seem to expose all of its capabilities like its setTagByRevision option. Is there a way through proper casting or something to give me access to all the capabilities of TagCommand or does CVS integration have the ability to tag any revision in the revision tree that I am not finding?

2 comments
Comment actions Permalink

Hello Shawn,

I need to tag a specific revision of a file that is not in my sandbox.
The underlying netbeans CVS API can do that in its TagCommand class.
The CVS integration uses this, but doesn't seem to expose all of its
capabilities like its setTagByRevision option. Is there a way through
proper casting or something to give me access to all the capabilities
of TagCommand or does CVS integration have the ability to tag any
revision in the revision tree that I am not finding?


Given that the CVS plugin is not open-source and there's no OpenAPI available
for it, I'm not sure what way exactly you use to access the TagOperation.
So I can't tell you what proper casting could be used. :)

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Well, I had to dig deep and use a combination of debugging and decompiling to get what I wanted. The answer was to write my own TagCommand to replace the one in the netbeans API that comes with the CVS integration plugin AND to write my own TagOperation that replaces the one in the CVS integration plugin. Obviously, writing my own TagOperation is necessary to make it use my own TagCommand. I couldn't extend anything because of things like non public classes, private member variables and final classes within the CVS integration plugin. Once I had my own TagCommand and TagOperation, I could execute it using the CvsOperationExecutor class.

What a pain in the neck!!! If I didn't have experience with the netbeans CVS API already, I would have never been able to figure this out.

0

Please sign in to leave a comment.