Torbjørn Smørgrav a écrit :
1. maven-scm-test This module was essential for me. It made me realise that I had misinterpret 50% of the api :) Ofcourse I could argue that the javadoc of the api itself was insufficient, but that does not take away the glory of the test module. I would really like to see the test module more extensive in the future.
You can contribute by adding more javadoc and improve maven-scm-test ;-)
A couple of issues with the diff test: a) I found it confusing that all files with a diff should be flagged as modified even if they where added or deleted. b) The test has an assert on the range tag '@@' that may be a bit too strict. Either can the the range field of the tag can be implisit, or bazaar has wrong diff output. Eg. @@ -0,0 +1,1 @@ is equal to @@ -0,0 +1 @@ if the file is added and has only one line. What about making a common diff output parser that could be used by all diff consumers?
Propose a solution and we'll can discuss about it, but i'd like to have a common diff output
2. maven-scm-api I found it very hard to simplify the usage of command results. Most result classes are equal, only the name differ. I could have removed some 13 lines of code and 2 cyclomatic complexity in all commands if we could unify the ScmResult API. eg. by adding a copy constructor the the ScmResult class and a (ScmResult, Files) constructor in most of the other CommandScmResult classes. What about a result factory? That would also unify the result _behavior_.
Which classes do you refer? If we can simplify all, i'm agree.
4. Code redundancy I think more effort should be put in to centralize code, and to move responibility from each provider to a common manager. Such things are difficult to do upfront, but now we have 7 providers and we can see what kind of freedom the provider needs and what could be centralized.
For each part, you can file an issue and attach a patch.
All in all, I had a great time implementing the Bazaar provider and I think you have done a great job.
Thanks. I tried to build your provider before add it in svn but without success. All tests fail on windows. Emmanuel