Southpaw-TACTIC/TACTIC — pull request #101 by talha81 (2014-12-06 13:06:55+00:00)
Title: add_file: versionless slow copy problem

#### Problem:
The Problem is described on this thread:
http://community.southpawtech.com/comment/2162#comment-2162

This problem is more prominent on windows and with versionless_mode set to copy.

##### Quote:
>Versionless checkins using add_file are very slow for large number of files. This is due to a *DESIGN BUG* in the tactic source code.

>**The bug is**:
>On each element of the array passed to add_file, FileAppendCheckin.execute() is called separately, which in turn calls Snapshot.update_versionless() for the whole snapshot. This means that all the added files are copied again and again between the "latest version" and the "latest versionless" for each element of the list passed to add_file. This increases the number of copyfiles to the order of numfiles**2.

the same can be said about the current versionless.

#### Suggested Solution:
When an TacticServerStub.add_file is called with more than one filepath in an array, only do versionless replication after the last file has been added.