#include <unistd.h>
#include <string.h>
#include <stdlib.h>
+#include <limits.h>
#include "cache.h"
#include "commit.h"
#include <errno.h>
static int use_link = 0;
static int use_symlink = 0;
static int use_filecopy = 1;
-static int verbose = 0;
static char *path;
-static void say(const char *fmt, const char *hex) {
- if (verbose)
- fprintf(stderr, fmt, hex);
-}
-
int fetch(unsigned char *sha1)
{
static int object_name_start = -1;
strcpy(filename + object_name_start + 3, hex + 2);
if (use_link) {
if (!link(filename, dest_filename)) {
- say("link %s\n", hex);
+ pull_say("link %s\n", hex);
return 0;
}
/* If we got ENOENT there is no point continuing. */
}
}
if (use_symlink && !symlink(filename, dest_filename)) {
- say("symlink %s\n", hex);
+ pull_say("symlink %s\n", hex);
return 0;
}
if (use_filecopy) {
munmap(map, st.st_size);
close(ofd);
if (status)
- fprintf(stderr, "cannot write %s (%ld bytes)\n",
- dest_filename, st.st_size);
+ fprintf(stderr, "cannot write %s\n", dest_filename);
else
- say("copy %s\n", hex);
+ pull_say("copy %s\n", hex);
return status;
}
fprintf(stderr, "failed to copy %s with given copy methods.\n", hex);
else if (argv[arg][1] == 'n')
use_filecopy = 0;
else if (argv[arg][1] == 'v')
- verbose = 1;
+ get_verbosely = 1;
else
usage(local_pull_usage);
arg++;