{"thread":{"id":"1361","subject":"[PATCH 0/2] Bits from git-pb","startedAt":"2005-07-29T08:58:19Z","lastAt":"2005-08-02T22:43:18Z","messageCount":21,"participants":["Petr Baudis","Junio C Hamano","Linus Torvalds","Matthias Urlichs","Jon Seymour"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"6567","messageId":"20050729085819.GL24895@pasky.ji.cz","threadId":"1361","inReplyTo":null,"subject":"[PATCH 0/2] Bits from git-pb","fromName":"Petr Baudis","fromEmail":"pasky@ucw.cz","sentAt":"2005-07-29T08:58:19Z","receivedAt":"2005-07-29T08:58:19Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\n  those two bits were long kept local to git-pb. You can either apply\nthe patches or pull:\n\n\twww.kernel.org/pub/scm/cogito/git-pb.git\n\nThe bits are mostly cosmetic but I want to get rid of them. :-)\n\n  I'd like to know what to do with the git-pb branch in the future.\nBased on what do you think, I can either:\n\n  (i) Keep the git-pb branch polished and nice-to-merge, if you want to\npull from it.\n\n  (ii) Keep the git-pb branch polished and nice-to-merge and rebase it\nregularily if you don't want loong edges in your history graph, but\nwant to pull from it.\n\n  (ii) Do wild things in the git-pb branch and send you patches.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nIf you want the holes in your knowledge showing up try teaching\nsomeone.  -- Alan Cox\n"},{"id":"6568","messageId":"20050729090045.GM24895@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 1/2] Trivial tidyups","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T09:00:45Z","receivedAt":"2005-07-29T09:00:45Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Simple whitespace-related tidyups ensuring style consistency.\n\nThis is carried over from my old git-pb branch.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit 83b1762040b111b4736d108cd91b8a9d75aad3a9\ntree e07192546e9bd6a972e3945dd941fc7a29ec1a4b\nparent d854f783af2a441827d66b4b70e9d0d9e3434b15\nauthor Petr Baudis <pasky@suse.cz> Sat, 23 Jul 2005 00:21:48 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Sat, 23 Jul 2005 00:21:48 +0200\n\n Documentation/git-write-tree.txt |    3 +--\n git-merge-one-file-script        |    7 +++----\n write-tree.c                     |    4 ++--\n 3 files changed, 6 insertions(+), 8 deletions(-)\n\ndiff --git a/Documentation/git-write-tree.txt b/Documentation/git-write-tree.txt\n--- a/Documentation/git-write-tree.txt\n+++ b/Documentation/git-write-tree.txt\n@@ -9,8 +9,7 @@ git-write-tree - Creates a tree from the\n \n SYNOPSIS\n --------\n-'git-write-tree'\n-\t\t[--missing-ok]\n+'git-write-tree' [--missing-ok]\n \n DESCRIPTION\n -----------\ndiff --git a/git-merge-one-file-script b/git-merge-one-file-script\n--- a/git-merge-one-file-script\n+++ b/git-merge-one-file-script\n@@ -22,11 +22,10 @@ case \"${1:-.}${2:-.}${3:-.}\" in\n #\n \"$1..\" | \"$1.$1\" | \"$1$1.\")\n \techo \"Removing $4\"\n-\tif test -f \"$4\"\n-\tthen\n+\tif test -f \"$4\"; then\n \t\trm -f -- \"$4\"\n \tfi &&\n-\texec git-update-cache --remove -- \"$4\"\n+\t\texec git-update-cache --remove -- \"$4\"\n \t;;\n \n #\n@@ -62,7 +61,7 @@ case \"${1:-.}${2:-.}${3:-.}\" in\n \n \t# We reset the index to the first branch, making\n \t# git-diff-file useful\n-\tgit-update-cache --add --cacheinfo \"$6\" \"$2\" \"$4\" \n+\tgit-update-cache --add --cacheinfo \"$6\" \"$2\" \"$4\"\n \t\tgit-checkout-cache -u -f -- \"$4\" &&\n \t\tmerge \"$4\" \"$orig\" \"$src2\"\n \tret=$?\ndiff --git a/write-tree.c b/write-tree.c\n--- a/write-tree.c\n+++ b/write-tree.c\n@@ -89,14 +89,14 @@ int main(int argc, char **argv)\n \tint entries = read_cache();\n \tunsigned char sha1[20];\n \t\n-\tif (argc==2) {\n+\tif (argc == 2) {\n \t\tif (!strcmp(argv[1], \"--missing-ok\"))\n \t\t\tmissing_ok = 1;\n \t\telse\n \t\t\tdie(\"unknown option %s\", argv[1]);\n \t}\n \t\n-\tif (argc>2)\n+\tif (argc > 2)\n \t\tdie(\"too many options\");\n \n \tif (entries < 0)\n"},{"id":"6569","messageId":"20050729090126.GN24895@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 2/2] Unify usage strings declaration","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T09:01:26Z","receivedAt":"2005-07-29T09:01:26Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"All usage strings are now declared as static const char [].\n\nThis is carried over from my old git-pb branch.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit 1e02de8f49a8fca696b3cb363545fad3c98fd662\ntree feee1ccdea90d33fae2bf41621a876c5aa2ecfe5\nparent 83b1762040b111b4736d108cd91b8a9d75aad3a9\nauthor Petr Baudis <pasky@suse.cz> Sat, 23 Jul 2005 00:30:06 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Sat, 23 Jul 2005 00:30:06 +0200\n\n checkout-cache.c |    2 +-\n commit-tree.c    |    2 +-\n diff-cache.c     |    2 +-\n diff-files.c     |    2 +-\n diff-helper.c    |    2 +-\n diff-stages.c    |    2 +-\n diff-tree.c      |    2 +-\n hash-object.c    |    2 +-\n local-pull.c     |    2 +-\n ls-files.c       |    2 +-\n ls-tree.c        |    2 +-\n read-tree.c      |    2 +-\n ssh-push.c       |    2 +-\n tar-tree.c       |    2 +-\n test-delta.c     |    2 +-\n var.c            |    2 +-\n verify-pack.c    |    2 +-\n 17 files changed, 17 insertions(+), 17 deletions(-)\n\ndiff --git a/checkout-cache.c b/checkout-cache.c\n--- a/checkout-cache.c\n+++ b/checkout-cache.c\n@@ -75,7 +75,7 @@ static int checkout_all(void)\n \treturn 0;\n }\n \n-static const char *checkout_cache_usage =\n+static const char checkout_cache_usage[] =\n \"git-checkout-cache [-u] [-q] [-a] [-f] [-n] [--prefix=<string>] [--] <file>...\";\n \n int main(int argc, char **argv)\ndiff --git a/commit-tree.c b/commit-tree.c\n--- a/commit-tree.c\n+++ b/commit-tree.c\n@@ -64,7 +64,7 @@ static void check_valid(unsigned char *s\n #define MAXPARENT (16)\n static unsigned char parent_sha1[MAXPARENT][20];\n \n-static char *commit_tree_usage = \"git-commit-tree <sha1> [-p <sha1>]* < changelog\";\n+static const char commit_tree_usage[] = \"git-commit-tree <sha1> [-p <sha1>]* < changelog\";\n \n static int new_parent(int idx)\n {\ndiff --git a/diff-cache.c b/diff-cache.c\n--- a/diff-cache.c\n+++ b/diff-cache.c\n@@ -163,7 +163,7 @@ static void mark_merge_entries(void)\n \t}\n }\n \n-static char *diff_cache_usage =\n+static const char diff_cache_usage[] =\n \"git-diff-cache [-m] [--cached] \"\n \"[<common diff options>] <tree-ish> [<path>...]\"\n COMMON_DIFF_OPTIONS_HELP;\ndiff --git a/diff-files.c b/diff-files.c\n--- a/diff-files.c\n+++ b/diff-files.c\n@@ -6,7 +6,7 @@\n #include \"cache.h\"\n #include \"diff.h\"\n \n-static const char *diff_files_usage =\n+static const char diff_files_usage[] =\n \"git-diff-files [-q] \"\n \"[<common diff options>] [<path>...]\"\n COMMON_DIFF_OPTIONS_HELP;\ndiff --git a/diff-helper.c b/diff-helper.c\n--- a/diff-helper.c\n+++ b/diff-helper.c\n@@ -20,7 +20,7 @@ static void flush_them(int ac, const cha\n \tdiff_flush(DIFF_FORMAT_PATCH, '\\n');\n }\n \n-static const char *diff_helper_usage =\n+static const char diff_helper_usage[] =\n \"git-diff-helper [-z] [-O<orderfile>] [-S<string>] [--pickaxe-all] [<path>...]\";\n \n int main(int ac, const char **av) {\ndiff --git a/diff-stages.c b/diff-stages.c\n--- a/diff-stages.c\n+++ b/diff-stages.c\n@@ -17,7 +17,7 @@ static int diff_break_opt = -1;\n static const char *orderfile = NULL;\n static const char *diff_filter = NULL;\n \n-static char *diff_stages_usage =\n+static const char diff_stages_usage[] =\n \"git-diff-stages [<common diff options>] <stage1> <stage2> [<path>...]\"\n COMMON_DIFF_OPTIONS_HELP;\n \ndiff --git a/diff-tree.c b/diff-tree.c\n--- a/diff-tree.c\n+++ b/diff-tree.c\n@@ -395,7 +395,7 @@ static int diff_tree_stdin(char *line)\n \treturn diff_tree_commit(commit, line);\n }\n \n-static char *diff_tree_usage =\n+static const char diff_tree_usage[] =\n \"git-diff-tree [--stdin] [-m] [-s] [-v] [--pretty] [-t] \"\n \"[<common diff options>] <tree-ish> <tree-ish>\"\n COMMON_DIFF_OPTIONS_HELP;\ndiff --git a/hash-object.c b/hash-object.c\n--- a/hash-object.c\n+++ b/hash-object.c\n@@ -21,7 +21,7 @@ static void hash_object(const char *path\n \tprintf(\"%s\\n\", sha1_to_hex(sha1));\n }\n \n-static const char *hash_object_usage =\n+static const char hash_object_usage[] =\n \"git-hash-object [-t <type>] [-w] <file>...\";\n \n int main(int argc, char **argv)\ndiff --git a/local-pull.c b/local-pull.c\n--- a/local-pull.c\n+++ b/local-pull.c\n@@ -101,7 +101,7 @@ int fetch_ref(char *ref, unsigned char *\n \treturn 0;\n }\n \n-static const char *local_pull_usage = \n+static const char local_pull_usage[] =\n \"git-local-pull [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] commit-id path\";\n \n /* \ndiff --git a/ls-files.c b/ls-files.c\n--- a/ls-files.c\n+++ b/ls-files.c\n@@ -285,7 +285,7 @@ static void show_files(void)\n \t}\n }\n \n-static const char *ls_files_usage =\n+static const char ls_files_usage[] =\n \t\"git-ls-files [-z] [-t] (--[cached|deleted|others|stage|unmerged|killed])* \"\n \t\"[ --ignored [--exclude=<pattern>] [--exclude-from=<file>) ]\";\n \ndiff --git a/ls-tree.c b/ls-tree.c\n--- a/ls-tree.c\n+++ b/ls-tree.c\n@@ -208,7 +208,7 @@ static int list(char **path)\n \treturn err;\n }\n \n-static const char *ls_tree_usage =\n+static const char ls_tree_usage[] =\n \t\"git-ls-tree [-d] [-r] [-z] <tree-ish> [path...]\";\n \n int main(int argc, char **argv)\ndiff --git a/read-tree.c b/read-tree.c\n--- a/read-tree.c\n+++ b/read-tree.c\n@@ -510,7 +510,7 @@ static int read_cache_unmerged(void)\n \treturn deleted;\n }\n \n-static char *read_tree_usage = \"git-read-tree (<sha> | -m [-u] <sha1> [<sha2> [<sha3>]])\";\n+static const char read_tree_usage[] = \"git-read-tree (<sha> | -m [-u] <sha1> [<sha2> [<sha3>]])\";\n \n static struct cache_file cache_file;\n \ndiff --git a/ssh-push.c b/ssh-push.c\n--- a/ssh-push.c\n+++ b/ssh-push.c\n@@ -96,7 +96,7 @@ static void service(int fd_in, int fd_ou\n \t} while (1);\n }\n \n-static const char *ssh_push_usage =\n+static const char ssh_push_usage[] =\n \t\"git-ssh-push [-c] [-t] [-a] [-w ref] commit-id url\";\n \n int main(int argc, char **argv)\ndiff --git a/tar-tree.c b/tar-tree.c\n--- a/tar-tree.c\n+++ b/tar-tree.c\n@@ -17,7 +17,7 @@\n #define EXT_HEADER_PATH\t\t1\n #define EXT_HEADER_LINKPATH\t2\n \n-static const char *tar_tree_usage = \"git-tar-tree <key> [basedir]\";\n+static const char tar_tree_usage[] = \"git-tar-tree <key> [basedir]\";\n \n static char block[BLOCKSIZE];\n static unsigned long offset;\ndiff --git a/test-delta.c b/test-delta.c\n--- a/test-delta.c\n+++ b/test-delta.c\n@@ -17,7 +17,7 @@\n #include <sys/mman.h>\n #include \"delta.h\"\n \n-static const char *usage =\n+static const char usage[] =\n \t\"test-delta (-d|-p) <from_file> <data_file> <out_file>\";\n \n int main(int argc, char *argv[])\ndiff --git a/var.c b/var.c\n--- a/var.c\n+++ b/var.c\n@@ -8,7 +8,7 @@\n #include <errno.h>\n #include <string.h>\n \n-static char *var_usage = \"git-var [-l | <variable>]\";\n+static const char var_usage[] = \"git-var [-l | <variable>]\";\n \n struct git_var {\n \tconst char *name;\ndiff --git a/verify-pack.c b/verify-pack.c\n--- a/verify-pack.c\n+++ b/verify-pack.c\n@@ -27,7 +27,7 @@ static int verify_one_pack(char *arg, in\n \treturn verify_pack(g, verbose);\n }\n \n-static const char *verify_pack_usage = \"git-verify-pack [-v] <pack>...\";\n+static const char verify_pack_usage[] = \"git-verify-pack [-v] <pack>...\";\n \n int main(int ac, char **av)\n {\n"},{"id":"6584","messageId":"20050729125338.GB21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 3/2] git-merge-cache -q doesn't complain about failing merge program","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T12:53:38Z","receivedAt":"2005-07-29T12:53:38Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"git-merge-cache reporting failed merge program is undesirable for\nCogito, since it emits its own more appropriate error message in that\ncase. However, I want to show other possible git-merge-cache error\nmessages. So -q will just silence this particular error.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\n\nThere's more of patches to come. All those which are overflowing this\nseries are in the git-pb branch as well and you'd get them by pulling\nit.\n\ncommit 8ddefe85adc8e035864be615c87844ef982f4bc6\ntree d5e6c49f93d2e4138ad63faa7fcfb893f4843c88\nparent 527a155a0400df1af2e1da64fc02f2dd003413a8\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 14:52:53 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 14:52:53 +0200\n\n Documentation/git-merge-cache.txt |    9 +++++++--\n merge-cache.c                     |   23 +++++++++++++++--------\n 2 files changed, 22 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/git-merge-cache.txt b/Documentation/git-merge-cache.txt\n--- a/Documentation/git-merge-cache.txt\n+++ b/Documentation/git-merge-cache.txt\n@@ -9,7 +9,7 @@ git-merge-cache - Runs a merge for files\n \n SYNOPSIS\n --------\n-'git-merge-cache' [-o] <merge-program> (-a | -- | <file>\\*) \n+'git-merge-cache' [-o] [-q] <merge-program> (-a | -- | <file>\\*) \n \n DESCRIPTION\n -----------\n@@ -32,6 +32,11 @@ OPTIONS\n \treturned errors, and only return the error code after all the\n \tmerges are over.\n \n+-q::\n+\tDo not complain about failed merge program (the merge program\n+\tfailure usually indicates conflicts during merge). This is for\n+\tporcelains which might want to emit custom messages.\n+\n If \"git-merge-cache\" is called with multiple <file>s (or -a) then it\n processes them in turn only stopping if merge returns a non-zero exit\n code.\n@@ -40,7 +45,7 @@ Typically this is run with the a script \n the RCS package.\n \n A sample script called \"git-merge-one-file-script\" is included in the\n-ditribution.\n+distribution.\n \n ALERT ALERT ALERT! The git \"merge object order\" is different from the\n RCS \"merge\" program merge object order. In the above ordering, the\ndiff --git a/merge-cache.c b/merge-cache.c\n--- a/merge-cache.c\n+++ b/merge-cache.c\n@@ -5,7 +5,7 @@\n \n static const char *pgm = NULL;\n static const char *arguments[8];\n-static int one_shot;\n+static int one_shot, quiet;\n static int err;\n \n static void run_program(void)\n@@ -27,10 +27,13 @@ static void run_program(void)\n \t\tdie(\"unable to execute '%s'\", pgm);\n \t}\n \tif (waitpid(pid, &status, 0) < 0 || !WIFEXITED(status) || WEXITSTATUS(status)) {\n-\t\tif (one_shot)\n+\t\tif (one_shot) {\n \t\t\terr++;\n-\t\telse\n-\t\t\tdie(\"merge program failed\");\n+\t\t} else {\n+\t\t\tif (quiet)\n+\t\t\t\tdie(\"merge program failed\");\n+\t\t\texit(1);\n+\t\t}\n \t}\n }\n \n@@ -97,15 +100,19 @@ int main(int argc, char **argv)\n \tint i, force_file = 0;\n \n \tif (argc < 3)\n-\t\tusage(\"git-merge-cache [-o] <merge-program> (-a | <filename>*)\");\n+\t\tusage(\"git-merge-cache [-o] [-q] <merge-program> (-a | <filename>*)\");\n \n \tread_cache();\n \n \ti = 1;\n-\tif (!strcmp(argv[1], \"-o\")) {\n+\tif (!strcmp(argv[i], \"-o\")) {\n \t\tone_shot = 1;\n \t\ti++;\n \t}\n+\tif (!strcmp(argv[i], \"-q\")) {\n+\t\tquiet = 1;\n+\t\ti++;\n+\t}\n \tpgm = argv[i++];\n \tfor (; i < argc; i++) {\n \t\tchar *arg = argv[i];\n@@ -122,7 +129,7 @@ int main(int argc, char **argv)\n \t\t}\n \t\tmerge_file(arg);\n \t}\n-\tif (err)\n+\tif (err && quiet)\n \t\tdie(\"merge program failed\");\n-\treturn 0;\n+\treturn err;\n }\n"},{"id":"6597","messageId":"20050729154826.GG21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 4/2] Improve the compilation-time settings interface","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T15:48:26Z","receivedAt":"2005-07-29T15:48:26Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Describe variables which make itself takes and adjusts compilation\naccordingly (MOZILLA_SHA1, NO_OPENSSL, PPC_SHA1), and make adding\ndefines more convenient through the $DEFINES variable. $COPTS includes\n-g as well now and is not overriden if it was already declared in the\nenvironment. Also, $CFLAGS is appended to rather than reset, so that if\nthere was already a $CFLAGS environment variable, it's appended to. Some\nmore variables are also made overridable through the environment. Renamed\n$bin to $bindir which is the name commonly used for this.\n\nThis is part of the Cogito Makefile changes port.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit 601722751e42dfef8bcd2fe3d6b070b07eb9198e\ntree ebe576c5bd841b4daeb855e49635491c02a322b5\nparent 8ddefe85adc8e035864be615c87844ef982f4bc6\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 15:45:42 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 15:45:42 +0200\n\n Makefile |   56 ++++++++++++++++++++++++++++++++++++++------------------\n 1 files changed, 38 insertions(+), 18 deletions(-)\n\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -1,33 +1,53 @@\n-# -DCOLLISION_CHECK if you believe that SHA1's\n-# 1461501637330902918203684832716283019655932542976 hashes do not give you\n-# enough guarantees about no collisions between objects ever hapenning.\n+# Define MOZILLA_SHA1 environment variable when running make to make use of\n+# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast\n+# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default\n+# choice) has very fast version optimized for i586.\n #\n-# -DUSE_NSEC if you want git to care about sub-second file mtimes and ctimes.\n-# -DUSE_STDEV if you want git to care about st_dev changing\n+# Define NO_OPENSSL environment variable if you do not have OpenSSL. You will\n+# miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1.\n #\n-# Note that you need some new glibc (at least >2.2.4) for this, and it will\n-# BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely randomly\n-# break unless your underlying filesystem supports those sub-second times\n-# (my ext3 doesn't).\n+# Define PPC_SHA1 environment variable when running make to make use of\n+# a bundled SHA1 routine optimized for PowerPC.\n+\n+\n+# Define COLLISION_CHECK below if you believe that SHA1's\n+# 1461501637330902918203684832716283019655932542976 hashes do not give you\n+# sufficient guarantee that no collisions between objects will ever happen.\n+\n+# DEFINES += -DCOLLISION_CHECK\n+\n+# Define USE_NSEC below if you want git to care about sub-second file mtimes\n+# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and\n+# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely\n+# randomly break unless your underlying filesystem supports those sub-second\n+# times (my ext3 doesn't).\n+\n+# DEFINES += -DUSE_NSEC\n+\n+# Define USE_STDEV below if you want git to care about the underlying device\n+# change being considered an inode change from the update-cache perspective.\n+\n+# DEFINES += -DUSE_STDEV\n+\n GIT_VERSION=0.99.2\n \n-COPTS=-O2\n-CFLAGS=-g $(COPTS) -Wall\n+COPTS?=-g -O2\n+CFLAGS+=$(COPTS) -Wall $(DEFINES)\n \n prefix=$(HOME)\n-bin=$(prefix)/bin\n+bindir=$(prefix)/bin\n # dest=\n \n-CC=gcc\n-AR=ar\n-INSTALL=install\n-RPMBUILD=rpmbuild\n+CC?=gcc\n+AR?=ar\n+INSTALL?=install\n+RPMBUILD?=rpmbuild\n \n #\n # sparse is architecture-neutral, which means that we need to tell it\n # explicitly what architecture to check for. Fix this up for yours..\n #\n-SPARSE_FLAGS=-D__BIG_ENDIAN__ -D__powerpc__\n+SPARSE_FLAGS?=-D__BIG_ENDIAN__ -D__powerpc__\n \n SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \\\n \tgit-pull-script git-tag-script git-resolve-script git-whatchanged \\\n@@ -57,7 +77,7 @@ PROG=   git-update-cache git-diff-files \n all: $(PROG)\n \n install: $(PROG) $(SCRIPTS)\n-\t$(INSTALL) -m755 -d $(dest)$(bin)\n+\t$(INSTALL) -m755 -d $(dest)$(bindir)\n \t$(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin)\n \n LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \\\n"},{"id":"6596","messageId":"20050729154850.GH21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 5/2] Remove the explicit Makefile dependencies description","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T15:48:50Z","receivedAt":"2005-07-29T15:48:50Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Remove about one gazillion of explicit dependency rules with few lines\ndescribing the general dependency pattern and then the exceptions. This\nnoticably shortens the Makefile and makes it easier to touch it.\n\nThis is part of the Cogito Makefile changes port.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit ee84cc0f730f0e744fe8d922b24f6f7ebe31d737\ntree 0b3edc11a0eba131788e42768b56ba6ceba32b96\nparent 601722751e42dfef8bcd2fe3d6b070b07eb9198e\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 15:46:40 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 15:46:40 +0200\n\n Makefile |   74 +++++++-------------------------------------------------------\n 1 files changed, 8 insertions(+), 66 deletions(-)\n\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -97,8 +97,9 @@ LIB_H += quote.h\n LIB_OBJS += quote.o \n \n LIB_H += diff.h count-delta.h\n-LIB_OBJS += diff.o diffcore-rename.o diffcore-pickaxe.o diffcore-pathspec.o \\\n-\tcount-delta.o diffcore-break.o diffcore-order.o\n+DIFF_OBJS = diff.o diffcore-rename.o diffcore-pickaxe.o diffcore-pathspec.o \\\n+\tdiffcore-break.o diffcore-order.o\n+LIB_OBJS += $(DIFF_OBJS) count-delta.o\n \n LIB_OBJS += gitenv.o\n LIB_OBJS += server-info.o\n@@ -136,75 +137,16 @@ test-delta: test-delta.c diff-delta.o pa\n git-%: %.c $(LIB_FILE)\n \t$(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(LIBS)\n \n-git-update-cache: update-cache.c\n-git-diff-files: diff-files.c\n-git-init-db: init-db.c\n-git-write-tree: write-tree.c\n-git-read-tree: read-tree.c\n-git-commit-tree: commit-tree.c\n-git-cat-file: cat-file.c\n-git-fsck-cache: fsck-cache.c\n-git-checkout-cache: checkout-cache.c\n-git-diff-tree: diff-tree.c\n-git-rev-tree: rev-tree.c\n-git-ls-files: ls-files.c\n-git-check-files: check-files.c\n-git-ls-tree: ls-tree.c\n-git-merge-base: merge-base.c\n-git-merge-cache: merge-cache.c\n-git-unpack-file: unpack-file.c\n-git-export: export.c\n-git-diff-cache: diff-cache.c\n-git-convert-cache: convert-cache.c\n-git-http-pull: http-pull.c pull.c\n-git-local-pull: local-pull.c pull.c\n-git-ssh-push: rsh.c\n+git-http-pull: pull.c\n+git-local-pull: pull.c\n git-ssh-pull: rsh.c pull.c\n-git-rev-list: rev-list.c\n-git-mktag: mktag.c\n-git-diff-helper: diff-helper.c\n-git-tar-tree: tar-tree.c\n-git-hash-object: hash-object.c\n-git-stripspace: stripspace.c\n-git-diff-stages: diff-stages.c\n-git-rev-parse: rev-parse.c\n-git-patch-id: patch-id.c\n-git-pack-objects: pack-objects.c\n-git-unpack-objects: unpack-objects.c\n-git-verify-pack: verify-pack.c\n-git-receive-pack: receive-pack.c\n-git-send-pack: send-pack.c\n-git-prune-packed: prune-packed.c\n-git-fetch-pack: fetch-pack.c\n-git-var: var.c\n-git-peek-remote: peek-remote.c\n-git-update-server-info: update-server-info.c\n-git-build-rev-cache: build-rev-cache.c\n-git-show-rev-cache: show-rev-cache.c\n+git-ssh-push: rsh.c\n \n git-http-pull: LIBS += -lcurl\n git-rev-list: LIBS += -lssl\n \n-# Library objects..\n-blob.o: $(LIB_H)\n-tree.o: $(LIB_H)\n-commit.o: $(LIB_H)\n-tag.o: $(LIB_H)\n-object.o: $(LIB_H)\n-read-cache.o: $(LIB_H)\n-sha1_file.o: $(LIB_H)\n-usage.o: $(LIB_H)\n-rev-cache.o: $(LIB_H)\n-strbuf.o: $(LIB_H)\n-gitenv.o: $(LIB_H)\n-entry.o: $(LIB_H)\n-diff.o: $(LIB_H) diffcore.h\n-diffcore-rename.o : $(LIB_H) diffcore.h\n-diffcore-pathspec.o : $(LIB_H) diffcore.h\n-diffcore-pickaxe.o : $(LIB_H) diffcore.h\n-diffcore-break.o : $(LIB_H) diffcore.h\n-diffcore-order.o : $(LIB_H) diffcore.h\n-epoch.o: $(LIB_H)\n+$(LIB_OBJS): $(LIB_H)\n+$(DIFF_OBJS): diffcore.h\n \n git-core.spec: git-core.spec.in Makefile\n \tsed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@\n"},{"id":"6599","messageId":"20050729155024.GI21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 6/2] Reorder Makefile rules","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T15:50:24Z","receivedAt":"2005-07-29T15:50:24Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"The Makefile rules were massively reordered so that they are actually\nlogically grouped now. Captions were added to separate the sections. No\nrule contents was touched during the process.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit 656a66fe63898954dbc40854dd049dc76eb9b841\ntree a5b29a2163c1bbd671a1dc40d0cb6dade3c4aaee\nparent ee84cc0f730f0e744fe8d922b24f6f7ebe31d737\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 17:02:14 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 17:02:14 +0200\n\n Makefile |   87 +++++++++++++++++++++++++++++++++++++++++---------------------\n 1 files changed, 57 insertions(+), 30 deletions(-)\n\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -43,12 +43,16 @@ AR?=ar\n INSTALL?=install\n RPMBUILD?=rpmbuild\n \n-#\n # sparse is architecture-neutral, which means that we need to tell it\n # explicitly what architecture to check for. Fix this up for yours..\n-#\n SPARSE_FLAGS?=-D__BIG_ENDIAN__ -D__powerpc__\n \n+\n+\n+### --- END CONFIGURATION SECTION ---\n+\n+\n+\n SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \\\n \tgit-pull-script git-tag-script git-resolve-script git-whatchanged \\\n \tgit-fetch-script git-status-script git-commit-script \\\n@@ -74,18 +78,12 @@ PROG=   git-update-cache git-diff-files \n \tgit-show-index git-daemon git-var git-peek-remote \\\n \tgit-update-server-info git-show-rev-cache git-build-rev-cache\n \n-all: $(PROG)\n-\n-install: $(PROG) $(SCRIPTS)\n-\t$(INSTALL) -m755 -d $(dest)$(bindir)\n-\t$(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin)\n-\n-LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \\\n-\t tag.o date.o index.o diff-delta.o patch-delta.o entry.o path.o \\\n-\t epoch.o refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o\n LIB_FILE=libgit.a\n LIB_H=cache.h object.h blob.h tree.h commit.h tag.h delta.h epoch.h csum-file.h \\\n \tpack.h pkt-line.h refs.h\n+LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \\\n+\t tag.o date.o index.o diff-delta.o patch-delta.o entry.o path.o \\\n+\t epoch.o refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o\n \n LIB_H += rev-cache.h\n LIB_OBJS += rev-cache.o\n@@ -122,17 +120,12 @@ endif\n \n CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)'\n \n-$(LIB_FILE): $(LIB_OBJS)\n-\t$(AR) rcs $@ $(LIB_OBJS)\n \n-check:\n-\tfor i in *.c; do sparse $(CFLAGS) $(SPARSE_FLAGS) $$i; done\n \n-test-date: test-date.c date.o\n-\t$(CC) $(CFLAGS) -o $@ test-date.c date.o\n+### Build rules\n+\n+all: $(PROG)\n \n-test-delta: test-delta.c diff-delta.o patch-delta.o\n-\t$(CC) $(CFLAGS) -o $@ $^\n \n git-%: %.c $(LIB_FILE)\n \t$(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(LIBS)\n@@ -148,6 +141,47 @@ git-rev-list: LIBS += -lssl\n $(LIB_OBJS): $(LIB_H)\n $(DIFF_OBJS): diffcore.h\n \n+$(LIB_FILE): $(LIB_OBJS)\n+\t$(AR) rcs $@ $(LIB_OBJS)\n+\n+doc:\n+\t$(MAKE) -C Documentation all\n+\n+\n+\n+### Testing rules\n+\n+test: all\n+\t$(MAKE) -C t/ all\n+\n+test-date: test-date.c date.o\n+\t$(CC) $(CFLAGS) -o $@ test-date.c date.o\n+\n+test-delta: test-delta.c diff-delta.o patch-delta.o\n+\t$(CC) $(CFLAGS) -o $@ $^\n+\n+check:\n+\tfor i in *.c; do sparse $(CFLAGS) $(SPARSE_FLAGS) $$i; done\n+\n+\n+\n+### Installation rules\n+\n+install: $(PROG) $(SCRIPTS)\n+\t$(INSTALL) -m755 -d $(dest)$(bindir)\n+\t$(INSTALL) $(PROG) $(SCRIPTS) $(dest)$(bin)\n+\n+install-tools:\n+\t$(MAKE) -C tools install\n+\n+install-doc:\n+\t$(MAKE) -C Documentation install\n+\n+\n+\n+\n+### Maintainer's dist rules\n+\n git-core.spec: git-core.spec.in Makefile\n \tsed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@\n \n@@ -163,23 +197,16 @@ dist: git-core.spec git-tar-tree\n rpm: dist\n \t$(RPMBUILD) -ta git-core-$(GIT_VERSION).tar.gz\n \n-test: all\n-\t$(MAKE) -C t/ all\n \n-doc:\n-\t$(MAKE) -C Documentation all\n+backup: clean\n+\tcd .. ; tar czvf dircache.tar.gz dir-cache\n \n-install-tools:\n-\t$(MAKE) -C tools install\n \n-install-doc:\n-\t$(MAKE) -C Documentation install\n+\n+### Cleaning rules\n \n clean:\n \trm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(LIB_FILE)\n \trm -f git-core-*.tar.gz git-core.spec\n \t$(MAKE) -C tools/ clean\n \t$(MAKE) -C Documentation/ clean\n-\n-backup: clean\n-\tcd .. ; tar czvf dircache.tar.gz dir-cache\n"},{"id":"6598","messageId":"20050729155051.GJ21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 7/2] Support for NO_OPENSSL","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T15:50:51Z","receivedAt":"2005-07-29T15:50:51Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Support for completely OpenSSL-less builds. FSF considers distributing GPL\nbinaries with OpenSSL linked in as a legal problem so this is trouble\ne.g. for Debian, or some people might not want to install OpenSSL\nanyway. If you\n\n\tmake NO_OPENSSL=1\n\nyou get completely OpenSSL-less build, disabling --merge-order and using\nMozilla's SHA1 implementation.\n\nPorted from Cogito.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit cd2182ac0e0635faeca6467b68decf8ab9625f4c\ntree d0c704c203d2319a77cd8fd9ee8fda8adc2d27b4\nparent 656a66fe63898954dbc40854dd049dc76eb9b841\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 17:42:32 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 17:42:32 +0200\n\n Makefile   |    8 +++++++-\n rev-list.c |    6 +++++-\n 2 files changed, 12 insertions(+), 2 deletions(-)\n\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -83,7 +83,7 @@ LIB_H=cache.h object.h blob.h tree.h com\n \tpack.h pkt-line.h refs.h\n LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \\\n \t tag.o date.o index.o diff-delta.o patch-delta.o entry.o path.o \\\n-\t epoch.o refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o\n+\t refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o\n \n LIB_H += rev-cache.h\n LIB_OBJS += rev-cache.o\n@@ -105,6 +105,12 @@ LIB_OBJS += server-info.o\n LIBS = $(LIB_FILE)\n LIBS += -lz\n \n+ifndef NO_OPENSSL\n+\tLIB_OBJS += epoch.o\n+else\n+\tCFLAGS += '-DNO_OPENSSL'\n+\tMOZILLA_SHA1=1\n+endif\n ifdef MOZILLA_SHA1\n   SHA1_HEADER=\"mozilla-sha1/sha1.h\"\n   LIB_OBJS += mozilla-sha1/sha1.o\ndiff --git a/rev-list.c b/rev-list.c\n--- a/rev-list.c\n+++ b/rev-list.c\n@@ -537,9 +537,13 @@ int main(int argc, char **argv)\n \t\t\tsort_in_topological_order(&list);\n \t\tshow_commit_list(list);\n \t} else {\n+#ifndef NO_OPENSSL\n \t\tif (sort_list_in_merge_order(list, &process_commit)) {\n-\t\t\t  die(\"merge order sort failed\\n\");\n+\t\t\tdie(\"merge order sort failed\\n\");\n \t\t}\n+#else\n+\t\tdie(\"merge order sort unsupported, OpenSSL not linked\");\n+#endif\n \t}\n \n \treturn 0;\n"},{"id":"6601","messageId":"20050729172153.GM21909@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"[PATCH 8/2] Build commands through object files","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T17:21:53Z","receivedAt":"2005-07-29T17:21:53Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Separate the process of building the commands to compilation and\nlinkage. This makes it more consistent with the library objects, is the\ntraditional thing to do, and significantly speeds up the subsequent\nrebuilds, especially for us the people who develop git on 300MHz\nnotebooks.\n\nPorted from Cogito.\n\nSigned-off-by: Petr Baudis <pasky@ucw.cz>\n\n---\ncommit 02074521a74483bec941ceacea35f92b485ebd48\ntree b08deb01bab982b846b5757943571d0c39b9ba76\nparent cd2182ac0e0635faeca6467b68decf8ab9625f4c\nauthor Petr Baudis <pasky@suse.cz> Fri, 29 Jul 2005 19:20:28 +0200\ncommitter Petr Baudis <xpasky@machine.sinus.cz> Fri, 29 Jul 2005 19:20:28 +0200\n\n Makefile |   15 ++++++++-------\n 1 files changed, 8 insertions(+), 7 deletions(-)\n\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -133,13 +133,14 @@ CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)'\n all: $(PROG)\n \n \n-git-%: %.c $(LIB_FILE)\n-\t$(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(LIBS)\n-\n-git-http-pull: pull.c\n-git-local-pull: pull.c\n-git-ssh-pull: rsh.c pull.c\n-git-ssh-push: rsh.c\n+.PRECIOUS: %.o\n+git-%: %.o $(LIB_FILE)\n+\t$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)\n+\n+git-http-pull: pull.o\n+git-local-pull: pull.o\n+git-ssh-pull: rsh.o pull.o\n+git-ssh-push: rsh.o\n \n git-http-pull: LIBS += -lcurl\n git-rev-list: LIBS += -lssl\n"},{"id":"6603","messageId":"20050729182356.GA22530@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729154826.GG21909@pasky.ji.cz","subject":"Re: [PATCH 4/2] Improve the compilation-time settings interface","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-29T18:23:56Z","receivedAt":"2005-07-29T18:23:56Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Fri, Jul 29, 2005 at 05:48:26PM CEST, I got a letter\nwhere Petr Baudis <pasky@suse.cz> told me that...\n> diff --git a/Makefile b/Makefile\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -1,33 +1,53 @@\n> +# Define NO_OPENSSL environment variable if you do not have OpenSSL. You will\n> +# miss out git-rev-list --merge-order. This also implies MOZILLA_SHA1.\n\nSorry for this, I didn't realize until much later that NO_OPENSSL wasn't\nactually in git yet. I hope I won't have to resend the patches just\nbecause of this. :-)\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nIf you want the holes in your knowledge showing up try teaching\nsomeone.  -- Alan Cox\n"},{"id":"6613","messageId":"7vfytx82m3.fsf@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"20050729090126.GN24895@pasky.ji.cz","subject":"Re: [PATCH 2/2] Unify usage strings declaration","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T02:11:16Z","receivedAt":"2005-07-30T02:11:16Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n> All usage strings are now declared as static const char [].\n\nI do not have preference either way, and I've already merged\nthem, but why char[] not char*?\n"},{"id":"6612","messageId":"7vack582ly.fsf@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"20050729125338.GB21909@pasky.ji.cz","subject":"Re: [PATCH 3/2] git-merge-cache -q doesn't complain about failing merge program","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T02:11:21Z","receivedAt":"2005-07-30T02:11:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n> git-merge-cache reporting failed merge program is undesirable for\n> Cogito, since it emits its own more appropriate error message in that\n> case. However, I want to show other possible git-merge-cache error\n> messages. So -q will just silence this particular error.\n\nThat description makes it sound more like it is a Cogito\nspecific hack, which other Porcelains may not benefit from,\nmeaning they may want to suppress some other errors but this\npatch does not give that possibility.\n\nI do not mind about the above too much, but I'll sit on this one\nfor now just in case if anybody comes up with a different patch\nto give a bit cleaner solution.\n\nI wonder how many die()'s we have in our C code.  It _might_ be\ncleaner to say (the first parameter being exit(2) parameter):\n\n    die(\"unable to execute '%s'\", pgm);\n    die_with(47, \"merge program failed\");\n\nand have the calling Porcelain, if it wants to, supress error\nmessages by redirecting 2>/dev/null, and say whatever it wants\nto say based on $?.\n"},{"id":"6620","messageId":"Pine.LNX.4.58.0507292038160.29650@g5.osdl.org","threadId":"1361","inReplyTo":"20050729155051.GJ21909@pasky.ji.cz","subject":"Re: [PATCH 7/2] Support for NO_OPENSSL","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-07-30T03:39:56Z","receivedAt":"2005-07-30T03:39:56Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\nThis doesn't work at least in the form that Junio merged it (and from \nwhat I can tell, he merged your patch as-is):\n\n  torvalds@shell0:~/src/git> make NO_OPENSSL=1\n  cc -g -O2 -Wall '-DNO_OPENSSL' '-DSHA1_HEADER=\"mozilla-sha1/sha1.h\"' -o git-rev-list rev-list.o libgit.a -lz -lssl\n  /usr/lib/gcc-lib/i586-suse-linux/3.3.4/../../../../i586-suse-linux/bin/ld: cannot find -lssl\n\nit needs to disable the -lssl too..\n\n\t\tLinus\n"},{"id":"6622","messageId":"7v7jf96i7f.fsf@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"Pine.LNX.4.58.0507292038160.29650@g5.osdl.org","subject":"Re: [PATCH 7/2] Support for NO_OPENSSL","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T04:17:24Z","receivedAt":"2005-07-30T04:17:24Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@osdl.org> writes:\n\n> This doesn't work at least in the form that Junio merged it (and from \n> what I can tell, he merged your patch as-is):\n\nSlipped my filter.  Sorry.  Will fix.\n"},{"id":"6624","messageId":"7vek9g6g4f.fsf_-_@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"Pine.LNX.4.58.0507292038160.29650@g5.osdl.org","subject":"[PATCH] Under NO_OPENSSL -lssl should not be used","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T05:02:24Z","receivedAt":"2005-07-30T05:02:24Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@osdl.org> writes:\n\n> This doesn't work at least in the form that Junio merged it (and from \n> what I can tell, he merged your patch as-is):\n>\n>   torvalds@shell0:~/src/git> make NO_OPENSSL=1\n>   cc -g -O2 -Wall '-DNO_OPENSSL' '-DSHA1_HEADER=\"mozilla-sha1/sha1.h\"' -o git-rev-list rev-list.o libgit.a -lz -lssl\n>   /usr/lib/gcc-lib/i586-suse-linux/3.3.4/../../../../i586-suse-linux/bin/ld: cannot find -lssl\n>\n> it needs to disable the -lssl too..\n\nWould this be OK?  I think it is ugly but it gets the job done.\n\nJon, do we really need bignum to do the flow computation?  From\na quick glance, it appears to me that the fraction manipulation\npart is quite well isolated.  Do you think adding the support\nfor using other bignum implementation be reasonable (assuming\nyou do need to use bignum based fraction)?\n\n------------\nThis is quick and dirty but under NO_OPENSSL we should not\nattempt to link with -lssl (nor -lcrypto).\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\ncd /opt/packrat/playpen/public/in-place/git/git.junio/\njit-diff\n# - pu: Fetch from a packed repository on dumb servers.\n# + (working tree)\ndiff --git a/Makefile b/Makefile\n--- a/Makefile\n+++ b/Makefile\n@@ -108,9 +108,11 @@ LIBS += -lz\n \n ifndef NO_OPENSSL\n \tLIB_OBJS += epoch.o\n+\tOPENSSL_LIBSSL=-lssl\n else\n \tCFLAGS += '-DNO_OPENSSL'\n \tMOZILLA_SHA1=1\n+\tOPENSSL_LIBSSL=\n endif\n ifdef MOZILLA_SHA1\n   SHA1_HEADER=\"mozilla-sha1/sha1.h\"\n@@ -148,7 +150,7 @@ git-ssh-pull: rsh.o pull.o\n git-ssh-push: rsh.o\n \n git-http-pull: LIBS += -lcurl\n-git-rev-list: LIBS += -lssl\n+git-rev-list: LIBS += $(OPENSSL_LIBSSL)\n \n $(LIB_OBJS): $(LIB_H)\n $(DIFF_OBJS): diffcore.h\n\nCompilation finished at Fri Jul 29 21:48:01\n"},{"id":"6626","messageId":"pan.2005.07.30.06.03.34.432362@smurf.noris.de","threadId":"1361","inReplyTo":"7vfytx82m3.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH 2/2] Unify usage strings declaration","fromName":"Matthias Urlichs","fromEmail":"smurf@smurf.noris.de","sentAt":"2005-07-30T06:03:35Z","receivedAt":"2005-07-30T06:03:35Z","isPatch":true,"sender":{"key":"matthias@urlichs.de","avatar":"https://gravatar.com/avatar/2708905af227313eba6f2b2ae0f7d0259b5ac5d71baef58fe5a13c699ce0bbf0?d=mp&s=160"},"body":"Hi, Junio C Hamano wrote:\n\n> I do not have preference either way, and I've already merged\n> them, but why char[] not char*?\n\nA char* is a variable which points to the char[].\nThat's four (or eight) bytes we don't need. ;-)\n\nC conflates the two concepts somewhat, which is one of the reasons\noptimizing compiled C is somewhat more challenging than, say, FORTRAN.\n\n-- \nMatthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  smurf@smurf.noris.de\nDisclaimer: The quote was selected randomly. Really. | http://smurf.noris.de\n - -\nGiving every man a vote has no more made men wise\nand free than Christianity has made them good.\n\t\t-- H.L. Mencken\n"},{"id":"6631","messageId":"20050730103103.GB26188@pasky.ji.cz","threadId":"1361","inReplyTo":"20050729085819.GL24895@pasky.ji.cz","subject":"Re: [PATCH 0/2] Bits from git-pb","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-07-30T10:31:04Z","receivedAt":"2005-07-30T10:31:04Z","isPatch":true,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Fri, Jul 29, 2005 at 10:58:19AM CEST, I got a letter\nwhere Petr Baudis <pasky@ucw.cz> told me that...\n>   (i) Keep the git-pb branch polished and nice-to-merge, if you want to\n> pull from it.\n> \n>   (ii) Keep the git-pb branch polished and nice-to-merge and rebase it\n> regularily if you don't want loong edges in your history graph, but\n> want to pull from it.\n> \n>   (iii) Do wild things in the git-pb branch and send you patches.\n\nSo I assume (iii) holds?\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nIf you want the holes in your knowledge showing up try teaching\nsomeone.  -- Alan Cox\n"},{"id":"6635","messageId":"Pine.LNX.4.58.0507300908450.29650@g5.osdl.org","threadId":"1361","inReplyTo":"7vek9g6g4f.fsf_-_@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Under NO_OPENSSL -lssl should not be used","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-07-30T16:09:28Z","receivedAt":"2005-07-30T16:09:28Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 29 Jul 2005, Junio C Hamano wrote:\n> \n> Would this be OK?  I think it is ugly but it gets the job done.\n\nLooks ok. I'd suggest having some option to turn of \"curl\" too - I have \none machine that doesn't have curl installed, and I just turn the things \nthat depend on it off by hand by editing the makefile right now..\n\n\t\tLinus\n"},{"id":"6638","messageId":"7v8xzo42ru.fsf@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"20050730103103.GB26188@pasky.ji.cz","subject":"Re: [PATCH 0/2] Bits from git-pb","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T17:33:41Z","receivedAt":"2005-07-30T17:33:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Petr Baudis <pasky@suse.cz> writes:\n\n>>   (iii) Do wild things in the git-pb branch and send you patches.\n>\n> So I assume (iii) holds?\n\nI have not answered this because I have not made up my mind.\nCertainly (iii) is probably the least work for me.\n\nMy gut feeling is that I can deal with any of the above, but\neven when I pull from your tree, I expect to pull into \"pu\"\nfirst and after that the patches will go through my regular\nreshuffling cycle just like other patches I receive from\ne-mails.  This may or may not cause \"interesting\" troubles when\nI merge again from git-pb, but we will see.\n"},{"id":"6639","messageId":"7virys2n13.fsf@assigned-by-dhcp.cox.net","threadId":"1361","inReplyTo":"7v8xzo42ru.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH 0/2] Bits from git-pb","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-30T17:59:04Z","receivedAt":"2005-07-30T17:59:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <junkio@cox.net> writes:\n\n> I have not answered this because I have not made up my mind.\n> Certainly (iii) is probably the least work for me.\n\nCertainly?  Probably?  Which one?  I should not start typing\nbefore having a cup of coffee.  **BLUSH**\n\nAnyway, yes I would appreciate if you take (iii) for the time\nbeing but if that is too much work for you then don't worry I'll\nlearn to cope with any of the above.\n"},{"id":"6728","messageId":"2cfc403205080215433786775f@mail.gmail.com","threadId":"1361","inReplyTo":"7vek9g6g4f.fsf_-_@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Under NO_OPENSSL -lssl should not be used","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-08-02T22:43:18Z","receivedAt":"2005-08-02T22:43:18Z","isPatch":true,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"G'day Junio,\n\n> \n> Jon, do we really need bignum to do the flow computation?  From\n> a quick glance, it appears to me that the fraction manipulation\n> part is quite well isolated.  Do you think adding the support\n> for using other bignum implementation be reasonable (assuming\n> you do need to use bignum based fraction)?\n>\n\nSorry, only just saw this. An alternative bignum implementation would\nbe ok, I just used the ssl stuff since it happened to do what I want\nand was available. I also have a patch in the pipes that gets around\nthe need for arbitrary precision fractions completely.\n\njon.\n\n> ------------\n> This is quick and dirty but under NO_OPENSSL we should not\n> attempt to link with -lssl (nor -lcrypto).\n> \n> Signed-off-by: Junio C Hamano <junkio@cox.net>\n> ---\n> cd /opt/packrat/playpen/public/in-place/git/git.junio/\n> jit-diff\n> # - pu: Fetch from a packed repository on dumb servers.\n> # + (working tree)\n> diff --git a/Makefile b/Makefile\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -108,9 +108,11 @@ LIBS += -lz\n> \n>  ifndef NO_OPENSSL\n>         LIB_OBJS += epoch.o\n> +       OPENSSL_LIBSSL=-lssl\n>  else\n>         CFLAGS += '-DNO_OPENSSL'\n>         MOZILLA_SHA1=1\n> +       OPENSSL_LIBSSL=\n>  endif\n>  ifdef MOZILLA_SHA1\n>    SHA1_HEADER=\"mozilla-sha1/sha1.h\"\n> @@ -148,7 +150,7 @@ git-ssh-pull: rsh.o pull.o\n>  git-ssh-push: rsh.o\n> \n>  git-http-pull: LIBS += -lcurl\n> -git-rev-list: LIBS += -lssl\n> +git-rev-list: LIBS += $(OPENSSL_LIBSSL)\n> \n>  $(LIB_OBJS): $(LIB_H)\n>  $(DIFF_OBJS): diffcore.h\n> \n> Compilation finished at Fri Jul 29 21:48:01\n> \n> \n\n\n-- \nhomepage: http://www.zeta.org.au/~jon/\nblog: http://orwelliantremors.blogspot.com/\n"}]}