Commandline source control wildcards
We are transitioning from SourceSafe to RTC purely as a source control system (no work items, build engines or anything else yet - that may or may not come later). I am working on integrating RTC source control into our existing build system.
As part of our build, anywhere from 0 to more than 400 string tables can be updated. I want to be able to add those changes into my changeset before delivering it. I initially tried:
but this doesn't work (it blows up SCM with a java.io.IOException: Invalid argument). The folder contains many other files that have also been modified but we don't want to check back into the source control; so just using "scm checkin /Files" is also not possible.
Is there a way to do this? Or do I have to checkin each of the potentially modifed files from a script that loops through everything?
Many thanks.
As part of our build, anywhere from 0 to more than 400 string tables can be updated. I want to be able to add those changes into my changeset before delivering it. I initially tried:
scm checkin /Files/*.str
but this doesn't work (it blows up SCM with a java.io.IOException: Invalid argument). The folder contains many other files that have also been modified but we don't want to check back into the source control; so just using "scm checkin /Files" is also not possible.
Is there a way to do this? Or do I have to checkin each of the potentially modifed files from a script that loops through everything?
Many thanks.
2 answers
Are you using Windows? If so, you might want to look into cygwin or another unix-style shell. We don't do file globbing internally, so we trust that your shell will handle it for us.
Yes; we are a Windows only shop. Running a separate shell is possibly more work than a script that checks in all the files in a loop. I'll have to try it out.
Thanks for the help.
I would be interested in seeing the IOException stack trace.
Here you go:
java.io.IOException: Invalid argument
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:434)
at java.io.File.getCanonicalPath(File.java:557)
at com.ibm.team.filesystem.cli.core.util.SubcommandUtil.makeAbsolutePath(Unknown Source)
at com.ibm.team.filesystem.cli.core.util.SubcommandUtil.makeAbsolutePaths(Unknown Source)
at com.ibm.team.filesystem.cli.client.internal.subcommands.CheckInCmd.findCommitRoots(CheckInCmd.java:158)
at com.ibm.team.filesystem.cli.client.internal.subcommands.CheckInCmd.consumeArguments(CheckInCmd.java:149)
at com.ibm.team.filesystem.cli.client.internal.subcommands.CheckInCmd.execute(CheckInCmd.java:222)
at com.ibm.team.filesystem.cli.client.internal.subcommands.CheckInCmd.run(CheckInCmd.java:112)
at com.ibm.team.filesystem.cli.core.internal.Application.run(Unknown Source)
at com.ibm.team.filesystem.cli.core.internal.Application.doStart(Unknown Source)
at com.ibm.team.filesystem.cli.core.internal.Application.start(Unknown Source)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
at org.eclipse.equinox.launcher.Main.run(Unknown Source)
Problem running 'checkin':
Could not determine canonical path of F:\RTC_Testing\Development Team Stream Workspace\*.txt