There appear to be two Perforce integration possibilities:
- A server trigger submit on Perforce that scans a changelist description for a string pattern like BugzID:casenum, which connects to Fogbugz that adds a reference to that changelist to the case.
- A P4DTG integration that uses the Perforce jobs mechanism to map cases to jobs.
For the last year or so we have been using the first of these, mainly due to infrastructure reasons. The trigger mechansm relies upon the engineer remembering to add the string pattern, and not mistyping the case number. There appears to be no way to fix erroneous entries after the fact.
So I've been looking at the P4DTG solution. While at first sight it looks ok, there are a couple of issues that are raised from the docs. Firstly, it appears that a Perforce job is created for every new case in Fogbugz. This will cause us problems - a case will not necessarily involve Perforce work, for example. Secondly, it appears to rely upon the software engineers managing jobs in addition to changelists. While not at first sight a big issue, it does introduce a change to current practice. And I'm still not sure if P4DTG cures the incorrect data issue by allowing fixes post-submit.
My instinct is to stay with the first one, and live with the incorrect data issue. Is there a way to fix up this data afterwards?
But P4DTG is more modern & integrated - I just don't like the thought of hundreds of jobs being on the Perforce server which are not needed. Or am I missing something?
So what is the best solution, workflow? Does can anyone pass on their experiences?