How to lock all files under a component in batch?
Accepted answer
Locking the Entire Stream or Component:
In RTC 6.0.2 we added a feature that lets you lock streams and components to prevent deliveries to the files in those streams or components. Stream and component locks work in a similar manner to file locks but apply to the entire stream or the entire component in a stream. When a stream or component is locked, any attempted deliveries by users who do not own the lock will fail with an appropriate error message. The user that holds the lock can still perform deliveries to the stream. A lock does not only prevent deliveries, it also prevents any operation that affects the files in the locked component or stream. For example, a component replace is also prevented.
See:
-New & Noteworthy Mention: https://jazz.net/downloads/rational-team-concert/releases/6.0.2?p=newsDetails#stream-locking
-Stream/Component Locking Demo Video: https://www.youtube.com/watch?v=b8QwzwUF2ZY
-SCM Command Line Client 'set lock' command: https://www.ibm.com/support/knowledgecenter/SSCP65_6.0.4/com.ibm.team.scm.doc/topics/set_lock.html
Prior to 6.0.2, one approach might be to add a deliver advisor in the process spec to restrict deliveries to particular streams. By protecting your stream by particular roles or users, you can effectively lock the stream down.
"http://jazz.net/library/article/215#protect_some" describes how to protect individual components in a stream, the same approach can be used to lock down the entire stream.
Using the CLI (Can also use a script)
You could use the scm commandline which allows you to specify multiple files... 'scm lock acquire -r <repo> -s <stream identifier> -R'
To get the list of files in a component you could use the following command... 'scm list remotefiles -r <repo> <stream identifier> <component identifier>'
To get an output that is consumable you could use the --json option.
Multi-selection in the Rich Clients (Eclipse/Visual Studio)
You can multi-select files in the Package Explorer or the Repository Files view and use the Lock context menu action action. There is no way to select a folder however, and have it recursively lock all child files.
2 other answers
To get the list of files in a component you could use the following command... 'scm list remotefiles -r <repo> <stream identifier> <component identifier>'
To get an output that is consumable you could use the --json option.
I believe there is a trick in the web UI where you can lock many files. From a stream, you start to delete a folder and it will lock it and all of its contents in that stream. They will remain locked until you follow through with the delete or cancel the action. You can also navigate away from the page and they will remain locked.