int get_history = 0;
int get_all = 0;
int get_verbosely = 0;
+int get_recover = 0;
static unsigned char current_commit_sha1[20];
void pull_say(const char *fmt, const char *hex)
struct tree_entry_list *next = entry->next;
if (process(entry->item.any))
return -1;
+ free(entry->name);
free(entry);
entry = next;
}
return 0;
}
-#define COMPLETE 1U
-#define TO_SCAN 4U
-#define SEEN 16U
+#define COMPLETE (1U << 0)
+#define SEEN (1U << 1)
+#define TO_SCAN (1U << 2)
static struct commit_list *complete = NULL;
obj->flags |= SEEN;
if (has_sha1_file(obj->sha1)) {
- parse_object(obj->sha1);
/* We already have it, so we should scan it now. */
- if (obj->flags & TO_SCAN)
- return 0;
obj->flags |= TO_SCAN;
} else {
if (obj->flags & COMPLETE)
* the queue because we needed to fetch it first.
*/
if (! (obj->flags & TO_SCAN)) {
- if (!has_sha1_file(obj->sha1) && fetch(obj->sha1)) {
+ if (fetch(obj->sha1)) {
report_missing(obj->type
? obj->type
: "object", obj->sha1);
int fd = -1;
save_commit_buffer = 0;
+ track_object_refs = 0;
if (write_ref && current_ref) {
fd = lock_ref_sha1(write_ref, current_ref);
if (fd < 0)
return -1;
}
- for_each_ref(mark_complete);
+ if (!get_recover) {
+ for_each_ref(mark_complete);
+ }
if (interpret_target(target, sha1))
return error("Could not interpret %s as something to pull",