{"thread":{"id":"30730","subject":"What's cooking in git.git (Jun 2012, #02; Wed, 6)","startedAt":"2012-06-06T21:55:09Z","lastAt":"2012-07-06T20:28:13Z","messageCount":16,"participants":["Junio C Hamano","David Michael Barr","Jonathan Nieder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"193018","messageId":"7v62b4ksw2.fsf@alter.siamese.dyndns.org","threadId":"30730","inReplyTo":null,"subject":"What's cooking in git.git (Jun 2012, #02; Wed, 6)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-06-06T21:55:09Z","receivedAt":"2012-06-06T21:55:09Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"What's cooking in git.git (Jun 2012, #02; Wed, 6)\n--------------------------------------------------\n\nHere are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.\n\nI'm planning to tag 1.7.11-rc2 tomorrow or Friday (we have slipped\nby one week). Please concentrate on testing, finding and fixing\nregressions introduced after 1.7.10 until 1.7.11 final.\n\nYou can find the changes described here in the integration branches of the\nrepositories listed at\n\n    http://git-blame.blogspot.com/p/git-public-repositories.html\n\n--------------------------------------------------\n[New Topics]\n\n* jc/bundle-complete-notice (2012-06-04) 1 commit\n  (merged to 'next' on 2012-06-05 at ee25a35)\n + tweak \"bundle verify\" of a complete history\n\nRunning \"git bundle verify\" on a bundle that records a complete\nhistory said \"it requires these 0 commits\".\n\nNot urgent; probably early post 1.7.11.\n\n* jc/svn-auth-providers-unusable-at-1.6.12 (2012-06-04) 1 commit\n  (merged to 'next' on 2012-06-04 at c4ffe24)\n + git-svn: platform auth providers are working only on 1.6.15 or newer\n\nRegression fix for people with libsvn between 1.6.12 and 1.6.15 on\nwhich we tried to use non-working platform auth providers.\n\nWill merge to master.\n\n* lk/more-helpful-status-hints (2012-06-05) 4 commits\n - status: better advices when splitting a commit (during rebase -i)\n - status: don't suggest \"git rm\" or \"git add\" if not appropriate\n - t7512-status-help.sh: better advices for git status\n - wt-status.*: better advices for git status added\n\nAlmost there, modulo minor details pointed out by Matthieu.\n\n* rr/maint-t3510-cascade-fix (2012-06-04) 1 commit\n  (merged to 'next' on 2012-06-04 at 4c3368b)\n + t3510 (cherry-pick-sequence): add missing '&&'\n\nWill merge to master.\n\n* jc/merge-annotated-tag (2012-06-05) 2 commits\n - merge: allow fast-forwarding to an annotated but unsigned tag\n - merge: separte the logic to check for a signed tag\n\n\"git merge anno\" created a merge commit even when anno is an\nunsigned annotated tag that points at a commit that can be fast\nforwarded to; this came from a laziness of the implementation of\nmerging of signed tags in 1.7.9, and can be worked around by saying\n\"git merge --ff-only anno\", so it is not really necessariy, but is\nhere for completeness.\n\nNot urgent.\n\n* jk/no-more-pre-exec-callback (2012-06-05) 1 commit\n - pager: drop \"wait for output to run less\" hack\n\nOn hold for 6 months until ancient \"less\" goes extinct.\n\n* jk/maint-t1304-setfacl (2012-06-06) 1 commit\n - t1304: improve setfacl prerequisite setup\n\nWorks around a false test failure caused by a bug in ecryptofs.\n\nNot urgent; probably early post 1.7.11.\n\n* lk/rebase-i-x (2012-06-06) 1 commit\n - rebase [-i --exec | -ix] <cmd>...\n\nAdds -x <cmd> to \"rebase -i\" to insert \"exec <cmd>\" after each\ncommit in the resulting history.\n\nNot urgent; probably early post 1.7.11.\n\n* vr/help-per-platform (2012-06-06) 1 commit\n - help: use HTML as the default help format on Windows\n\n* jc/fmt-merge-msg-people (2012-06-06) 1 commit\n - fmt-merge-msg: make attribution into comment lines\n\n--------------------------------------------------\n[Stalled]\n\n* nd/exclude-workaround-top-heavy (2012-05-29) 2 commits\n - exclude: do strcmp as much as possible before fnmatch\n - Unindent excluded_from_list()\n\nAttempts to optimize matching with an exclude pattern with a deep\ndirectory hierarchy by taking the part that specifies leading path\nwithout wildcard literally.\n\nThe code to check for wildcard needs to be redone.\n\n* nl/http-proxy-more (2012-05-11) 2 commits\n - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY\n - http: Avoid limit of retrying request only twice\n\nI queued only the later two patches from this series, even though they do\nnot make much sense without the first one that seems to need a bit more\nwork, so that we won't forget.\n\n* jk/no-op-push-message (2012-05-30) 1 commit\n - improve no-op push output\n\nRewords the status message of \"git push\" that pushed only one ref\ndifferently from \"Everything up-to-date\", to give a bit more help to\npeople who get the message when their current branch is not pushed.\n\n* fc/git-prompt-script (2012-05-22) 5 commits\n - completion: split __git_ps1 into a separate script\n - completion: remove executable mode\n - Merge branch 'fc/git-complete-helper' into fc/git-prompt-script\n - tests: add tests for the bash prompt functions in the completion script\n - tests: move code to run tests under bash into a helper library\n (this branch is tangled with sg/bash-prompt.)\n\nThe last remaining sticking point is what to do with the duplicated shell\nfunction.\n\n* sg/bash-prompt (2012-05-09) 4 commits\n - completion: respect $GIT_DIR\n - completion: use __gitdir() in _git_log()\n - tests: add tests for the bash prompt functions in the completion script\n - tests: move code to run tests under bash into a helper library\n (this branch is tangled with fc/git-prompt-script.)\n\nThis is only the \"correction\" bits taken from the beginning of a larger\nseries that is to be rerolled.  The first two are tangled with Felipe's\ntopic so a reroll, if comes, should build on top of them.\n\n* jc/apply-3way (2012-06-06) 12 commits\n - apply: fix an incomplete message\n - apply: refactor \"previous patch\" logic\n - apply: a bit more comments on PATH_TO_BE_DELETED\n - apply: document --3way option\n - apply: allow rerere() upon --3way results\n - apply: register conflicted stages to the index\n - apply: plug the three-way merge logic in\n - apply: fall back on three-way merge\n - apply: accept -3/--3way command line option\n - apply: split load_preimage() helper function out\n - apply: refactor read_file_or_gitlink()\n - apply: clear_image() clears things a bit more\n\n\"git apply\" learns to wiggle the base version and perform three-way merge\nwhen a patch does not exactly apply to the version you have.\n\nIt turns out that it is somewhat unpleasant to handle add/add conflicts in\nthis code, but it seems necessary if we want to use \"apply -3\" to replace\nthe use of \"apply --build-fake-ancestor\" followed by the slow \"merge\" in\n\"am -3\".\n\n* jc/maint-push-refs-all (2012-05-04) 2 commits\n - get_fetch_map(): tighten checks on dest refs\n - fetch/push: allow refs/*:refs/*\n\nAllows pushing and fetching refs/stash.\nNot ready.\nThere still seem to be other bugs hiding (e.g. try pushing twice).\n\n* jc/run-hook-env-1 (2012-03-11) 1 commit\n - run_hook(): enhance the interface to pass arbitrary environment\n\nNot urgent.\n\nUpdates run_hook() API to be much less specific to \"commit\".  It would\nonly be useful if people start doing more interesting things with hooks.\n\n* jc/split-blob (2012-04-03) 6 commits\n - chunked-object: streaming checkout\n - chunked-object: fallback checkout codepaths\n - bulk-checkin: support chunked-object encoding\n - bulk-checkin: allow the same data to be multiply hashed\n - new representation types in the packstream\n - packfile: use varint functions\n\nNot ready.\n\nI finished the streaming checkout codepath, but as explained in\n127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),\nthese are still early steps of a long and painful journey. At least\npack-objects and fsck need to learn the new encoding for the series\nto be usable locally, and then index-pack/unpack-objects needs to\nlearn it to be used remotely.\n\nGiven that I heard a lot of noise that people want large files, and\nthat I was asked by somebody at GitTogether'11 privately for an\nadvice on how to pay developers (not me) to help adding necessary\nsupport, I am somewhat dissapointed that the original patch series\nthat was sent almost two months ago still remains here without much\ncomments and updates from the developer community. I even made the\ninterface to the logic that decides where to split chunks easily\nreplaceable, and I deliberately made the logic in the original patch\nextremely stupid to entice others, especially the \"bup\" fanboys, to\ncome up with a better logic, thinking that giving people an easy\ntarget to shoot for, they may be encouraged to help out. The plan is\nnot working :-(.\n\n--------------------------------------------------\n[Cooking]\n\n* jc/ls-files-i-dir (2012-06-05) 6 commits\n - dir.c: make excluded() file scope static\n - unpack-trees.c: use path_excluded() in check_ok_to_remove()\n - builtin/add.c: use path_excluded()\n - path_excluded(): update API to less cache-entry centric\n  (merged to 'next' on 2012-06-05 at 8f35db3)\n + ls-files -i: micro-optimize path_excluded()\n + ls-files -i: pay attention to exclusion of leading paths\n\n\"git ls-files --exclude=t -i\" did not consider anything under t/\nas excluded, as it did not pay attention to exclusion of leading\npaths while walking the index.  Other two users of excluded() are\nalso updated.\n\nNot urgent; probably early post 1.7.11.\n\n* jc/request-pull-match-tagname (2012-06-01) 1 commit\n  (merged to 'next' on 2012-06-05 at f0dc420)\n + request-pull: really favor a matching tag\n\n\"git request-pull $url dev\" when the tip of \"dev\" branch was tagged\nwith \"ext4-for-linus\" used the contents from the tag in the output\nbut still asked the \"dev\" branch to be pulled, not the tag.\n\nNot urgent; probably early post 1.7.11.\n\n* db/vcs-svn (2012-06-01) 6 commits\n - vcs-svn: drop no-op reset methods\n - vcs-svn: fix signedness warnings\n - vcs-svn: prefer strstr over memmem\n - vcs-svn: prefer constcmp to prefixcmp\n - vcs-svn: simplify cleanup in apply_one_window()\n - vcs-svn: fix clang-analyzer error\n\nI do not know the doneness of this series that came out of the\nblue.  Are people involved in vcs-svn happy with this series?\n\n* jk/version-string (2012-06-03) 3 commits\n  (merged to 'next' on 2012-06-05 at b6f7266)\n + http: get default user-agent from git_user_agent\n + version: add git_user_agent function\n + move git_version_string into version.c\n\nI am somewhat tempted to merge this to master before 1.7.11 final.\nThoughts?\n\n* mm/api-credentials-doc (2012-06-04) 4 commits\n  (merged to 'next' on 2012-06-05 at 8e14814)\n + api-credentials.txt: add \"see also\" section\n + api-credentials.txt: mention credential.helper explicitly\n + api-credentials.txt: show the big picture first\n + doc: fix xref link from api docs to manual pages\n\nWill merge to master.\n\n* nd/stream-pack-objects (2012-05-29) 1 commit\n - pack-objects: use streaming interface for reading large loose blobs\n\nNot urgent; probably early post 1.7.11.\n\n* jk/clone-local (2012-05-30) 2 commits\n  (merged to 'next' on 2012-06-05 at b819eb5)\n + clone: allow --no-local to turn off local optimizations\n + docs/clone: mention that --local may be ignored\n\n\"git clone --local $path\" started its life as an experiment to\noptionally use link/copy when cloning a repository on the disk, but\nwe didn't deprecate it after we made the option a no-op to always\nuse the optimization.\n\nNot urgent; probably early post 1.7.11.\n\n* jk/no-more-asciidoc7 (2012-05-30) 2 commits\n  (merged to 'next' on 2012-06-05 at 3f117df)\n + docs: drop antique comment from Makefile\n + docs: drop asciidoc7compatible flag\n\nNot urgent; probably early post 1.7.11.\n\n* cr/persistent-https (2012-05-30) 1 commit\n  (merged to 'next' on 2012-06-01 at c647464)\n + Add persistent-https to contrib\n\nA remote helper that acts as a proxy that caches ssl session for the\nhttps:// transport is added to the contrib/ area.\n\nWill merge to master.\n\n* nd/stream-index-pack (2012-05-24) 4 commits\n - index-pack: use streaming interface for collision test on large blobs\n - index-pack: factor out unpack core from get_data_from_pack\n - index-pack: use streaming interface on large blobs (most of the time)\n - index-pack: hash non-delta objects while reading from stream\n\nUse streaming API to read from the object store to avoid having to hold\na large blob object in-core while running index-pack.\n\nNot urgent; probably early post 1.7.11.\n\n* js/submodule-relative (2012-06-06) 4 commits\n - submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar\n - submodule: fix sync handling of some relative superproject origin URLs\n - submodule: document failure to handle relative superproject origin URLs\n - submodule: additional regression tests for relative URLs\n\nMakes \"git submodule\" deal with nested submodule structure where a\nmodule is contained within a module whose origin is specified as a\nrelative URL to its superproject's origin.\n\nNot urgent; probably early post 1.7.11.\n\n* mm/push-default-switch-warning (2012-06-06) 1 commit\n - push: start warning upcoming default change for push.default\n\nWill merge to next after 1.7.11.\n\nHopwefully we can have a solidly tested series early in 1.7.12 or\n1.7.13 at the latest.\n\n--------------------------------------------------\n[Discarded]\n\n* cb/daemon-test-race-fix (2012-04-27) 2 commits\n  (merged to 'next' on 2012-04-27 at 84bbcf8)\n + Revert \"git-daemon wrapper to wait until daemon is ready\"\n  (merged to 'next' on 2012-04-24 at d5c30be)\n + git-daemon wrapper to wait until daemon is ready\n\nReverted from 'next' to replace it with js/daemon-test-race-fix.\n"},{"id":"193022","messageId":"CAFfmPPOWZz8JF_BVKvnAVp0VUDzxPiVSqjG7ATPx3CVztDF=cw@mail.gmail.com","threadId":"30730","inReplyTo":"7v62b4ksw2.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jun 2012, #02; Wed, 6)","fromName":"David Michael Barr","fromEmail":"davidbarr@google.com","sentAt":"2012-06-06T23:49:16Z","receivedAt":"2012-06-06T23:49:16Z","isPatch":false,"sender":{"key":"davidbarr@google.com","avatar":"https://avatars.githubusercontent.com/u/220594?v=4"},"body":"On Thu, Jun 7, 2012 at 7:55 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> * db/vcs-svn (2012-06-01) 6 commits\n>  - vcs-svn: drop no-op reset methods\n>  - vcs-svn: fix signedness warnings\n>  - vcs-svn: prefer strstr over memmem\n>  - vcs-svn: prefer constcmp to prefixcmp\n>  - vcs-svn: simplify cleanup in apply_one_window()\n>  - vcs-svn: fix clang-analyzer error\n>\n> I do not know the doneness of this series that came out of the\n> blue.  Are people involved in vcs-svn happy with this series?\n\nAt the end of this series, vcs-svn is static-analyzer clean when\nmerged into svn-dump-fast-export.\nI believe Jonathan's comments have been addressed.\n\nRegarding minimising dependencies, it remains a long-term goal to make\nvcs-svn available to other DVCS implementations.\n\n--\nDavid Barr\n"},{"id":"193023","messageId":"20120607003904.GB4065@burratino","threadId":"30730","inReplyTo":"CAFfmPPOWZz8JF_BVKvnAVp0VUDzxPiVSqjG7ATPx3CVztDF=cw@mail.gmail.com","subject":"Re: What's cooking in git.git (Jun 2012, #02; Wed, 6)","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-06-07T00:39:04Z","receivedAt":"2012-06-07T00:39:04Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nDavid Michael Barr wrote:\n> On Thu, Jun 7, 2012 at 7:55 AM, Junio C Hamano <gitster@pobox.com> wrote:\n\n>> * db/vcs-svn (2012-06-01) 6 commits\n>>  - vcs-svn: drop no-op reset methods\n>>  - vcs-svn: fix signedness warnings\n>>  - vcs-svn: prefer strstr over memmem\n>>  - vcs-svn: prefer constcmp to prefixcmp\n>>  - vcs-svn: simplify cleanup in apply_one_window()\n>>  - vcs-svn: fix clang-analyzer error\n>>\n>> I do not know the doneness of this series that came out of the\n>> blue.  Are people involved in vcs-svn happy with this series?\n>\n> At the end of this series, vcs-svn is static-analyzer clean when\n> merged into svn-dump-fast-export.\n\nThanks for the cc.  I generally like the code and generally dislike\nthe descriptions which amount to \"appease the static analyzer\" and\ndon't reflect the thought you actually put into the patches, which\nsets a bad precedent.  I was planning to munge the descriptions, ask\nyou to look it over, and then ask Junio to pull.\n\nThe signedness patch still leaves me worried: for example, where len\nis of type (size_t) and delta_len of type (off_t *),\n\n\t-       if (len > *delta_len ||\n\t+       if ((off_t) len > *delta_len ||\n\nchanges the meaning for the worse if len is very large on a system\n(think: 64-bit PC) where size_t and off_t have the same width.  It's\nexploitable. :(\n\nBut I like the spirit of the patches.\n\nThe \"drop no-op reset methods\" patch is unrisky and could go in\ndirectly.\n\nJonathan\n"},{"id":"193030","messageId":"7vtxynk81p.fsf@alter.siamese.dyndns.org","threadId":"30730","inReplyTo":"20120607003904.GB4065@burratino","subject":"Re: What's cooking in git.git (Jun 2012, #02; Wed, 6)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-06-07T05:25:22Z","receivedAt":"2012-06-07T05:25:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n>> At the end of this series, vcs-svn is static-analyzer clean when\n>> merged into svn-dump-fast-export.\n>\n> Thanks for the cc.  I generally like the code and generally dislike\n> the descriptions which amount to \"appease the static analyzer\" and\n> don't reflect the thought you actually put into the patches, which\n> sets a bad precedent.  I was planning to munge the descriptions, ask\n> you to look it over, and then ask Junio to pull.\n\nThat sounds like a good way to go, then.\n\nThanks.\n"},{"id":"194732","messageId":"20120706171040.GA31001@burratino","threadId":"30730","inReplyTo":"7vtxynk81p.fsf@alter.siamese.dyndns.org","subject":"[GIT PULL] vcs-svn housekeeping","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:10:40Z","receivedAt":"2012-07-06T17:10:40Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi Junio,\n\nThe following changes since commit 58ebd9865d2bb9d42842fbac5a1c4eae49e92859:\n\n  vcs-svn/svndiff.c: squelch false \"unused\" warning from gcc (2012-01-27 11:58:56 -0800)\n\nare available at:\n\n  git://repo.or.cz/git/jrn.git svn-fe\n\nThe first three commits duplicate changes that are already in master\nbut were committed independently on the svn-fe branch last February.\nThe rest are David's db/vcs-svn series which aims to address various\nnits noticed when merging the code back into svn-dump-fast-export:\nunnecessary use of git-specific functions (prefixcmp, memmem) and\nwarnings reported by clang.\n\nSome of the patches had to change a little since v2 of db/vcs-svn, so\nI'll be replying with a copy of the patches for reference.\n\nDavid has looked the branch over and acked and tested it.\n\nThoughts welcome, as usual.  I think these are ready for pulling into\nmaster.  Sorry to be so slow at this.\n\nDavid Barr (7):\n      vcs-svn: drop no-op reset methods\n      vcs-svn: avoid self-assignment in dummy initialization of pre_off\n      vcs-svn: simplify cleanup in apply_one_window\n      vcs-svn: use constcmp instead of prefixcmp\n      vcs-svn: use strstr instead of memmem\n      vcs-svn: suppress signed/unsigned comparison warnings\n      vcs-svn: suppress a signed/unsigned comparison warning\n\nJonathan Nieder (4):\n      vcs-svn: allow import of > 4GiB files\n      vcs-svn: suppress -Wtype-limits warning\n      vcs-svn: suppress a signed/unsigned comparison warning\n      vcs-svn: allow 64-bit Prop-Content-Length\n\nRamsay Allan Jones (1):\n      vcs-svn: rename check_overflow and its arguments for clarity\n\n test-line-buffer.c       |    1 -\n test-svn-fe.c            |    2 --\n vcs-svn/fast_export.c    |   26 ++++++++++++--------------\n vcs-svn/fast_export.h    |    5 ++---\n vcs-svn/line_buffer.c    |    4 ----\n vcs-svn/line_buffer.h    |    1 -\n vcs-svn/sliding_window.c |   16 ++++++++--------\n vcs-svn/svndiff.c        |   15 ++++++++-------\n vcs-svn/svndump.c        |   46 ++++++++++++++++++++++++++++------------------\n 9 files changed, 58 insertions(+), 58 deletions(-)\n"},{"id":"194733","messageId":"20120706171319.GB31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 1/9] vcs-svn: drop no-op reset methods","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:13:19Z","receivedAt":"2012-07-06T17:13:19Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:30 +1000\n\nSince v1.7.5~42^2~6 (vcs-svn: remove buffer_read_string)\nbuffer_reset() does nothing thus fast_export_reset() also.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nIncorporates fixes from $gmane/198955.  No other changes.\n\n test-line-buffer.c    |    1 -\n test-svn-fe.c         |    2 --\n vcs-svn/fast_export.c |    5 -----\n vcs-svn/fast_export.h |    1 -\n vcs-svn/line_buffer.c |    4 ----\n vcs-svn/line_buffer.h |    1 -\n vcs-svn/svndump.c     |    2 --\n 7 files changed, 16 deletions(-)\n\ndiff --git a/test-line-buffer.c b/test-line-buffer.c\nindex 7ec9b13c..ef1d7bae 100644\n--- a/test-line-buffer.c\n+++ b/test-line-buffer.c\n@@ -87,6 +87,5 @@ int main(int argc, char *argv[])\n \t\tdie(\"input error\");\n \tif (ferror(stdout))\n \t\tdie(\"output error\");\n-\tbuffer_reset(&stdin_buf);\n \treturn 0;\n }\ndiff --git a/test-svn-fe.c b/test-svn-fe.c\nindex 332a5f71..83633a21 100644\n--- a/test-svn-fe.c\n+++ b/test-svn-fe.c\n@@ -31,9 +31,7 @@ static int apply_delta(int argc, char *argv[])\n \t\tdie_errno(\"cannot close preimage\");\n \tif (buffer_deinit(&delta))\n \t\tdie_errno(\"cannot close delta\");\n-\tbuffer_reset(&preimage);\n \tstrbuf_release(&preimage_view.buf);\n-\tbuffer_reset(&delta);\n \treturn 0;\n }\n \ndiff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c\nindex b823b851..b4be91cc 100644\n--- a/vcs-svn/fast_export.c\n+++ b/vcs-svn/fast_export.c\n@@ -42,11 +42,6 @@ void fast_export_deinit(void)\n \t\tdie_errno(\"error closing fast-import feedback stream\");\n }\n \n-void fast_export_reset(void)\n-{\n-\tbuffer_reset(&report_buffer);\n-}\n-\n void fast_export_delete(const char *path)\n {\n \tputchar('D');\ndiff --git a/vcs-svn/fast_export.h b/vcs-svn/fast_export.h\nindex aa629f54..8823aca1 100644\n--- a/vcs-svn/fast_export.h\n+++ b/vcs-svn/fast_export.h\n@@ -6,7 +6,6 @@ struct line_buffer;\n \n void fast_export_init(int fd);\n void fast_export_deinit(void);\n-void fast_export_reset(void);\n \n void fast_export_delete(const char *path);\n void fast_export_modify(const char *path, uint32_t mode, const char *dataref);\ndiff --git a/vcs-svn/line_buffer.c b/vcs-svn/line_buffer.c\nindex 01fcb842..57cc1cec 100644\n--- a/vcs-svn/line_buffer.c\n+++ b/vcs-svn/line_buffer.c\n@@ -124,7 +124,3 @@ off_t buffer_skip_bytes(struct line_buffer *buf, off_t nbytes)\n \t}\n \treturn done;\n }\n-\n-void buffer_reset(struct line_buffer *buf)\n-{\n-}\ndiff --git a/vcs-svn/line_buffer.h b/vcs-svn/line_buffer.h\nindex 8901f214..ee23b4f4 100644\n--- a/vcs-svn/line_buffer.h\n+++ b/vcs-svn/line_buffer.h\n@@ -14,7 +14,6 @@ struct line_buffer {\n int buffer_init(struct line_buffer *buf, const char *filename);\n int buffer_fdinit(struct line_buffer *buf, int fd);\n int buffer_deinit(struct line_buffer *buf);\n-void buffer_reset(struct line_buffer *buf);\n \n int buffer_tmpfile_init(struct line_buffer *buf);\n FILE *buffer_tmpfile_rewind(struct line_buffer *buf);\t/* prepare to write. */\ndiff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c\nindex 644fdc71..f6c0d4c8 100644\n--- a/vcs-svn/svndump.c\n+++ b/vcs-svn/svndump.c\n@@ -499,8 +499,6 @@ void svndump_deinit(void)\n \n void svndump_reset(void)\n {\n-\tfast_export_reset();\n-\tbuffer_reset(&input);\n \tstrbuf_release(&dump_ctx.uuid);\n \tstrbuf_release(&dump_ctx.url);\n \tstrbuf_release(&rev_ctx.log);\n-- \n1.7.10.4\n"},{"id":"194734","messageId":"20120706171651.GC31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 2/9] vcs-svn: avoid self-assignment in dummy initialization of pre_off","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:16:51Z","receivedAt":"2012-07-06T17:16:51Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:25 +1000\n\nWithout this change, clang complains:\n\n vcs-svn/svndiff.c:298:3: warning: Assigned value is garbage or undefined\n                 off_t pre_off = pre_off; /* stupid GCC... */\n                 ^               ~~~~~~~\n\nThis code uses an old and common idiom for suppressing an\n\"uninitialized variable\" warning, and clang is wrong to warn about it.\nThe idiom tells the compiler to leave the variable uninitialized,\nwhich saves a few bytes of code size, and, more importantly, allows\nvalgrind to check at runtime that the variable is properly initialized\nby the time it is used.\n\nBut MSVC and clang do not know that idiom, so let's avoid it in\nvcs-svn/ code.\n\nInitialize pre_off to -1, a recognizably meaningless value, to allow\nfuture code changes that cause pre_off to be used before it is\ninitialized to be caught early.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nChanges since v2:\n\n - new commit message inspired by the discussion at [2]\n - initialize pre_off to -1 instead of 0\n\n[1] http://thread.gmane.org/gmane.comp.version-control.git/198909/focus=198910\n[2] http://thread.gmane.org/gmane.comp.version-control.git/169098/focus=169128\n\n vcs-svn/svndiff.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/vcs-svn/svndiff.c b/vcs-svn/svndiff.c\nindex 1647c1a7..c89d9623 100644\n--- a/vcs-svn/svndiff.c\n+++ b/vcs-svn/svndiff.c\n@@ -295,7 +295,7 @@ int svndiff0_apply(struct line_buffer *delta, off_t delta_len,\n \tif (read_magic(delta, &delta_len))\n \t\treturn -1;\n \twhile (delta_len) {\t/* For each window: */\n-\t\toff_t pre_off = pre_off; /* stupid GCC... */\n+\t\toff_t pre_off = -1;\n \t\tsize_t pre_len;\n \n \t\tif (read_offset(delta, &pre_off, &delta_len) ||\n-- \n1.7.10.4\n"},{"id":"194735","messageId":"20120706171759.GD31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 3/9] vcs-svn: simplify cleanup in apply_one_window","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:18:00Z","receivedAt":"2012-07-06T17:18:00Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:26 +1000\n\nCurrently the cleanup code looks like this:\n\n\tfree resources\n\treturn 0;\n error_out:\n\tfree resources\n\treturn -1;\n\nAvoid duplicating the \"free resources\" part by keeping the return\nvalue in a variable and sharing code between the success and\nexceptional case:\n\n\tret = 0;\n out:\n\tfree resources\n\treturn ret;\n\nNoticed in the svn-dump-fast-export project, where using the error()\nmacro in void context produces a warning.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nChanges since v2:\n - new description\n\n vcs-svn/svndiff.c |    8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/vcs-svn/svndiff.c b/vcs-svn/svndiff.c\nindex c89d9623..e810d0c3 100644\n--- a/vcs-svn/svndiff.c\n+++ b/vcs-svn/svndiff.c\n@@ -258,6 +258,7 @@ static int apply_window_in_core(struct window *ctx)\n static int apply_one_window(struct line_buffer *delta, off_t *delta_len,\n \t\t\t    struct sliding_view *preimage, FILE *out)\n {\n+\tint rv = -1;\n \tstruct window ctx = WINDOW_INIT(preimage);\n \tsize_t out_len;\n \tsize_t instructions_len;\n@@ -275,16 +276,15 @@ static int apply_one_window(struct line_buffer *delta, off_t *delta_len,\n \tif (apply_window_in_core(&ctx))\n \t\tgoto error_out;\n \tif (ctx.out.len != out_len) {\n-\t\terror(\"invalid delta: incorrect postimage length\");\n+\t\trv = error(\"invalid delta: incorrect postimage length\");\n \t\tgoto error_out;\n \t}\n \tif (write_strbuf(&ctx.out, out))\n \t\tgoto error_out;\n-\twindow_release(&ctx);\n-\treturn 0;\n+\trv = 0;\n error_out:\n \twindow_release(&ctx);\n-\treturn -1;\n+\treturn rv;\n }\n \n int svndiff0_apply(struct line_buffer *delta, off_t delta_len,\n-- \n1.7.10.4\n"},{"id":"194736","messageId":"20120706171838.GE31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 4/9] vcs-svn: use constcmp instead of prefixcmp","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:18:38Z","receivedAt":"2012-07-06T17:18:38Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:27 +1000\n\nSince the length of t is already known, we can simplify a little by\nusing memcmp() instead of strncmp() to carry out a prefix comparison.\nAll nearby code already does this.\n\nNoticed in the standalone svn-dump-fast-export project which has not\nneeded to implement prefixcmp() yet.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nDescription clarified.  No other change.\n\n vcs-svn/svndump.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c\nindex f6c0d4c8..c5d07a66 100644\n--- a/vcs-svn/svndump.c\n+++ b/vcs-svn/svndump.c\n@@ -361,7 +361,7 @@ void svndump_read(const char *url)\n \t\t\treset_rev_ctx(atoi(val));\n \t\t\tbreak;\n \t\tcase sizeof(\"Node-path\"):\n-\t\t\tif (prefixcmp(t, \"Node-\"))\n+\t\t\tif (constcmp(t, \"Node-\"))\n \t\t\t\tcontinue;\n \t\t\tif (!constcmp(t + strlen(\"Node-\"), \"path\")) {\n \t\t\t\tif (active_ctx == NODE_CTX)\n-- \n1.7.10.4\n"},{"id":"194737","messageId":"20120706171950.GF31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 5/9] vcs-svn: use strstr instead of memmem","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:19:50Z","receivedAt":"2012-07-06T17:19:50Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:28 +1000\n\nmemmem is a GNU extension.\n\nAvoiding it makes the code clearer and makes it easier for projects\nthat don't share git's compat/ code, such as the standalone\nsvn-dump-fast-export project, to reuse the vcs-svn/ library.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nClarified description.  No other change since v2.\n\n vcs-svn/fast_export.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c\nindex b4be91cc..854b328d 100644\n--- a/vcs-svn/fast_export.c\n+++ b/vcs-svn/fast_export.c\n@@ -158,7 +158,7 @@ static int parse_cat_response_line(const char *header, off_t *len)\n \n \tif (ends_with(header, headerlen, \" missing\"))\n \t\treturn error(\"cat-blob reports missing blob: %s\", header);\n-\ttype = memmem(header, headerlen, \" blob \", strlen(\" blob \"));\n+\ttype = strstr(header, \" blob \");\n \tif (!type)\n \t\treturn error(\"cat-blob header has wrong object type: %s\", header);\n \tn = strtoumax(type + strlen(\" blob \"), (char **) &end, 10);\n-- \n1.7.10.4\n"},{"id":"194738","messageId":"20120706172121.GG31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 6/9] vcs-svn: suppress signed/unsigned comparison warnings","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:21:21Z","receivedAt":"2012-07-06T17:21:21Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:29 +1000\n\nThese are already safe because both sides of the comparison are\nnonnegative.\n\nThis would normally not be important because Git is not -Wsign-compare\nclean anyway, but we like to keep the vcs-svn/ lib to a higher\nstandard for convenience using it in other projects.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nThis is the easy part of what is a larger patch[1] in v2, split out\nand given a new description for easier review.\n\n[1] http://thread.gmane.org/gmane.comp.version-control.git/198909/focus=198914\n\n vcs-svn/fast_export.c |    4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c\nindex 854b328d..1f046978 100644\n--- a/vcs-svn/fast_export.c\n+++ b/vcs-svn/fast_export.c\n@@ -254,7 +254,7 @@ static int parse_ls_response(const char *response, uint32_t *mode,\n \t}\n \n \t/* Mode. */\n-\tif (response_end - response < strlen(\"100644\") ||\n+\tif (response_end - response < (signed) strlen(\"100644\") ||\n \t    response[strlen(\"100644\")] != ' ')\n \t\tdie(\"invalid ls response: missing mode: %s\", response);\n \t*mode = 0;\n@@ -267,7 +267,7 @@ static int parse_ls_response(const char *response, uint32_t *mode,\n \t}\n \n \t/* ' blob ' or ' tree ' */\n-\tif (response_end - response < strlen(\" blob \") ||\n+\tif (response_end - response < (signed) strlen(\" blob \") ||\n \t    (response[1] != 'b' && response[1] != 't'))\n \t\tdie(\"unexpected ls response: not a tree or blob: %s\", response);\n \tresponse += strlen(\" blob \");\n-- \n1.7.10.4\n"},{"id":"194739","messageId":"20120706172254.GH31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 7/9] vcs-svn: suppress a signed/unsigned comparison warning","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:22:54Z","receivedAt":"2012-07-06T17:22:54Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: David Barr <davidbarr@google.com>\nDate: Fri, 1 Jun 2012 00:41:29 +1000\n\nThe preceding code checks that view->max_off is nonnegative and\n(off + width) fits in an off_t, so this code is already safe.\n\nSigned-off-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nAnother unobjectionable piece from v2's patch 5.  The new change\ndescription explains why it's unobjectionable to save future readers\nsome time.\n\n vcs-svn/sliding_window.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/vcs-svn/sliding_window.c b/vcs-svn/sliding_window.c\nindex ec2707c9..f11d4909 100644\n--- a/vcs-svn/sliding_window.c\n+++ b/vcs-svn/sliding_window.c\n@@ -54,7 +54,7 @@ int move_window(struct sliding_view *view, off_t off, size_t width)\n \t\treturn -1;\n \tif (off < view->off || off + width < view->off + view->width)\n \t\treturn error(\"invalid delta: window slides left\");\n-\tif (view->max_off >= 0 && view->max_off < off + width)\n+\tif (view->max_off >= 0 && view->max_off < off + (off_t) width)\n \t\treturn error(\"delta preimage ends early\");\n \n \tfile_offset = view->off + view->buf.len;\n-- \n1.7.10.4\n"},{"id":"194741","messageId":"20120706172528.GI31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 8/9] vcs-svn: suppress a signed/unsigned comparison warning","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:25:28Z","receivedAt":"2012-07-06T17:25:28Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"From: Jonathan Nieder <jrnieder@gmail.com>\nDate: Thu, 5 Jul 2012 22:21:09 -0500\n\nAll callers pass a nonnegative delta_len, so the code is already safe.\nAdd an assertion to ensure that remains so and add a cast to keep\nclang and gcc -Wsign-compare from worrying.\n\nReported-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nv2 suppressed the warning by casting \"len\" to an off_t, producing an\nunintentional change (breakage) in functionality on 64-bit systems\nwhen \"len\" is large.\n\nThis version is longer but more conservative.\n\n vcs-svn/svndiff.c |    5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/vcs-svn/svndiff.c b/vcs-svn/svndiff.c\nindex e810d0c3..74c97c45 100644\n--- a/vcs-svn/svndiff.c\n+++ b/vcs-svn/svndiff.c\n@@ -77,8 +77,9 @@ static int error_short_read(struct line_buffer *input)\n static int read_chunk(struct line_buffer *delta, off_t *delta_len,\n \t\t      struct strbuf *buf, size_t len)\n {\n+\tassert(*delta_len >= 0);\n \tstrbuf_reset(buf);\n-\tif (len > *delta_len ||\n+\tif (len > (uintmax_t) *delta_len ||\n \t    buffer_read_binary(delta, buf, len) != len)\n \t\treturn error_short_read(delta);\n \t*delta_len -= buf->len;\n@@ -290,7 +291,7 @@ error_out:\n int svndiff0_apply(struct line_buffer *delta, off_t delta_len,\n \t\t\tstruct sliding_view *preimage, FILE *postimage)\n {\n-\tassert(delta && preimage && postimage);\n+\tassert(delta && preimage && postimage && delta_len >= 0);\n \n \tif (read_magic(delta, &delta_len))\n \t\treturn -1;\n-- \n1.7.10.4\n"},{"id":"194742","messageId":"20120706172750.GJ31001@burratino","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"[PATCH 9/9] vcs-svn: allow 64-bit Prop-Content-Length","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2012-07-06T17:27:50Z","receivedAt":"2012-07-06T17:27:50Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Date: Thu, 5 Jul 2012 22:47:47 -0500\n\nCurrently the vcs-svn/ library only pays attention to the presence of\nthe Prop-Content-Length field and doesn't care about its value, but\nsome day we might care about the value.  Parse it as an off_t instead\nof arbitrarily limiting to 32 bits for intuitiveness.\n\nSo now you can import from a dump with more than 2 GiB of properties\nfor a node.  In practice that isn't likely to happen often, and this\nis mostly meant as a cleanup.\n\nBased-on-patch-by: David Barr <davidbarr@google.com>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\nAnother change that was mixed into v2's signedness warnings patch.\nIn v2 it changed the type of propLength without changing its name.\nThis version of the patch is more thorough about consistently using\nthe intuitive type (off_t instead of a 32-bit integer).\n\nThat's the end of the series.  Thanks for your patience.\n\n vcs-svn/svndump.c |   33 ++++++++++++++++++---------------\n 1 file changed, 18 insertions(+), 15 deletions(-)\n\ndiff --git a/vcs-svn/svndump.c b/vcs-svn/svndump.c\nindex c5d07a66..a7f3ea64 100644\n--- a/vcs-svn/svndump.c\n+++ b/vcs-svn/svndump.c\n@@ -34,14 +34,13 @@\n #define NODE_CTX 2\t/* node metadata */\n #define INTERNODE_CTX 3\t/* between nodes */\n \n-#define LENGTH_UNKNOWN (~0)\n #define DATE_RFC2822_LEN 31\n \n static struct line_buffer input = LINE_BUFFER_INIT;\n \n static struct {\n-\tuint32_t action, propLength, srcRev, type;\n-\toff_t text_length;\n+\tuint32_t action, srcRev, type;\n+\toff_t prop_length, text_length;\n \tstruct strbuf src, dst;\n \tuint32_t text_delta, prop_delta;\n } node_ctx;\n@@ -61,7 +60,7 @@ static void reset_node_ctx(char *fname)\n {\n \tnode_ctx.type = 0;\n \tnode_ctx.action = NODEACT_UNKNOWN;\n-\tnode_ctx.propLength = LENGTH_UNKNOWN;\n+\tnode_ctx.prop_length = -1;\n \tnode_ctx.text_length = -1;\n \tstrbuf_reset(&node_ctx.src);\n \tnode_ctx.srcRev = 0;\n@@ -209,7 +208,7 @@ static void read_props(void)\n static void handle_node(void)\n {\n \tconst uint32_t type = node_ctx.type;\n-\tconst int have_props = node_ctx.propLength != LENGTH_UNKNOWN;\n+\tconst int have_props = node_ctx.prop_length != -1;\n \tconst int have_text = node_ctx.text_length != -1;\n \t/*\n \t * Old text for this node:\n@@ -273,7 +272,7 @@ static void handle_node(void)\n \tif (have_props) {\n \t\tif (!node_ctx.prop_delta)\n \t\t\tnode_ctx.type = type;\n-\t\tif (node_ctx.propLength)\n+\t\tif (node_ctx.prop_length)\n \t\t\tread_props();\n \t}\n \n@@ -409,22 +408,26 @@ void svndump_read(const char *url)\n \t\t\tnode_ctx.srcRev = atoi(val);\n \t\t\tbreak;\n \t\tcase sizeof(\"Text-content-length\"):\n-\t\t\tif (!constcmp(t, \"Text-content-length\")) {\n+\t\t\tif (constcmp(t, \"Text\") && constcmp(t, \"Prop\"))\n+\t\t\t\tcontinue;\n+\t\t\tif (constcmp(t + 4, \"-content-length\"))\n+\t\t\t\tcontinue;\n+\t\t\t{\n \t\t\t\tchar *end;\n-\t\t\t\tuintmax_t textlen;\n+\t\t\t\tuintmax_t len;\n \n-\t\t\t\ttextlen = strtoumax(val, &end, 10);\n+\t\t\t\tlen = strtoumax(val, &end, 10);\n \t\t\t\tif (!isdigit(*val) || *end)\n \t\t\t\t\tdie(\"invalid dump: non-numeric length %s\", val);\n-\t\t\t\tif (textlen > maximum_signed_value_of_type(off_t))\n+\t\t\t\tif (len > maximum_signed_value_of_type(off_t))\n \t\t\t\t\tdie(\"unrepresentable length in dump: %s\", val);\n-\t\t\t\tnode_ctx.text_length = (off_t) textlen;\n+\n+\t\t\t\tif (*t == 'T')\n+\t\t\t\t\tnode_ctx.text_length = (off_t) len;\n+\t\t\t\telse\n+\t\t\t\t\tnode_ctx.prop_length = (off_t) len;\n \t\t\t\tbreak;\n \t\t\t}\n-\t\t\tif (constcmp(t, \"Prop-content-length\"))\n-\t\t\t\tcontinue;\n-\t\t\tnode_ctx.propLength = atoi(val);\n-\t\t\tbreak;\n \t\tcase sizeof(\"Text-delta\"):\n \t\t\tif (!constcmp(t, \"Text-delta\")) {\n \t\t\t\tnode_ctx.text_delta = !strcmp(val, \"true\");\n-- \n1.7.10.4\n"},{"id":"194751","messageId":"CAFfmPPOWfYhZyrsvg8eeisdNLb4gyEMJ5kYfVhcSR3KNa-QjCQ@mail.gmail.com","threadId":"30730","inReplyTo":"20120706171040.GA31001@burratino","subject":"Re: [GIT PULL] vcs-svn housekeeping","fromName":"David Michael Barr","fromEmail":"davidbarr@google.com","sentAt":"2012-07-06T19:41:51Z","receivedAt":"2012-07-06T19:41:51Z","isPatch":false,"sender":{"key":"davidbarr@google.com","avatar":"https://avatars.githubusercontent.com/u/220594?v=4"},"body":"On Sat, Jul 7, 2012 at 3:10 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n> Hi Junio,\n>\n> The following changes since commit 58ebd9865d2bb9d42842fbac5a1c4eae49e92859:\n>\n>   vcs-svn/svndiff.c: squelch false \"unused\" warning from gcc (2012-01-27 11:58:56 -0800)\n>\n> are available at:\n>\n>   git://repo.or.cz/git/jrn.git svn-fe\n>\n> The first three commits duplicate changes that are already in master\n> but were committed independently on the svn-fe branch last February.\n> The rest are David's db/vcs-svn series which aims to address various\n> nits noticed when merging the code back into svn-dump-fast-export:\n> unnecessary use of git-specific functions (prefixcmp, memmem) and\n> warnings reported by clang.\n>\n> Some of the patches had to change a little since v2 of db/vcs-svn, so\n> I'll be replying with a copy of the patches for reference.\n>\n> David has looked the branch over and acked and tested it.\n>\n> Thoughts welcome, as usual.  I think these are ready for pulling into\n> master.  Sorry to be so slow at this.\n>\n> David Barr (7):\n>       vcs-svn: drop no-op reset methods\n>       vcs-svn: avoid self-assignment in dummy initialization of pre_off\n>       vcs-svn: simplify cleanup in apply_one_window\n>       vcs-svn: use constcmp instead of prefixcmp\n>       vcs-svn: use strstr instead of memmem\n>       vcs-svn: suppress signed/unsigned comparison warnings\n>       vcs-svn: suppress a signed/unsigned comparison warning\n>\n> Jonathan Nieder (4):\n>       vcs-svn: allow import of > 4GiB files\n>       vcs-svn: suppress -Wtype-limits warning\n>       vcs-svn: suppress a signed/unsigned comparison warning\n>       vcs-svn: allow 64-bit Prop-Content-Length\n>\n> Ramsay Allan Jones (1):\n>       vcs-svn: rename check_overflow and its arguments for clarity\n\nThank you Jonathan for doing this. Definitely the result of\ncollaborating on a series is gorgeous. I do wish I could absorb your\nflair for polish.\n\n--\nDavid Barr\n"},{"id":"194757","messageId":"7vy5mwmy76.fsf@alter.siamese.dyndns.org","threadId":"30730","inReplyTo":"CAFfmPPOWfYhZyrsvg8eeisdNLb4gyEMJ5kYfVhcSR3KNa-QjCQ@mail.gmail.com","subject":"Re: [GIT PULL] vcs-svn housekeeping","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-06T20:28:13Z","receivedAt":"2012-07-06T20:28:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"David Michael Barr <davidbarr@google.com> writes:\n\n> On Sat, Jul 7, 2012 at 3:10 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:\n>> ...\n>> Some of the patches had to change a little since v2 of db/vcs-svn, so\n>> I'll be replying with a copy of the patches for reference.\n>>\n>> David has looked the branch over and acked and tested it.\n>> ...\n>\n> Thank you Jonathan for doing this. Definitely the result of\n> collaborating on a series is gorgeous. I do wish I could absorb your\n> flair for polish.\n\nThanks, both.  Will be pulled and pushed out by tonight.\n"}]}