Perhaps my needs are simpler than yours, but this technique (using testng.xml) seems like a strange & unusual way to specify test data. Generally, the data provider (or data' file) specifies both the parameters and # of iterations (data objects), and the @DataProvider annotation identifies which tests use that data (which generally doesn't change) - so you should only need to commit 1 file to update your test data. Parameters passed from testng.xml are generally 'metadata' (e.g. browser, platform) rather than actual test data.
@Yanan, I'm not sure what you mean by 'handle the test case name'; I generally use <test> to specify one or more test classes to execute/report together, not to specify individual testcases within a class.