init.c
#include <unistd.h> /* getopt(3p) */
#include <stdio.h>
#include <stdlib.h>
#include "common.h"
#include "repository.h"
static void
cmd_init_usage()
{
printf("ani init [-h] [-c <channel>] [<dir>]\n");
}
/**
* Init initializes a new repository as
*
* mkdir .pijul/{pristine, changes}
*
* plus maybe a few other things?
*/
int
init(const char *dir, const char *channel)
{
/* create the directory with mkdir(2) */
printf("init! dir = '%s' channel = '%s'\n", dir, channel);
return 0;
}
/**
* ani init [-c <channel>] [<dir>]
*/
int
cmd_init(int argc, const char **argv, struct repository *repo)
{
int c;
const char *dir;
char *channel = "main";
char **arguments = (char **)argv;
(void)repo;
/* Parse cmdline args */
while ((c = getopt(argc, arguments, "hc:")) != -1) {
switch (c) {
case 'h':
cmd_init_usage();
return 0;
case 'c':
channel = optarg;
break;
case '?':
fprintf(stderr, "unrecognized option '-%c'\n", optopt);
exit(1);
}
}
dir = optind < argc ? argv[optind] : ".";
/* Return result of init() */
return init(dir, channel);
}