{"push_id":996423171,"size":128,"distinct_size":0,"ref":"refs/heads/jk/export-symlink","head":"851a58cb1c0ecce60e2f642ea7ad3c772b4af351","before":"44f30ce606c93062afdfa8067d8f77e10cb90cac","commits":[{"sha":"320d39cdb075896804868cc8b1ca834a04ffdd8f","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"t0027: add tests for get_stream_filter()\n\nWhen a filter is configured, a different code-path is used in convert.c\nand entry.c via get_stream_filter(), but there are no test cases yet.\n\nAdd tests for the filter API by configuring the ident filter.\nThe result of the SHA1 conversion is not checked, this is already\ndone in other TC.\n\nAdd a parameter to checkout_files() in t0027.\nWhile changing the signature, add another parameter for the eol= attribute.\nThis is currently unused, tests for e.g.\n\"* text=auto eol=lf\" will be added in a separate commit.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/320d39cdb075896804868cc8b1ca834a04ffdd8f"},{"sha":"92cce1355ed4d2eb674b0742b00cfa133a4a8d58","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"convert.c: remove unused parameter 'path'\n\nSome functions get a parameter path, but don't use it.\nRemove the unused parameter.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/92cce1355ed4d2eb674b0742b00cfa133a4a8d58"},{"sha":"bb211b4de83b7cbc93049bc0d73883083a6a8b0b","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"convert.c: remove input_crlf_action()\n\nIntegrate the code of input_crlf_action() into convert_attrs(),\nso that ca.crlf_action is always valid after calling convert_attrs().\nKeep a copy of crlf_action in attr_action, this is needed for\nget_convert_attr_ascii().\n\nRemove eol_attr from struct conv_attrs, as it is now used temporally.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/bb211b4de83b7cbc93049bc0d73883083a6a8b0b"},{"sha":"4b4024f5ddca2ac14c2b15158d7cca888a8ae25e","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"convert.c: use text_eol_is_crlf()\n\nAdd a helper function to find out, which line endings text files\nshould get at checkout, depending on core.autocrlf and core.eol\nconfiguration variables.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4b4024f5ddca2ac14c2b15158d7cca888a8ae25e"},{"sha":"df747b818f0c9b7d0db1d7e3837b78e5d48b6fde","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"convert.c: refactor crlf_action\n\nRefactor the determination and usage of crlf_action.\nToday, when no \"crlf\" attribute are set on a file, crlf_action is set to\nCRLF_GUESS. Use CRLF_UNDEFINED instead, and search for \"text\" or \"eol\" as\nbefore.\nAfter searching for line ending attributes, save the value in\nstruct conv_attrs.crlf_action attr_action,\nso that get_convert_attr_ascii() is able report the attributes.\n\nReplace the old CRLF_GUESS usage:\nCRLF_GUESS && core.autocrlf=true -> CRLF_AUTO_CRLF\nCRLF_GUESS && core.autocrlf=false -> CRLF_BINARY\nCRLF_GUESS && core.autocrlf=input -> CRLF_AUTO_INPUT\n\nSave the action in conv_attrs.crlf_action (as before) and change\nall callers.\n\nMake more clear, what is what, by defining:\n\n- CRLF_UNDEFINED : No attributes set. Temparally used, until core.autocrlf\n                   and core.eol is evaluated and one of CRLF_BINARY,\n                   CRLF_AUTO_INPUT or CRLF_AUTO_CRLF is selected\n- CRLF_BINARY    : No processing of line endings.\n- CRLF_TEXT      : attribute \"text\" is set, line endings are processed.\n- CRLF_TEXT_INPUT: attribute \"input\" or \"eol=lf\" is set. This implies text.\n- CRLF_TEXT_CRLF : attribute \"eol=crlf\" is set. This implies text.\n- CRLF_AUTO      : attribute \"auto\" is set.\n- CRLF_AUTO_INPUT: core.autocrlf=input (no attributes)\n- CRLF_AUTO_CRLF : core.autocrlf=true  (no attributes)\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/df747b818f0c9b7d0db1d7e3837b78e5d48b6fde"},{"sha":"6e336a530b0dd98d1c751440ca5666a6999ab020","author":{"email":"955341c97b9d93a23c19524fc0105a6405902afe@web.de","name":"Torsten Bögershausen"},"message":"convert.c: simplify text_stat\n\nSimplify the statistics:\nlonecr counts the CR which is not followed by a LF,\nlonelf counts the LF which is not preceded by a CR,\ncrlf counts CRLF combinations.\nThis simplifies the evaluation of the statistics.\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/6e336a530b0dd98d1c751440ca5666a6999ab020"},{"sha":"bc60f8a77c6e676225810f33117abcf9117b1c1e","author":{"email":"b5d5468c18b856edee6cf44fd3ea820cd261b068@gmail.com","name":"Thomas Gummerer"},"message":"remote: use parse_config_key\n\n95b567c7 (\"use skip_prefix to avoid repeating strings\") transformed\ncalls using starts_with() and then skipping the length of the prefix to\nskip_prefix() calls.  In remote.c there are a few calls like:\n\n  if (starts_with(foo, \"bar\"))\n      foo += 3\n\nThese calls weren't touched by the aformentioned commit, but can be\nreplaced by calls to parse_config_key(), to simplify the code and\nclarify the intentions.  Do that.\n\nHelped-by: Jeff King <peff@peff.net>\nSigned-off-by: Thomas Gummerer <t.gummerer@gmail.com>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/bc60f8a77c6e676225810f33117abcf9117b1c1e"},{"sha":"674468b3642abfff7c61d5ff95fffc43b87f70b7","author":{"email":"b5d5468c18b856edee6cf44fd3ea820cd261b068@gmail.com","name":"Thomas Gummerer"},"message":"remote: simplify remote_is_configured()\n\nThe remote_is_configured() function allows checking whether a remote\nexists or not.  The function however only works if remote_get() wasn't\ncalled before calling it.  In addition, it only checks the configuration\nfor remotes, but not remotes or branches files.\n\nMake use of the origin member of struct remote instead, which indicates\nwhere the remote comes from.  It will be set to some value if the remote\nis configured in any file in the repository, but is initialized to 0 if\nthe remote is only created in make_remote().\n\nSigned-off-by: Thomas Gummerer <t.gummerer@gmail.com>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/674468b3642abfff7c61d5ff95fffc43b87f70b7"},{"sha":"cc8e538d45e4260b27196c3238e6f15d64236523","author":{"email":"b5d5468c18b856edee6cf44fd3ea820cd261b068@gmail.com","name":"Thomas Gummerer"},"message":"remote: actually check if remote exits\n\nWhen converting the git remote command to a builtin in 211c89 (\"Make\ngit-remote a builtin\"), a few calls to check if a remote exists were\nconverted from:\n       if (!exists $remote->{$name}) {\n       \t  [...]\nto:\n       remote = remote_get(argv[1]);\n       if (!remote)\n          [...]\n\nThe new check is not quite correct, because remote_get() never returns\nNULL if a name is given.  This leaves us with the somewhat cryptic error\nmessage \"error: Could not remove config section 'remote.test'\", if we\nare trying to remove a remote that does not exist, or a similar error if\nwe try to rename a remote.\n\nUse the remote_is_configured() function to check whether the remote\nactually exists, and die with a more sensible error message (\"No such\nremote: $remotename\") instead if it doesn't.\n\nSigned-off-by: Thomas Gummerer <t.gummerer@gmail.com>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/cc8e538d45e4260b27196c3238e6f15d64236523"},{"sha":"a31eeae27f38246ba35000fa603d884cdd1a81ae","author":{"email":"b5d5468c18b856edee6cf44fd3ea820cd261b068@gmail.com","name":"Thomas Gummerer"},"message":"remote: use remote_is_configured() for add and rename\n\nBoth remote add and remote rename use a slightly different hand-rolled\ncheck if the remote exits.  The hand-rolled check may have some subtle\ncases in which it might fail to detect when a remote already exists.\nOne such case was fixed in fb86e32 (\"git remote: allow adding remotes\nagreeing with url.<...>.insteadOf\").  Another case is when a remote is\nconfigured as follows:\n\n  [remote \"foo\"]\n    vcs = bar\n\nIf we try to run `git remote add foo bar` with the above remote\nconfiguration, git segfaults.  This change fixes it.\n\nIn addition, git remote rename $existing foo with the configuration for\nfoo as above silently succeeds, even though foo already exists,\nmodifying its configuration.  With this patch it fails with \"remote foo\nalready exists\".\n\nSigned-off-by: Thomas Gummerer <t.gummerer@gmail.com>\nReviewed-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a31eeae27f38246ba35000fa603d884cdd1a81ae"},{"sha":"b4c8aba659cb3264bcce3110d54bfcaab485408b","author":{"email":"c67f1ee17880030ce11821dcc9be7af90b863d9b@pks.im","name":"Patrick Steinhardt"},"message":"config: introduce set_or_die wrappers\n\nA lot of call-sites for the existing family of `git_config_set`\nfunctions do not check for errors that may occur, e.g. when the\nconfiguration file is locked. In many cases we simply want to die\nwhen such a situation arises.\n\nIntroduce wrappers that will cause the program to die in those\ncases. These wrappers are temporary only to ease the transition\nto let `git_config_set` die by default. They will be removed\nlater on when `git_config_set` itself has been replaced by\n`git_config_set_gently`.\n\nSigned-off-by: Patrick Steinhardt <ps@pks.im>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b4c8aba659cb3264bcce3110d54bfcaab485408b"},{"sha":"d2b11eca7eccc4dfc22a8fc1182d9341458dd9cb","author":{"email":"572a797f8a2846ddbc78323aec325995ee29332d@gmail.com","name":"Felipe Gonçalves Assis"},"message":"merge-recursive: option to disable renames\n\nThe recursive strategy turns on rename detection by default. Add a\nstrategy option to disable rename detection even for exact renames.\n\nSigned-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/d2b11eca7eccc4dfc22a8fc1182d9341458dd9cb"},{"sha":"1b47ad160b55f50a7a98c180e18d80f0f8f17a67","author":{"email":"572a797f8a2846ddbc78323aec325995ee29332d@gmail.com","name":"Felipe Gonçalves Assis"},"message":"merge-recursive: more consistent interface\n\nAdd strategy option find-renames, following git-diff interface. This\nmakes the option rename-threshold redundant.\n\nSigned-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/1b47ad160b55f50a7a98c180e18d80f0f8f17a67"},{"sha":"a0578e0382f453924fd2df8ea0402b90cd01f826","author":{"email":"5a28c51a1a2fd940035a2c87b954b4548c87165f@gmail.com","name":"Lars Schneider"},"message":"t: do not hide Git's exit code in tests using 'nul_to_q'\n\nGit should not be on the left-hand side of a pipe, because it hides the exit\ncode, and we want to make sure git does not fail.\n\nFix all invocations of 'nul_to_q' (defined in /t/test-lib-functions.sh) using\nthis pattern. There is one more occurrence of the pattern in t9010-svn-fe.sh\nwhich is too evolved to change it easily.\n\nAll remaining test code that does not adhere to the pattern can be found with\nthe following command:\ngit grep -E 'git.*[^|]\\|($|[^|])'\n\nHelped-by: Jeff King <peff@peff.net>\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/a0578e0382f453924fd2df8ea0402b90cd01f826"},{"sha":"132676478c808b5468cc47daccf5324055a81229","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"ref-filter: use string_list_split over strbuf_split\n\nWe don't do any post-processing on the resulting strbufs, so it is\nsimpler to just use string_list_split, which takes care of removing\nthe delimiter for us.\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/132676478c808b5468cc47daccf5324055a81229"},{"sha":"50cd83dca100174ba95baa9f6ed8426bce731ac2","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"ref-filter: bump 'used_atom' and related code to the top\n\nBump code to the top for usage in further patches.\n\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/50cd83dca100174ba95baa9f6ed8426bce731ac2"},{"sha":"b072add7fbcef19bd49d70fe9adad05b2374295e","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"ref-filter: introduce struct used_atom\n\nIntroduce the 'used_atom' structure to replace the existing\nimplementation of 'used_atom' (which is a list of atoms). This helps\nus parse atoms beforehand and store required details into the\n'used_atom' for future usage.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/b072add7fbcef19bd49d70fe9adad05b2374295e"},{"sha":"4de707ea4f61f9df7d2a76303df00caa5ec0899d","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"ref-filter: introduce parsing functions for each valid atom\n\nParsing atoms is done in populate_value(), this is repetitive and\nhence expensive. Introduce a parsing function which would let us parse\natoms beforehand and store the required details into the 'used_atom'\nstructure for further usage.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nHelped-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\nHelped-by: Andreas Schwab <schwab@linux-m68k.org>\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/4de707ea4f61f9df7d2a76303df00caa5ec0899d"},{"sha":"fd935cc7e8e2fdf7ad837dc74509c75877a489ba","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"ref-filter: introduce color_atom_parser()\n\nIntroduce color_atom_parser() which will parse a \"color\" atom and\nstore its color in the \"used_atom\" structure for further usage in\npopulate_value().\n\nHelped-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/fd935cc7e8e2fdf7ad837dc74509c75877a489ba"},{"sha":"25a8d79e00f7434676237dc11e8b661c41834650","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"ref-filter: introduce parse_align_position()\n\nExtract parse_align_position() from populate_value(), which, given a\nstring, would give us the alignment position. This is a preparatory\npatch as to introduce prefixes for the %(align) atom and avoid\nredundancy in the code.\n\nHelped-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Karthik Nayak <Karthik.188@gmail.com>\nReviewed-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/peff/git/commits/25a8d79e00f7434676237dc11e8b661c41834650"}]}