Example #1
0
    def test_merge_fixtures(self):
        merge_fixtures_path = fixture_path("merge")
        merge_projects = listpath(merge_fixtures_path)
        merge_tasks = [listpath(merge_project) for merge_project in merge_projects]

        for merge_task in chain.from_iterable(merge_tasks):
            task_files = listpath(merge_task)
            project_files = load_merge_task(task_files)

            self.logger.info("merging base %s with my %s and their %s and comparing with %s..." % project_files)

            projects = [pbxproj.read(project_file) for project_file in project_files]
            base, mine, theirs, merged = projects

            merged_buffer = StringIO()
            merged_buffer = wrap_with_codec(merged_buffer, codec=base.get_encoding())
            merged_project = merge_pbxs(base, mine, theirs)
            pbxproj.write(merged_buffer, merged_project)

            #now compare the content of the written file with the original file
            #this should stay the same
            expected_merged_content = open(project_files[-1]).read()
            merged_content = merged_buffer.getvalue()
            merged_buffer.close()

            #if assert will fail, generate a diff for this failure
            if not merged_content == expected_merged_content:
                self.logger.error("failed to generate an exact replica, diff follows:")
                diff_lines = difflib.unified_diff(expected_merged_content.splitlines(), merged_content.splitlines())
                for line in diff_lines:
                    self.logger.error(line)

            self.assertEquals(merged_content, expected_merged_content, "%s was not correctly merged" % merge_task)
Example #2
0
def merge_pbx_files(basef, minef, theirsf, mergedf):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)

    mergedf = open(mergedf, "w")
    write_pbx(merged_project, mergedf)
Example #3
0
def merge_pbx_files(basef, minef, theirsf, mergedf):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)

    mergedf = open(mergedf, "w")
    write_pbx(merged_project, mergedf)
Example #4
0
def merge_pbx_files(basef, minef, theirsf, mergedf, clean=False):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    if clean:
        for name, project in zip((basef, minef, theirsf), (base, mine, theirs)):
            files_removed = project.clean_files()
            if len(files_removed) > 0:
                print "WARNING: %d dangling file references removed from %s" % (len(files_removed), name)


    merged_project = merge_pbxs(base, mine, theirs)

    pbxproj.write(mergedf, merged_project)
Example #5
0
def merge_pbx_files(basef, minef, theirsf, mergedf, clean=False):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    if clean:
        for name, project in zip((basef, minef, theirsf), (base, mine, theirs)):
            files_removed = project.clean_files()
            if len(files_removed) > 0:
                print "WARNING: %d dangling file references removed from %s" % (len(files_removed), name)


    merged_project = merge_pbxs(base, mine, theirs)

    pbxproj.write(mergedf, merged_project)
Example #6
0
def merge_pbx_files(basef, minef, theirsf):
    base, mine, theirs = (pbxproj.read(f) for f in (basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)
Example #7
0
def merge_pbx_files(basef, minef, theirsf, mergedf):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)

    pbxproj.write(mergedf, merged_project)
def merge_pbx_files(basef, minef, theirsf):
    base, mine, theirs = (pbxproj.read(f) for f in (basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)
Example #9
0
def merge_pbx_files(basef, minef, theirsf, mergedf):
    base, mine, theirs = read_pbxs((basef, minef, theirsf))

    merged_project = merge_pbxs(base, mine, theirs)

    pbxproj.write(mergedf, merged_project)