/* 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)
*/
syntax highlighted by Code2HTML, v. 0.9.1