{"thread":{"id":"17090","subject":"[PATCH] Cleanup of unused symcache variable inside diff-lib.c","startedAt":"2009-01-11T18:36:42Z","lastAt":"2009-01-12T05:39:37Z","messageCount":10,"participants":["Kjetil Barvik","Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"99974","messageId":"1231699002-5316-1-git-send-email-barvik@broadpark.no","threadId":"17090","inReplyTo":null,"subject":"[PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Kjetil Barvik","fromEmail":"barvik@broadpark.no","sentAt":"2009-01-11T18:36:42Z","receivedAt":"2009-01-11T18:36:42Z","isPatch":true,"sender":{"key":"barvik@broadpark.no","avatar":null},"body":"Commit c40641b77b0274186fd1b327d5dc3246f814aaaf, 'Optimize\nsymlink/directory detection' by Linus Torvalds, removed the 'char\n*symcache' parameter to the has_symlink_leading_path() function.  This\nmade all variables currently named 'symcache' inside diff-lib.c\nunnecessary.\n\nThis also let us throw away the 'struct oneway_unpack_data', and\ninstead directly use the 'struct rev_info *revs' member, which\nwas the only member left after removal of the 'symcache[] array'\nmember.  The 'struct oneway_unpack_data' was introduced by the\nfollowing commit:\n\n  948dd346  \"diff-files: careful when inspecting work tree items\"\n\nImpact: cleanup\n        PATH_MAX bytes less memory stack usage in some cases\n\nSigned-off-by: Kjetil Barvik <barvik@broadpark.no>\n---\n:100644 100644 ae96c64... e6d1d2b... M\tdiff-lib.c\n diff-lib.c |   40 +++++++++++-----------------------------\n 1 files changed, 11 insertions(+), 29 deletions(-)\n\ndiff --git a/diff-lib.c b/diff-lib.c\nindex ae96c64ca209f4df9008198e8a04b160bed618c7..e6d1d2b34147a13aadb5019e0c8336ef5f56ee39 100644\n--- a/diff-lib.c\n+++ b/diff-lib.c\n@@ -61,14 +61,12 @@ int run_diff_files(struct rev_info *revs, unsigned int option)\n \tint silent_on_removed = option & DIFF_SILENT_ON_REMOVED;\n \tunsigned ce_option = ((option & DIFF_RACY_IS_MODIFIED)\n \t\t\t      ? CE_MATCH_RACY_IS_DIRTY : 0);\n-\tchar symcache[PATH_MAX];\n \n \tdiff_set_mnemonic_prefix(&revs->diffopt, \"i/\", \"w/\");\n \n \tif (diff_unmerged_stage < 0)\n \t\tdiff_unmerged_stage = 2;\n \tentries = active_nr;\n-\tsymcache[0] = '\\0';\n \tfor (i = 0; i < entries; i++) {\n \t\tstruct stat st;\n \t\tunsigned int oldmode, newmode;\n@@ -198,11 +196,6 @@ int run_diff_files(struct rev_info *revs, unsigned int option)\n  * diff-index\n  */\n \n-struct oneway_unpack_data {\n-\tstruct rev_info *revs;\n-\tchar symcache[PATH_MAX];\n-};\n-\n /* A file entry went away or appeared */\n static void diff_index_show_file(struct rev_info *revs,\n \t\t\t\t const char *prefix,\n@@ -216,8 +209,7 @@ static void diff_index_show_file(struct rev_info *revs,\n static int get_stat_data(struct cache_entry *ce,\n \t\t\t const unsigned char **sha1p,\n \t\t\t unsigned int *modep,\n-\t\t\t int cached, int match_missing,\n-\t\t\t struct oneway_unpack_data *cbdata)\n+\t\t\t int cached, int match_missing)\n {\n \tconst unsigned char *sha1 = ce->sha1;\n \tunsigned int mode = ce->ce_mode;\n@@ -248,25 +240,24 @@ static int get_stat_data(struct cache_entry *ce,\n \treturn 0;\n }\n \n-static void show_new_file(struct oneway_unpack_data *cbdata,\n+static void show_new_file(struct rev_info *revs,\n \t\t\t  struct cache_entry *new,\n \t\t\t  int cached, int match_missing)\n {\n \tconst unsigned char *sha1;\n \tunsigned int mode;\n-\tstruct rev_info *revs = cbdata->revs;\n \n \t/*\n \t * New file in the index: it might actually be different in\n \t * the working copy.\n \t */\n-\tif (get_stat_data(new, &sha1, &mode, cached, match_missing, cbdata) < 0)\n+\tif (get_stat_data(new, &sha1, &mode, cached, match_missing) < 0)\n \t\treturn;\n \n \tdiff_index_show_file(revs, \"+\", new, sha1, mode);\n }\n \n-static int show_modified(struct oneway_unpack_data *cbdata,\n+static int show_modified(struct rev_info *revs,\n \t\t\t struct cache_entry *old,\n \t\t\t struct cache_entry *new,\n \t\t\t int report_missing,\n@@ -274,9 +265,8 @@ static int show_modified(struct oneway_unpack_data *cbdata,\n {\n \tunsigned int mode, oldmode;\n \tconst unsigned char *sha1;\n-\tstruct rev_info *revs = cbdata->revs;\n \n-\tif (get_stat_data(new, &sha1, &mode, cached, match_missing, cbdata) < 0) {\n+\tif (get_stat_data(new, &sha1, &mode, cached, match_missing) < 0) {\n \t\tif (report_missing)\n \t\t\tdiff_index_show_file(revs, \"-\", old,\n \t\t\t\t\t     old->sha1, old->ce_mode);\n@@ -344,8 +334,7 @@ static void do_oneway_diff(struct unpack_trees_options *o,\n \tstruct cache_entry *idx,\n \tstruct cache_entry *tree)\n {\n-\tstruct oneway_unpack_data *cbdata = o->unpack_data;\n-\tstruct rev_info *revs = cbdata->revs;\n+\tstruct rev_info *revs = o->unpack_data;;\n \tint match_missing, cached;\n \n \t/*\n@@ -368,7 +357,7 @@ static void do_oneway_diff(struct unpack_trees_options *o,\n \t * Something added to the tree?\n \t */\n \tif (!tree) {\n-\t\tshow_new_file(cbdata, idx, cached, match_missing);\n+\t\tshow_new_file(revs, idx, cached, match_missing);\n \t\treturn;\n \t}\n \n@@ -381,7 +370,7 @@ static void do_oneway_diff(struct unpack_trees_options *o,\n \t}\n \n \t/* Show difference between old and new */\n-\tshow_modified(cbdata, tree, idx, 1, cached, match_missing);\n+\tshow_modified(revs, tree, idx, 1, cached, match_missing);\n }\n \n static inline void skip_same_name(struct cache_entry *ce, struct unpack_trees_options *o)\n@@ -418,8 +407,7 @@ static int oneway_diff(struct cache_entry **src, struct unpack_trees_options *o)\n {\n \tstruct cache_entry *idx = src[0];\n \tstruct cache_entry *tree = src[1];\n-\tstruct oneway_unpack_data *cbdata = o->unpack_data;\n-\tstruct rev_info *revs = cbdata->revs;\n+\tstruct rev_info *revs = o->unpack_data;\n \n \tif (idx && ce_stage(idx))\n \t\tskip_same_name(idx, o);\n@@ -446,7 +434,6 @@ int run_diff_index(struct rev_info *revs, int cached)\n \tconst char *tree_name;\n \tstruct unpack_trees_options opts;\n \tstruct tree_desc t;\n-\tstruct oneway_unpack_data unpack_cb;\n \n \tmark_merge_entries();\n \n@@ -456,14 +443,12 @@ int run_diff_index(struct rev_info *revs, int cached)\n \tif (!tree)\n \t\treturn error(\"bad tree object %s\", tree_name);\n \n-\tunpack_cb.revs = revs;\n-\tunpack_cb.symcache[0] = '\\0';\n \tmemset(&opts, 0, sizeof(opts));\n \topts.head_idx = 1;\n \topts.index_only = cached;\n \topts.merge = 1;\n \topts.fn = oneway_diff;\n-\topts.unpack_data = &unpack_cb;\n+\topts.unpack_data = revs;\n \topts.src_index = &the_index;\n \topts.dst_index = NULL;\n \n@@ -486,7 +471,6 @@ int do_diff_cache(const unsigned char *tree_sha1, struct diff_options *opt)\n \tstruct cache_entry *last = NULL;\n \tstruct unpack_trees_options opts;\n \tstruct tree_desc t;\n-\tstruct oneway_unpack_data unpack_cb;\n \n \t/*\n \t * This is used by git-blame to run diff-cache internally;\n@@ -515,14 +499,12 @@ int do_diff_cache(const unsigned char *tree_sha1, struct diff_options *opt)\n \tif (!tree)\n \t\tdie(\"bad tree object %s\", sha1_to_hex(tree_sha1));\n \n-\tunpack_cb.revs = &revs;\n-\tunpack_cb.symcache[0] = '\\0';\n \tmemset(&opts, 0, sizeof(opts));\n \topts.head_idx = 1;\n \topts.index_only = 1;\n \topts.merge = 1;\n \topts.fn = oneway_diff;\n-\topts.unpack_data = &unpack_cb;\n+\topts.unpack_data = &revs;\n \topts.src_index = &the_index;\n \topts.dst_index = &the_index;\n \n-- \n1.6.1.rc1.49.g7f705\n"},{"id":"99977","messageId":"alpine.DEB.1.00.0901111944360.3586@pacific.mpi-cbg.de","threadId":"17090","inReplyTo":"1231699002-5316-1-git-send-email-barvik@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-01-11T18:45:13Z","receivedAt":"2009-01-11T18:45:13Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Jan 2009, Kjetil Barvik wrote:\n\n> ---\n> :100644 100644 ae96c64... e6d1d2b... M\tdiff-lib.c\n\nI wonder what that line is all about, since ...\n\n>  diff-lib.c |   40 +++++++++++-----------------------------\n>  1 files changed, 11 insertions(+), 29 deletions(-)\n> \n> diff --git a/diff-lib.c b/diff-lib.c\n> index ae96c64ca209f4df9008198e8a04b160bed618c7..e6d1d2b34147a13aadb5019e0c8336ef5f56ee39 100644\n\n... we have the information right there already.\n\nCiao,\nDscho\n"},{"id":"99979","messageId":"86iqol8wql.fsf@broadpark.no","threadId":"17090","inReplyTo":"alpine.DEB.1.00.0901111944360.3586@pacific.mpi-cbg.de","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Kjetil Barvik","fromEmail":"barvik@broadpark.no","sentAt":"2009-01-11T19:32:18Z","receivedAt":"2009-01-11T19:32:18Z","isPatch":true,"sender":{"key":"barvik@broadpark.no","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi,\n>\n> On Sun, 11 Jan 2009, Kjetil Barvik wrote:\n>\n>> ---\n>> :100644 100644 ae96c64... e6d1d2b... M\tdiff-lib.c\n>\n> I wonder what that line is all about, since ...\n>\n>>  diff-lib.c |   40 +++++++++++-----------------------------\n>>  1 files changed, 11 insertions(+), 29 deletions(-)\n>> \n>> diff --git a/diff-lib.c b/diff-lib.c\n>> index ae96c64ca209f4df9008198e8a04b160bed618c7..e6d1d2b34147a13aadb5019e0c8336ef5f56ee39 100644\n>\n> ... we have the information right there already.\n>\n> Ciao,\n> Dscho\n\n  hmmm, I tried the following commands\n\njetil@localhost ~/git/git $ git pull   \nAlready up-to-date.\nkjetil@localhost ~/git/git $ git checkout -q my_origin_maint && grep symcache *.c\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tsymcache[0] = '\\0';\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\nkjetil@localhost ~/git/git $ git checkout -q my_origin_master && grep symcache *.c\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tsymcache[0] = '\\0';\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\nkjetil@localhost ~/git/git $ git checkout -q my_origin_next && grep symcache *.c\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tsymcache[0] = '\\0';\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\nkjetil@localhost ~/git/git $ git checkout -q my_origin_pu && grep symcache *.c\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tsymcache[0] = '\\0';\ndiff-lib.c:\tchar symcache[PATH_MAX];\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\ndiff-lib.c:\tunpack_cb.symcache[0] = '\\0';\nkjetil@localhost ~/git/git $ cd \nkjetil@localhost ~ $ mkdir git2\nkjetil@localhost ~ $ cd git2                                          \nkjetil@localhost ~/git2 $ git clone -q git://git.kernel.org/pub/scm/git/git.git\nkjetil@localhost ~/git2 $ cd git/\nkjetil@localhost ~/git2/git $ git show e6d1d2b34147a13aadb5019e0c8336ef5f56ee39\n     outputs => \n            fatal: bad object e6d1d2b34147a13aadb5019e0c8336ef5f56ee39\nkjetil@localhost ~/git2/git $ git show e6d1d2b\n     outputs => \n            fatal: ambiguous argument 'e6d1d2b': unknown revision or path not in the working tree.\n            Use '--' to separate paths from revisions\nkjetil@localhost ~/git2/git $ git show -- e6d1d2b\n     outputs => (nothing)\n\n  Can you explain to a new git user?  As far as I can tell, I do not see\n  that this patch is included in the public awailable git tree.  Where\n  should the patch be?  I can not see it...  help!  \n\n  -- kjetil\n"},{"id":"99981","messageId":"alpine.DEB.1.00.0901112044230.3586@pacific.mpi-cbg.de","threadId":"17090","inReplyTo":"86iqol8wql.fsf@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-01-11T19:46:33Z","receivedAt":"2009-01-11T19:46:33Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Jan 2009, Kjetil Barvik wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > On Sun, 11 Jan 2009, Kjetil Barvik wrote:\n> >\n> >> :100644 100644 ae96c64... e6d1d2b... M\tdiff-lib.c\n>\n> [...]\n>\n> kjetil@localhost ~/git2 $ git clone -q git://git.kernel.org/pub/scm/git/git.git\n> kjetil@localhost ~/git2 $ cd git/\n> kjetil@localhost ~/git2/git $ git show e6d1d2b34147a13aadb5019e0c8336ef5f56ee39\n>      outputs => \n>             fatal: bad object e6d1d2b34147a13aadb5019e0c8336ef5f56ee39\n\nYour patch has not been applied yet.  So no surprise there: your version \nof diff-lib.c is not there.  You'll have more luck with ae96c64, I \nguess...\n\nMy question was more: why do you do additional work and put a git diff \n--raw between the commit message and the diffstat when that information is \nin the patch already?\n\nCiao,\nDscho\n"},{"id":"99990","messageId":"86eiz98v0s.fsf@broadpark.no","threadId":"17090","inReplyTo":"alpine.DEB.1.00.0901112044230.3586@pacific.mpi-cbg.de","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Kjetil Barvik","fromEmail":"barvik@broadpark.no","sentAt":"2009-01-11T20:09:23Z","receivedAt":"2009-01-11T20:09:23Z","isPatch":true,"sender":{"key":"barvik@broadpark.no","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n<snipp>\n> My question was more: why do you do additional work and put a git diff \n> --raw between the commit message and the diffstat when that information is \n> in the patch already?\n\n Ok, I see.  I (re)used the 'git format-patch' command from previous\n run, and this time it was (without the line-breaks):\n\n    git format-patch  --stat  --patch-with-raw -1 --signoff -M -C\n       --summary --full-index --subject-prefix=\"PATCH\"\n       --output-directory ../diff_lib_c_symcache_cleanup_v1/\n\n  Regarding the '--summary' I think it is a nice thing to do (so I try\n  to always use it), and the '--full-index' is such that the git software\n  have a less chance of producing a collision.\n\n  -- kjetil\n"},{"id":"99996","messageId":"alpine.DEB.1.00.0901112112540.3586@pacific.mpi-cbg.de","threadId":"17090","inReplyTo":"86eiz98v0s.fsf@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-01-11T20:17:38Z","receivedAt":"2009-01-11T20:17:38Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Jan 2009, Kjetil Barvik wrote:\n\n>     git format-patch\n\nNecessary.\n\n>  --stat\n\nNot necessary.\n\n>  --patch-with-raw\n\nAs I showed you, also not necessary.\n\n> -1\n\nNecessary.\n\n> --signoff\n\nIf you had signed off on your commits already, not necessary.  (FWIW I \nkeep a sign off as a marker that I actually think this is good to be \nsubmitted, or at least close.)\n\n> -M -C\n\nUsualy not necessary, unless you rename some file, or introduce a huge \ncode \nduplication.\n\n>        --summary\n\nDunno.  I think it's not really necessary, you see that from the diff.\n\n> --full-index\n\nI find it makes the patch hard to read, as the index line will always \nwrap.  And it's not necessary, as it is so highly unlikely that the hash \nis unique in your repository, but not mine.\n\n> --subject-prefix=\"PATCH\"\n\nNot necessary.\n\n>        --output-directory ../diff_lib_c_symcache_cleanup_v1/\n\nIf you insist...\n\nSure, you can make it complicated, but I usually prefer something like\n\n\t$ git format-patch -3 --cover-letter\n\nNice 'n easy.\n\nCiao,\nDscho\n"},{"id":"100002","messageId":"86ab9x8t4a.fsf@broadpark.no","threadId":"17090","inReplyTo":"alpine.DEB.1.00.0901112112540.3586@pacific.mpi-cbg.de","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Kjetil Barvik","fromEmail":"barvik@broadpark.no","sentAt":"2009-01-11T20:50:29Z","receivedAt":"2009-01-11T20:50:29Z","isPatch":true,"sender":{"key":"barvik@broadpark.no","avatar":null},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n<snipp>\n>> --signoff\n>\n> If you had signed off on your commits already, not necessary.  (FWIW I \n> keep a sign off as a marker that I actually think this is good to be \n> submitted, or at least close.)\n\n  From the Documentation/SubmittingPatches file, for me I think that the\n  '-signoff' is supposed to mean:\n\n  [....]\n   - if you want your work included in git.git, add a \"Signed-off-by:\n     Your Name <you@example.com>\" line to the commit message (or just\n     use the option \"-s\" when committing) to confirm that you agree to\n     the Developer's Certificate of Origin\n  [....]\n  The sign-off is a simple line at the end of the explanation for the\n  patch, which certifies that you wrote it or otherwise have the right\n  to pass it on as a open-source patch.  The rules are pretty simple: if\n  you can certify the below:\n\n        Developer's Certificate of Origin 1.1\n\n        By making a contribution to this project, I certify that:\n  [....]\n  then you just add a line saying\n\n\tSigned-off-by: Random J Developer <random@developer.example.org>\n\n  This line can be automatically added by git if you run the git-commit\n  command with the -s option.\n  [....]\n  \n  And the 'a' and the 'd' in the DCO I do agree with in this particular\n  situation, so I added a '--signoff' to the patches.\n\n  -- kjetil\n"},{"id":"100018","messageId":"7vab9xpjmp.fsf@gitster.siamese.dyndns.org","threadId":"17090","inReplyTo":"86eiz98v0s.fsf@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-01-11T22:23:26Z","receivedAt":"2009-01-11T22:23:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Kjetil Barvik <barvik@broadpark.no> writes:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> <snipp>\n>> My question was more: why do you do additional work and put a git diff \n>> --raw between the commit message and the diffstat when that information is \n>> in the patch already?\n>\n>  Ok, I see.  I (re)used the 'git format-patch' command from previous\n>  run, and this time it was (without the line-breaks):\n>\n>     git format-patch  --stat  --patch-with-raw -1 --signoff -M -C\n>        --summary --full-index --subject-prefix=\"PATCH\"\n>        --output-directory ../diff_lib_c_symcache_cleanup_v1/\n\nPlease drop --patch-with-raw and --full-index.  They are distracting.\n\nI do not think using --subject-prefix=PATCH to repeat what is default adds\nany value either.\n"},{"id":"100019","messageId":"7v63klpjj5.fsf@gitster.siamese.dyndns.org","threadId":"17090","inReplyTo":"86ab9x8t4a.fsf@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-01-11T22:25:34Z","receivedAt":"2009-01-11T22:25:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Kjetil Barvik <barvik@broadpark.no> writes:\n\n>   And the 'a' and the 'd' in the DCO I do agree with in this particular\n>   situation, so I added a '--signoff' to the patches.\n\nI think Dscho's suggestion was to sign-off when you commit, not when you\nformat-patch.  It won't make any difference either way to me nor other\npeople who reads the list, because nobody can tell which way you used by\nlooking at your e-mail, but it is a good habit to get into if you work on\ngit or the kernel.\n"},{"id":"100071","messageId":"7v4p05krqe.fsf@gitster.siamese.dyndns.org","threadId":"17090","inReplyTo":"1231699002-5316-1-git-send-email-barvik@broadpark.no","subject":"Re: [PATCH] Cleanup of unused symcache variable inside diff-lib.c","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-01-12T05:39:37Z","receivedAt":"2009-01-12T05:39:37Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Kjetil Barvik <barvik@broadpark.no> writes:\n\n> diff --git a/diff-lib.c b/diff-lib.c\n> index ae96c64ca209f4df9008198e8a04b160bed618c7..e6d1d2b34147a13aadb5019e0c8336ef5f56ee39 100644\n> --- a/diff-lib.c\n> +++ b/diff-lib.c\n> ...\n> @@ -344,8 +334,7 @@ static void do_oneway_diff(struct unpack_trees_options *o,\n>  \tstruct cache_entry *idx,\n>  \tstruct cache_entry *tree)\n>  {\n> -\tstruct oneway_unpack_data *cbdata = o->unpack_data;\n> -\tstruct rev_info *revs = cbdata->revs;\n> +\tstruct rev_info *revs = o->unpack_data;;\n\nThanks; I'll clean-up the extra semicolon and apply.\n"}]}