/* patch-logs.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__PATCH_LOGS_H
#define INCLUDE__LIBARCH__PATCH_LOGS_H
#include "libawk/relational.h"
#include "libawk/associative.h"
enum arch_log_headers_summary
{
arch_include_date = 1,
arch_include_creator = 2,
arch_include_summary = 4,
arch_include_foreign_merges = 8,
arch_include_local_merges = 16,
};
typedef struct arch_patch_log_dir_
{
t_uchar *fqversion;
rel_table logs;
} arch_patch_log_dir_t;
/* automatically generated __STDC__ prototypes */
extern t_uchar * arch_make_log_file (t_uchar * tree_root, t_uchar * archive, t_uchar * version);
extern t_uchar * arch_make_log (t_uchar * tree_root, t_uchar * archive, t_uchar * version);
extern t_uchar * arch_auto_log_message (t_uchar * tree_root, t_uchar * archive, t_uchar * version, t_uchar * summary, t_uchar * body);
extern t_uchar * arch_log_for_merge (t_uchar * tree_root, t_uchar * archive, t_uchar * version, int reverse);
extern t_uchar * arch_log_dir (t_uchar const * tree_root, t_uchar const * archive, t_uchar const * version);
extern t_uchar * arch_log_file (t_uchar * tree_root, t_uchar * archive, t_uchar * revision);
extern t_uchar * arch_log_contents (t_uchar * tree_root, t_uchar * archive, t_uchar * revision);
extern int arch_tree_has_log (t_uchar * tree_root, t_uchar * archive, t_uchar * revision);
extern void arch_add_log_version (t_uchar * tree_root, t_uchar * archive, t_uchar * version);
extern void arch_remove_log_version (t_uchar * tree_root, t_uchar * archive, t_uchar * version);
extern int arch_has_patch_log (t_uchar * tree_root, t_uchar * archive, t_uchar * version);
extern rel_table arch_log_versions (t_uchar * tree_root,
t_uchar * only_archive,
t_uchar * only_category,
t_uchar * only_branch,
t_uchar * only_version);
extern t_uchar * arch_highest_patch_level (t_uchar const * tree_root, t_uchar const * archive, t_uchar const * version);
extern t_uchar * arch_latest_logged_version (t_uchar * tree_root, t_uchar * archive, t_uchar * package);
extern rel_table arch_logs (t_uchar const * tree_root, t_uchar const * archive, t_uchar const * version, int full);
extern int arch_valid_log_file (t_uchar * log);
extern void arch_parse_log (rel_table * headers_list, assoc_table * headers, t_uchar ** body, t_uchar * log);
extern void arch_print_headers_summary (int out_fd, int indent_level, assoc_table headers, int summarized_headers);
extern void arch_print_log_list_header (int out_fd, t_uchar * header, rel_table list, int field);
extern void arch_print_log_pairs_header (int out_fd, t_uchar * header, rel_table list, int field_a, int field_b);
extern void arch_copy_to_patch_log (t_uchar * tree_root, t_uchar * archive, t_uchar * revision, t_uchar * log_file);
extern void arch_rename_to_patch_log (t_uchar * tree_root, t_uchar * archive, t_uchar * revision, t_uchar * log_file);
extern rel_table arch_all_logs (t_uchar * tree_root);
extern void arch_patch_log_dirs_init (arch_patch_log_dir_t **a_dirs);
extern void arch_patch_log_dirs_finalise (arch_patch_log_dir_t **a_dirs);
extern t_uchar * arch_tree_latest_revision (t_uchar * base_tree_root);
#endif /* INCLUDE__LIBARCH__PATCH_LOGS_H */
/* tag: Tom Lord Sat Jan 5 15:26:10 2002 (patch-logs.h)
*/
syntax highlighted by Code2HTML, v. 0.9.1