if (object->type == tree_type) {
struct tree *tree = (struct tree *)object;
if (!tree_objects)
- die("%s is a tree object, not a commit", name);
+ return NULL;
if (flags & UNINTERESTING) {
mark_tree_uninteresting(tree);
return NULL;
if (object->type == blob_type) {
struct blob *blob = (struct blob *)object;
if (!blob_objects)
- die("%s is a blob object, not a commit", name);
+ return NULL;
if (flags & UNINTERESTING) {
mark_blob_uninteresting(blob);
return NULL;
*/
#include "cache.h"
#include "commit.h"
+#include "refs.h"
static char *def = NULL;
static int no_revs = 0;
}
}
-static void show_rev(int type, unsigned char *sha1)
+static void show_rev(int type, const unsigned char *sha1)
{
if (no_revs)
return;
}
}
+static int show_reference(const char *refname, const unsigned char *sha1)
+{
+ show_rev(NORMAL, sha1);
+ return 0;
+}
+
int main(int argc, char **argv)
{
int i, as_is = 0;
show_type ^= REVERSED;
continue;
}
+ if (!strcmp(arg, "--all")) {
+ for_each_ref(show_reference);
+ continue;
+ }
show_arg(arg);
continue;
}