It's all about the answers!

Ask a question

How to check in multiple files in workspace using IScmService or using plain java api?

Andrew Ciaz (59164) | asked Jan 23 '19, 5:59 a.m.

 Currently I am succeeded to check in single file in workspace , but I want to check in multiple files using batchCommit() or commit() method. Does anyone have idea of how to commit/check in multiple files using client side api/plain java api?

Accepted answer

permanent link
Ralph Schoon (63.3k33646) | answered Jan 23 '19, 6:45 a.m.

 I have published what I know about this API and here this is done:

The files are in a zip file, but that should be irrelevant.

Ralph Schoon selected this answer as the correct answer

Andrew Ciaz commented Jan 23 '19, 6:53 a.m.

 Hi @Ralph Schoon thanks for your valuable answer...I already tried this but it has multiple calls of commit() for each file, but while I am checking "Metronome" to check API call by eclipse client, eclipse call method batchCommit(), it commit and save no.of files in single shot. Do you have any idea about how to use this batchCommit() or how to check in multiple files in single shot?

Ralph Schoon commented Jan 23 '19, 7:04 a.m.

If I would want to know how  batchCommit() works, I would use a development environment set up according to the RTC Extensions Workspace and then use the Eclipse Java Search to search for the usage of the method batchCommit(). 

One other answer

permanent link
David Lafreniere (4.8k7) | answered Jan 23 '19, 3:49 p.m.
If you are writing a client-side plugin, here's the corresponding API:

ITeamRepository repo = getRepo();
IWorkspaceHandle workspaceHandle = getWorkspace();
IWorkspaceManager wm = ScmPlatform.getWorkspaceManager(repo);
IWorkspaceConnection wc = wm.getWorkspaceConnection(workspaceHandle, monitor);

From here you can use the wc#commit(...) method. Note: this method has an argument called 'configOp' that is a Collection of IConfigurationOps. So you first create a new List<IConfigurationOps>, then iterate across the files (IVersionable) you want to check-in, call this: wc.configurationOpFactory().save(versionable);  and then add that return result to your 'configOp' collection, then make the wc#commit(...) API call.

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.