Author Topic: Perforce, and Add Branch to Version Control  (Read 3443 times)

eberline

  • EA User
  • **
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Perforce, and Add Branch to Version Control
« on: June 12, 2008, 12:03:11 pm »
When using Add Branch to Version Control on a nested package hierarchy, EA submits each package in a separate Perforce changelist. One. At. A. Time. Trying to workaround by saving to a numbered changelist (that is, a non-default changelist) fails to add the package to Perforce. Submitting all the package XMI files as a single changelist would be much more convenient, particularly when writing a single changelist description to be used for all of the packages.

Cheers,
Scott


mrf

  • EA User
  • **
  • Posts: 311
  • Karma: +0/-0
    • View Profile
Re: Perforce, and Add Branch to Version Control
« Reply #1 on: June 19, 2008, 09:19:22 am »
Hi Scott,

There is a good reason for why this design decision was made. We found in our testing that the majority of the time spent in the "Add Branch to Version Control" routine was taken up by the XMI generation. If we were to batch add files to Version Control then all the XMI generation would need to occur first.

If the commit to version control failed, then there is a large amount of lost time due to all the XMI exporting that went before it. However if an individual file is exported and commited at a time then the problem is identified earlier, and you have the least amount of lost time when it occurs, and the least amount of work to rollback to a safe point.

Batch adding also proved problematic with some version control systems when the commit size exceeded a certain limit (eg 2Gb). In this situation some providers ungracefully handled the large amount of data, leaving the repository in a state of chaos.
Best Regards,

Michael

[email protected]
"It is more complicated than you think." - RFC 1925, Section 2.8

eberline

  • EA User
  • **
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: Perforce, and Add Branch to Version Control
« Reply #2 on: June 24, 2008, 01:03:56 pm »
I understand. Fortunately it's not too frequent a user operation, and the version control system not handling large commits is of course something that must be overcome somehow. That notwithstanding, and just so you know what the user experience can be like, recently I put a model structure in Perforce that resulted in 305 changelists, and tediously had to confirm in the changelist comment dialog for each one of those 305. Maybe there's a happy middle ground, say batching changelists based on some reasonable data size. Or maybe interface a little more directly with Perforce such that changelist submission is entirely automated.

Regards,
Scott