/* apply-changeset.h: * **************************************************************** * Copyright (C) 2003 Tom Lord * * See the file "COPYING" for further information about * the copyright and warranty status of this work. */ #ifndef INCLUDE__LIBARCH__APPLY_CHANGESET_H #define INCLUDE__LIBARCH__APPLY_CHANGESET_H #include "hackerlab/machine/types.h" #include "libarch/changeset-report.h" #include "hackerlab/machine/types.h" #include "hackerlab/os/stdarg.h" #include "libawk/relational.h" #include "libarch/changeset-utils.h" #include "libarch/inv-ids.h" #include "libarch/project-tree.h" typedef void (*arch_apply_changeset_report_callback) (void * thunk, char * fmt, va_list ap); struct arch_apply_changeset_report { rel_table removed_files; /* [0] target-loc [1] id (sort 0) */ rel_table removed_dirs; /* [0] target-loc [1] id (sort 0) */ rel_table missing_removed_files; /* [0] orig-loc [1] id (sort 0) */ rel_table missing_removed_dirs; /* [0] orig-loc [1] id (sort 0) */ rel_table missing_renamed_files; /* [0] orig-loc [1] mod-loc [2] id (sort 0) */ rel_table missing_renamed_dirs; /* [0] orig-loc [1] mod-loc [2] id (sort 0) */ rel_table new_dirs; /* [0] target-loc [1] id (sort 0) */ rel_table renamed_dirs; /* [0] oldtgloc [1] loc [2] id (sort 0) */ rel_table new_files; /* [0] loc [1] id (sort 0) */ rel_table renamed_files; /* [0] oldtgloc [1] loc [2] id (sort 0) */ rel_table modified_files; /* [0] loc [1] id (sort 0) */ rel_table modified_dirs; /* [0] loc [1] id (sort 0) */ rel_table missing_file_for_patch; /* [0] mod-loc [1] id (sort 0) */ rel_table missing_dir_for_patch; /* [0] mod-loc [1] id (sort 0) */ rel_table meta_modified_files; /* [0] loc [1] id (sort 0) */ rel_table meta_modified_dirs; /* [0] loc [1] id (sort 0) */ rel_table missing_file_for_meta_patch; /* [0] mod-loc [1] id (sort 0) */ rel_table missing_dir_for_meta_patch; /* [0] mod-loc [1] id (sort 0) */ rel_table conflict_files; /* [0] loc [1] id (sort 0) */ rel_table conflict_dirs; /* [0] loc [1] id (sort 0) */ rel_table metadata_conflict_files; /* [0] loc [1] id (sort 0) */ rel_table metadata_conflict_dirs; /* [0] loc [1] id (sort 0) */ }; /* automatically generated __STDC__ prototypes */ extern int arch_conflicts_occurred (struct arch_apply_changeset_report * r); extern struct arch_apply_changeset_report * arch_apply_changeset (t_uchar * changeset_spec, void * context, arch_project_tree_t * target_tree, enum arch_id_tagging_method method, enum arch_inventory_category untagged_source_category, int reverse, int forward, int escape_classes, arch_apply_changeset_report_callback callback, void * thunk); extern struct arch_apply_changeset_report * arch_merge_from_changeset (t_uchar * changeset_spec, void * context, arch_project_tree_t * target_tree, enum arch_id_tagging_method method, enum arch_inventory_category untagged_source_category, assoc_table older_table, assoc_table yours_table, int escape_classes, int show_noops, arch_apply_changeset_report_callback callback, void * thunk); extern void conflict_filenames(t_uchar const * const output_root, t_uchar const *full_path, t_uchar **orig, t_uchar **reject, struct running_inventory_assocs *inventory); extern void apply_print_callback (void * vfd, char * fmt, va_list ap); #endif /* INCLUDE__LIBARCH__APPLY_CHANGESET_H */ /* tag: Tom Lord Sat Jan 5 15:26:10 2002 (apply-changeset.h) */