aboutsummaryrefslogtreecommitdiff
path: root/walker.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-10-24 21:59:50 -0700
committerJunio C Hamano <gitster@pobox.com>2007-10-24 21:59:50 -0700
commitd90a7fda355c251b8ffdd79617fb083c18245ec2 (patch)
treedff9bc9d8e22b14c73cac403e65997a746aa03b2 /walker.h
parent2db9b49c6c19d3edaa3c20147f7d9f29588433df (diff)
parentca5bb5d5390e4ec709ca3e11c451c58a836d4ee6 (diff)
downloadgit-d90a7fda355c251b8ffdd79617fb083c18245ec2.tar.gz
git-d90a7fda355c251b8ffdd79617fb083c18245ec2.tar.xz
Merge branch 'db/fetch-pack'
* db/fetch-pack: (60 commits) Define compat version of mkdtemp for systems lacking it Avoid scary errors about tagged trees/blobs during git-fetch fetch: if not fetching from default remote, ignore default merge Support 'push --dry-run' for http transport Support 'push --dry-run' for rsync transport Fix 'push --all branch...' error handling Fix compilation when NO_CURL is defined Added a test for fetching remote tags when there is not tags. Fix a crash in ls-remote when refspec expands into nothing Remove duplicate ref matches in fetch Restore default verbosity for http fetches. fetch/push: readd rsync support Introduce remove_dir_recursively() bundle transport: fix an alloc_ref() call Allow abbreviations in the first refspec to be merged Prevent send-pack from segfaulting when a branch doesn't match Cleanup unnecessary break in remote.c Cleanup style nit of 'x == NULL' in remote.c Fix memory leaks when disconnecting transport instances Ensure builtin-fetch honors {fetch,transfer}.unpackLimit ...
Diffstat (limited to 'walker.h')
-rw-r--r--walker.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/walker.h b/walker.h
new file mode 100644
index 000000000..ea2c363f4
--- /dev/null
+++ b/walker.h
@@ -0,0 +1,37 @@
+#ifndef WALKER_H
+#define WALKER_H
+
+struct walker {
+ void *data;
+ int (*fetch_ref)(struct walker *, char *ref, unsigned char *sha1);
+ void (*prefetch)(struct walker *, unsigned char *sha1);
+ int (*fetch)(struct walker *, unsigned char *sha1);
+ void (*cleanup)(struct walker *);
+ int get_tree;
+ int get_history;
+ int get_all;
+ int get_verbosely;
+ int get_recover;
+
+ int corrupt_object_found;
+};
+
+/* Report what we got under get_verbosely */
+void walker_say(struct walker *walker, const char *, const char *);
+
+/* Load pull targets from stdin */
+int walker_targets_stdin(char ***target, const char ***write_ref);
+
+/* Free up loaded targets */
+void walker_targets_free(int targets, char **target, const char **write_ref);
+
+/* If write_ref is set, the ref filename to write the target value to. */
+/* If write_ref_log_details is set, additional text will appear in the ref log. */
+int walker_fetch(struct walker *impl, int targets, char **target,
+ const char **write_ref, const char *write_ref_log_details);
+
+void walker_free(struct walker *walker);
+
+struct walker *get_http_walker(const char *url);
+
+#endif /* WALKER_H */