<snip>
Regarding history, as of the last time I was aware there is no way to track through the branches other than using a "best-guess" algorithm which is horribly inefficient (believe me, I tried). Based on my timings, I think that this is probably how Tortoise does this, but that is just a guess. It may works ok on a smaller code base, but on a converted version of our code base it took nearly an hour to get a complete history for a file. Subversion is supposed to be putting in some better support for this, and when it is available we will support it as soon as possible.
That's only if you want to track whether a file has been modified on
different branches. If you simply want to see the history of that particular instance of the file (versus everything, including files of the same name on other branches), Subversion Does The Right Thing automatically (it traces the life of the file back to it's creation). Reading other posts, it definitely sounds like the "--stop-on-copy" should be removed from the command line, or at least made into a checkbox.
FWIW, there is development going on now for merge tracking, which will provide a much faster method for asking "What is the entire history of this file on every branch?" That might be a 1.5 feature.
<snip>
Regarding commits, I have logged a bug for this. This is obviously one of the items that does not transfer from CVS well. My biggest concern about fixing this is that there is a limit on the length of a command line, and it varies from OS to OS. So a very large commit set could fail or have to be split.
You could use --targets <file> and copy the names of all the files into there. Then you can avoid and cmdline length and environment issues.
-John