

def getChangeSet(self, authToken, clientVersion, chgSetList, recurse, withFiles, withFileContents, excludeAutoSource):
    csList = []

    def _cvtTroveList(l):
        new = []
        for (name, (oldV, oldF), (newV, newF), absolute) in l:
            if oldV:
                oldV = self.fromVersion(oldV)
                oldF = self.fromFlavor(oldF)
            else:
                oldV = 0
                oldF = 0
            if newV:
                newV = self.fromVersion(newV)
                newF = self.fromFlavor(newF)
            else:
                newV = 0
                newF = 0
            new.append((name, (oldV, oldF), (newV, newF), absolute))
        return new
    for (name, (old, oldFlavor), (new, newFlavor), absolute) in chgSetList:
        if (old == 0):
            l = (name, (None, None), (self.toVersion(new), self.toFlavor(newFlavor)), absolute)
        else:
            l = (name, (self.toVersion(old), self.toFlavor(oldFlavor)), (self.toVersion(new), self.toFlavor(newFlavor)), absolute)
        csList.append(l)
    ret = self.repos.createChangeSet(csList, recurse=recurse, withFiles=withFiles, withFileContents=chgSetList, excludeAutoSource=excludeAutoSource)
    (cs, trovesNeeded, filesNeeded, removedTroveList) = ret
    assert (not filesNeeded)
    assert (not removedTroveList)
    (fd, tmpFile) = tempfile.mkstemp(suffix='.ccs')
    os.close(fd)
    cs.writeToFile(tmpFile)
    size = os.stat(tmpFile).st_size
    return (tmpFile, [size], _cvtTroveList(trovesNeeded), [], [])

dataset/ETHPy150Open sassoftware/conary/conary/repository/shimclient.py NetworkRepositoryServer.getChangeSet/VarMisuse@304/390 `withFileContents`->`chgSetList`