Skip to content

Commit

Permalink
Implement -v (verbose) option for pull methods other than local trans…
Browse files Browse the repository at this point in the history
…port.

This moves the private "say()" function to pull.c, renames it to
"pull_say()", and introduces a global variable "get_verbosely" that
makes the pull backends report what they fetch.  The -v option is
added to git-rpull and git-http-pull to match git-local-pull.

The documentation is updated to describe these pull commands.

Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
Junio C Hamano committed May 6, 2005
1 parent cc167cc commit e78d977
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 15 deletions.
32 changes: 32 additions & 0 deletions Documentation/core-git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -568,14 +568,35 @@ git-init-db won't hurt an existing repository.
################################################################
git-http-pull

git-http-pull [-c] [-t] [-a] [-v] commit-id url

Downloads a remote GIT repository via HTTP protocol.

-c
Get the commit objects.
-t
Get trees associated with the commit objects.
-a
Get all the objects.
-v
Report what is downloaded.


################################################################
git-local-pull

git-local-pull [-c] [-t] [-a] [-l] [-s] [-n] [-v] commit-id path

Downloads another GIT repository on a local system.

-c
Get the commit objects.
-t
Get trees associated with the commit objects.
-a
Get all the objects.
-v
Report what is downloaded.

################################################################
git-ls-tree
Expand Down Expand Up @@ -888,9 +909,20 @@ think.)
################################################################
git-rpull

git-rpull [-c] [-t] [-a] [-v] commit-id url

Pulls from a remote repository over ssh connection, invoking git-rpush on
the other end.

-c
Get the commit objects.
-t
Get trees associated with the commit objects.
-a
Get all the objects.
-v
Report what is downloaded.


################################################################
git-rpush
Expand Down
7 changes: 4 additions & 3 deletions http-pull.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,6 @@ int fetch(unsigned char *sha1)

curl_easy_setopt(curl, CURLOPT_URL, url);

/*printf("Getting %s\n", hex);*/

if (curl_easy_perform(curl))
return error("Couldn't get %s for %s\n", url, hex);

Expand All @@ -96,6 +94,7 @@ int fetch(unsigned char *sha1)
return error("File %s has bad hash\n", hex);
}

pull_say("got %s\n", hex);
return 0;
}

Expand All @@ -114,11 +113,13 @@ int main(int argc, char **argv)
get_all = 1;
get_tree = 1;
get_history = 1;
} else if (argv[arg][1] == 'v') {
get_verbosely = 1;
}
arg++;
}
if (argc < arg + 2) {
usage("http-pull [-c] [-t] [-a] commit-id url");
usage("git-http-pull [-c] [-t] [-a] [-v] commit-id url");
return 1;
}
commit_id = argv[arg];
Expand Down
14 changes: 4 additions & 10 deletions local-pull.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,9 @@
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;
Expand All @@ -41,7 +35,7 @@ int fetch(unsigned char *sha1)
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. */
Expand All @@ -51,7 +45,7 @@ int fetch(unsigned char *sha1)
}
}
if (use_symlink && !symlink(filename, dest_filename)) {
say("symlink %s\n", hex);
pull_say("symlink %s\n", hex);
return 0;
}
if (use_filecopy) {
Expand Down Expand Up @@ -79,7 +73,7 @@ int fetch(unsigned char *sha1)
fprintf(stderr, "cannot write %s (%ld bytes)\n",
dest_filename, st.st_size);
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);
Expand Down Expand Up @@ -117,7 +111,7 @@ int main(int argc, char **argv)
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++;
Expand Down
6 changes: 6 additions & 0 deletions pull.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,18 @@
int get_tree = 0;
int get_history = 0;
int get_all = 0;
int get_verbosely = 0;
static unsigned char current_commit_sha1[20];

static const char commitS[] = "commit";
static const char treeS[] = "tree";
static const char blobS[] = "blob";

void pull_say(const char *fmt, const char *hex) {
if (get_verbosely)
fprintf(stderr, fmt, hex);
}

static void report_missing(const char *what, const unsigned char *missing)
{
char missing_hex[41];
Expand Down
6 changes: 6 additions & 0 deletions pull.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ extern int get_history;
/** Set to fetch the trees in the commit history. **/
extern int get_all;

/* Set to be verbose */
extern int get_verbosely;

/* Report what we got under get_verbosely */
extern void pull_say(const char *, const char *);

extern int pull(char *target);

#endif /* PULL_H */
10 changes: 8 additions & 2 deletions rpull.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,12 @@ static int fd_out;

int fetch(unsigned char *sha1)
{
int ret;
write(fd_out, sha1, 20);
return write_sha1_from_fd(sha1, fd_in);
ret = write_sha1_from_fd(sha1, fd_in);
if (!ret)
pull_say("got %s\n", sha1_to_hex(sha1));
return ret;
}

int main(int argc, char **argv)
Expand All @@ -33,11 +37,13 @@ int main(int argc, char **argv)
get_all = 1;
get_tree = 1;
get_history = 1;
} else if (argv[arg][1] == 'v') {
get_verbosely = 1;
}
arg++;
}
if (argc < arg + 2) {
usage("rpull [-c] [-t] [-a] commit-id url");
usage("git-rpull [-c] [-t] [-a] [-v] commit-id url");
return 1;
}
commit_id = argv[arg];
Expand Down

0 comments on commit e78d977

Please sign in to comment.