Code

Retire git-export.
authorJunio C Hamano <junkio@cox.net>
Sat, 17 Sep 2005 05:21:36 +0000 (22:21 -0700)
committerJunio C Hamano <junkio@cox.net>
Thu, 22 Sep 2005 08:54:12 +0000 (01:54 -0700)
git-export was done as a concept example on how easy it is to export
the git data to something else. It's much less powerful than any
number of trivial one-liner scripts now, and real exporters would not
ever use git-export.

It's obviously much less powerful than "git-whatchanged", or just
about any combination of git-rev-list + git-diff-tree.

Signed-off-by: Junio C Hamano <junkio@cox.net>
.gitignore
Documentation/git-export.txt [deleted file]
Documentation/git.txt
Makefile
export.c [deleted file]

index 0fd59b9ff26f766432d086c32c228f85e4b78c20..007b540f4e825830275fcea889652f2917d7e5be 100644 (file)
@@ -24,7 +24,6 @@ git-diff-helper
 git-diff-index
 git-diff-stages
 git-diff-tree
-git-export
 git-fetch
 git-fetch-pack
 git-format-patch
diff --git a/Documentation/git-export.txt b/Documentation/git-export.txt
deleted file mode 100644 (file)
index 2666a1e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-git-export(1)
-=============
-v0.1, May 2005
-
-NAME
-----
-git-export - Exports each commit and a diff against each of its parents
-
-
-SYNOPSIS
---------
-'git-export' top [base]
-
-DESCRIPTION
------------
-Exports each commit and diff against each of its parents, between
-top and base.  If base is not specified it exports everything.
-
-
-Author
-------
-Written by Linus Torvalds <torvalds@osdl.org>
-
-Documentation
---------------
-Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
-
-GIT
----
-Part of the gitlink:git[7] suite
-
index 228f2fc3dd58c35eb6245e4c7343684aa7984451..e9158895b1d08c19aeb2abf6fb191c6da0eba6e4 100644 (file)
@@ -118,9 +118,6 @@ gitlink:git-diff-stages[1]::
 gitlink:git-diff-tree[1]::
        Compares the content and mode of blobs found via two tree objects
 
-gitlink:git-export[1]::
-       Exports each commit and a diff against each of its parents
-
 gitlink:git-fsck-objects[1]::
        Verifies the connectivity and validity of the objects in the database
        Previously this command was known as git-fsck-cache.
index 6d73a4d2bc3ef991c1bfb4e973ae6f784768f478..7559e1451bc22ec19de08675122c204e0c0c4c6f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -103,7 +103,7 @@ PROGRAMS = \
        git-checkout-index git-clone-pack git-commit-tree \
        git-convert-objects git-diff-files \
        git-diff-helper git-diff-index git-diff-stages \
-       git-diff-tree git-export git-fetch-pack git-fsck-objects \
+       git-diff-tree git-fetch-pack git-fsck-objects \
        git-hash-object git-init-db \
        git-local-fetch git-ls-files git-ls-tree git-merge-base \
        git-merge-index git-mktag git-pack-objects git-patch-id \
diff --git a/export.c b/export.c
deleted file mode 100644 (file)
index ce10b5a..0000000
--- a/export.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include "cache.h"
-#include "commit.h"
-
-/*
- * Show one commit
- */
-static void show_commit(struct commit *commit)
-{
-       char cmdline[400];
-       char hex[100];
-
-       strcpy(hex, sha1_to_hex(commit->object.sha1));
-       printf("Id: %s\n", hex);
-       fflush(NULL);
-       sprintf(cmdline, "git-cat-file commit %s", hex);
-       system(cmdline);
-       if (commit->parents) {
-               char *against = sha1_to_hex(commit->parents->item->object.sha1);
-               printf("\n\n======== diff against %s ========\n", against);
-               fflush(NULL);
-               sprintf(cmdline, "git-diff-tree -p %s %s", against, hex);
-               system(cmdline);
-       }
-       printf("======== end ========\n\n");
-}
-
-/*
- * Show all unseen commits, depth-first
- */
-static void show_unseen(struct commit *top)
-{
-       struct commit_list *parents;
-
-       if (top->object.flags & 2)
-               return;
-       top->object.flags |= 2;
-       parents = top->parents;
-       while (parents) {
-               show_unseen(parents->item);
-               parents = parents->next;
-       }
-       show_commit(top);
-}
-
-static void export(struct commit *top, struct commit *base)
-{
-       mark_reachable(&top->object, 1);
-       if (base)
-               mark_reachable(&base->object, 2);
-       show_unseen(top);
-}
-
-static struct commit *get_commit(unsigned char *sha1)
-{
-       struct commit *commit = lookup_commit(sha1);
-       if (!commit->object.parsed) {
-               struct commit_list *parents;
-
-               if (parse_commit(commit) < 0)
-                       die("unable to parse commit %s", sha1_to_hex(sha1));
-               parents = commit->parents;
-               while (parents) {
-                       get_commit(parents->item->object.sha1);
-                       parents = parents->next;
-               }
-       }
-       return commit;
-}
-
-int main(int argc, char **argv)
-{
-       unsigned char base_sha1[20];
-       unsigned char top_sha1[20];
-
-       if (argc < 2 || argc > 4 ||
-           get_sha1(argv[1], top_sha1) ||
-           (argc == 3 && get_sha1(argv[2], base_sha1)))
-               usage("git-export top [base]");
-       export(get_commit(top_sha1), argc==3 ? get_commit(base_sha1) : NULL);
-       return 0;
-}