{"push_id":765738532,"size":35,"distinct_size":30,"ref":"refs/heads/lars/fix-paths-on-git-p4-import","head":"14a3e5898e6d3415b79a501bec16cdc1b3152589","before":"22edc5775eea18833ae65fd10d183c1470efe934","commits":[{"sha":"d95138e695d99d32dcad528a2a7974f434c51e79","author":{"email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com","name":"Nguyễn Thái Ngọc Duy"},"message":"setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR\n\nIn the test case, we run setup_git_dir_gently() the first time to read\n$GIT_DIR/config so that we can resolve aliases. We'll enter\nsetup_discovered_git_dir() and may or may not call set_git_dir() near\nthe end of the function, depending on whether the detected git dir is\n\".git\" or not. This set_git_dir() will set env var $GIT_DIR.\n\nFor normal repo, git dir detected via setup_discovered_git_dir() will be\n\".git\", and set_git_dir() is not called. If .git file is used however,\nthe git dir can't be \".git\" and set_git_dir() is called and $GIT_DIR\nset. This is the key of this problem.\n\nIf we expand an alias (or autocorrect command names), then\nsetup_git_dir_gently() is run the second time. If $GIT_DIR is not set in\nthe first run, we run the same setup_discovered_git_dir() as before.\nNothing to see. If it is, however, we'll enter setup_explicit_git_dir()\nthis time.\n\nThis is where the \"fun\" is.  If $GIT_WORK_TREE is not set but\n$GIT_DIR is, you are supposed to be at the root level of the\nworktree.  But if you are in a subdir \"foo/bar\" (real worktree's top\nis \"foo\"), this rule bites you: your detected worktree is now\n\"foo/bar\", even though the first run correctly detected worktree as\n\"foo\". You get \"internal error: work tree has already been set\" as a\nresult.\n\nBottom line is, when $GIT_DIR is set, $GIT_WORK_TREE should be set too\nunless there's no work tree. But setting $GIT_WORK_TREE inside\nset_git_dir() may backfire. We don't know at that point if work tree is\nalready configured by the caller. So set it when work tree is\ndetected. It does not harm if $GIT_WORK_TREE is set while $GIT_DIR is\nnot.\n\nReported-by: Bjørnar Snoksrud <snoksrud@gmail.com>\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/larsxschneider/git/commits/d95138e695d99d32dcad528a2a7974f434c51e79"},{"sha":"35813042ef7e8afd275f41f790d68d32906766cb","author":{"email":"f21e23168db91f2bd3ec812184a2ac51d05a196a@gmail.com","name":"Karthik Nayak"},"message":"Documentation/tag: remove double occurance of \"<pattern>\"\n\nMentored-by: Christian Couder <christian.couder@gmail.com>\nMentored-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>\nSigned-off-by: Karthik Nayak <karthik.188@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/larsxschneider/git/commits/35813042ef7e8afd275f41f790d68d32906766cb"},{"sha":"f30301657b68561392d910f6196380dd3976549e","author":{"email":"72edad89f3f15b07e32e59465380e10a32282f40@eps.ch","name":"Simon A. Eugster"},"message":"checkout: document subtlety around --ours/--theirs\n\nDuring a 'rebase' (hence 'pull --rebase'), --ours/--theirs may\nappear to be swapped to those who are not aware of the fact that\nthey are temporarily playing the role of the keeper of the more\nauthoritative history.\n\nAdd a note to clarify.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Simon A. Eugster <simon.eugster@eps.ch>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/larsxschneider/git/commits/f30301657b68561392d910f6196380dd3976549e"},{"sha":"0df3245721580a3d48c9766a311dd0e3367844b8","author":{"email":"9904419133015298990973ad253a390ae1d3133a@glandium.org","name":"Mike Hommey"},"message":"fast-import: do less work when given \"from\" matches current branch head\n\nWhen building a fast-import stream, it's easy to forget the fact\nthat for non-merge commits happening on top of the current branch\nhead, there is no need for a \"from\" command. That is corroborated by\nthe fact that at least git-p4, hg-fast-export and felipec's\ngit-remote-hg all unconditionally use a \"from\" command.\n\nUnfortunately, giving a \"from\" command always resets the branch\ntree, forcing it to be re-read, and in many cases, the pack is also\nclosed and reopened through gfi_unpack_entry.  Both are unnecessary\noverhead, and the latter is particularly slow at least on OSX.\n\nAvoid resetting the tree when it's unmodified, and avoid calling\ngfi_unpack_entry when the given mark points to the same commit as\nthe current branch head.\n\nSigned-off-by: Mike Hommey <mh@glandium.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/larsxschneider/git/commits/0df3245721580a3d48c9766a311dd0e3367844b8"},{"sha":"2d893dff4c3c49750557da7a1701b46c1fe95844","author":{"email":"db6c03a4ecc382e80fea1976e4cf8e5a8f985dcc@gmail.com","name":"Ilya Bobyr"},"message":"rev-parse --parseopt: allow [*=?!] in argument hints\n\nA line in the input to \"rev-parse --parseopt\" describes an option by\nlisting a short and/or long name, optional flags [*=?!], argument hint,\nand then whitespace and help string.\n\nWe did not allow any of the [*=?!] characters in the argument hints.\nThe following input\n\n    pair=key=value  equals sign in the hint\n\nused to generate a help line like this:\n\n    --pair=key <value>   equals sign in the hint\n\nand used to expect \"pair=key\" as the argument name.\n\nThat is not very helpful as we generally do not want any of the [*=?!]\ncharacters in the argument names.  But we do want to use at least the\nequals sign in the argument hints.\n\nUpdate the parser to make long argument names stop at the first [*=?!]\ncharacter.\n\nAdd test case with equals sign in the argument hint and update the test\nto perform all the operations in test_expect_success matching the\nt/README requirements and allowing commands like\n\n    ./t1502-rev-parse-parseopt.sh --run=1-2\n\nto stop at the test case 2 without any further modification of the test\nstate area.\n\nSigned-off-by: Ilya Bobyr <ilya.bobyr@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/larsxschneider/git/commits/2d893dff4c3c49750557da7a1701b46c1fe95844"},{"sha":"100e433741715968b815e4b9fb3e638b625bf472","author":{"email":"3f465f92b896a0cffa56d66f3cf7f14fc3025706@bloomberg.net","name":"Charles Bailey"},"message":"untracked: fix detection of uname(2) failure\n\nAccording to POSIX specification uname(2) must return -1 on failure\nand a non-negative value on success.  Although many implementations\ndo return 0 on success it is valid to return any positive value for\nsuccess.  In particular, Solaris returns 1.\n\nSigned-off-by: Charles Bailey <cbailey32@bloomberg.net>\nReviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/100e433741715968b815e4b9fb3e638b625bf472"},{"sha":"7d782416cb5176d93a073bee8048163db544c80f","author":{"email":"a13b1135e6f2f8530e85bc2896cd5ed89a6ed863@twopensource.com","name":"David Turner"},"message":"unpack-trees: don't update files with CE_WT_REMOVE set\n\nDon't update files in the worktree from cache entries which are\nflagged with CE_WT_REMOVE.\n\nWhen a user does a sparse checkout, git removes files that are\nmarked with CE_WT_REMOVE (because they are out-of-scope for the\nsparse checkout). If those files are also marked CE_UPDATE (for\ninstance, because they differ in the branch that is being checked\nout and the outgoing branch), git would previously recreate them.\nThis patch prevents them from being recreated.\n\nThese erroneously-created files would also interfere with merges,\ncausing pre-merge revisions of out-of-scope files to appear in the\nworktree.\n\napply_sparse_checkout() is the function where all \"action\"\nmanipulation (add, delete, update files..) for sparse checkout\noccurs; it should not ask to delete and update both at the same\ntime.\n\nSigned-off-by: Anatole Shaw <git-devel@omni.poc.net>\nSigned-off-by: David Turner <dturner@twopensource.com>\nHelped-by: Duy Nguyen <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/7d782416cb5176d93a073bee8048163db544c80f"},{"sha":"d830d395a17a146cfef2aae1c3603907fe3c890b","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"builtin/send-pack.c: respect user.signingkey\n\nWhen git-send-pack is exec'ed, as is done by git-remote-http, it\ndoes not read the config, and configured value of user.signingkey is\nignored. Thus it was impossible to specify a signing key over HTTP,\nother than the default key in the keyring having a User ID matching\nthe \"Name <email>\" format.\n\nThis patch at least partially fixes the problem by reading in the GPG\nconfig from within send-pack. It does not address the related problem\nof plumbing a value for this configuration option using\n`git -c user.signingkey push ...`.\n\nSigned-off-by: Dave Borowitz <dborowitz@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/d830d395a17a146cfef2aae1c3603907fe3c890b"},{"sha":"b112b14d7869bf3c000abb84cd22e57dd811d031","author":{"email":"61b5e6324abee2d58ba2cf49f31c723faf6fd946@gmail.com","name":"Jiang Xin"},"message":"receive-pack: crash when checking with non-exist HEAD\n\nIf HEAD of a repository points to a conflict reference, such as:\n\n* There exist a reference named 'refs/heads/jx/feature1', but HEAD\n  points to 'refs/heads/jx', or\n\n* There exist a reference named 'refs/heads/feature', but HEAD points\n  to 'refs/heads/feature/bad'.\n\nWhen we push to delete a reference for this repo, such as:\n\n        git push /path/to/bad-head-repo.git :some/good/reference\n\nThe git-receive-pack process will crash.\n\nThis is because if HEAD points to a conflict reference, the function\n`resolve_refdup(\"HEAD\", ...)` does not return a valid reference name,\nbut a null buffer.  Later matching the delete reference against the null\nbuffer will cause git-receive-pack crash.\n\nSigned-off-by: Jiang Xin <worldhello.net@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/b112b14d7869bf3c000abb84cd22e57dd811d031"},{"sha":"e7aac44ed276bc0de0253baa8e3f5ac247044a31","author":{"email":"9de348c050f7cd1ca590883733c4e531ce610bf4@gmail.com","name":"David Aguilar"},"message":"contrib/subtree: ignore log.date configuration\n\ngit-subtree's log format string uses \"%ad\" and \"%cd\", which\nrespect the user's configured log.date value.\n\nThis is problematic for git-subtree because it needs to use real\ndates so that copied commits come through unchanged.\n\nAdd a test and tweak the format strings to use %aD and %cD\nso that the default date format is used instead.\n\nReported-by: Bryan Jacobs <b@q3q.us>\nSigned-off-by: David Aguilar <davvid@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/e7aac44ed276bc0de0253baa8e3f5ac247044a31"},{"sha":"f25b98e6f88cc19a749b6bf71306d1cc804a7bf4","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"Documentation/git: drop outdated Cogito reference\n\nCogito hasn't been maintained since late 2006, so drop the reference\nto it. The warning that SCMS front-ends might override listed\nenvironment variables, however, may still be valuable, so keep it but\ngeneralize the wording.\n\nSuggested-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/f25b98e6f88cc19a749b6bf71306d1cc804a7bf4"},{"sha":"da4c5adae95558c314eef41c1520f5ded08e221b","author":{"email":"b96f12d19241f1371541468c8d1241e042cc5b4c@arcor.de","name":"Thomas Ackermann"},"message":"typofix for index-format.txt\n\nSigned-off-by: Thomas Ackermann <th.acker@arcor.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/da4c5adae95558c314eef41c1520f5ded08e221b"},{"sha":"fd8c620cd9d80fe1276745a80efcdac929e2aa6d","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"Documentation/git-tools: improve discoverability of Git wiki\n\nThese days, the best way to find Git-related tools is via a search\nengine. The Git wiki may be a distant second, and git-tools.txt falls in\nlast place. Therefore, promote the Git wiki reference to the top of\ngit-tools.txt so the reader will encounter it first, rather than hiding\nit away at the very bottom.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/fd8c620cd9d80fe1276745a80efcdac929e2aa6d"},{"sha":"e810f93977e7edfbe0d1574dc8b303bebd0329a4","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"Documentation/git-tools: fix item text formatting\n\nDescriptive text for each tool item is incorrectly formatted using a\nfixed width font. Fix formatting to use a variable width font by\nunindenting the item text.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/e810f93977e7edfbe0d1574dc8b303bebd0329a4"},{"sha":"dd7961c0fba87a445c4807d089594a82a1a323e9","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"Documentation/git-tools: drop references to defunct tools\n\nCogito -- unmaintained since late 2006[1]\npg -- URL dead; web searches reveal no information\nquilt2git -- URL dead; web searches reveal no information\n(h)gct -- URL dead; no repository activity since 2007[2]\n\n[1]: http://git.or.cz/cogito/\n[2]: http://repo.or.cz/w/hgct.git\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/dd7961c0fba87a445c4807d089594a82a1a323e9"},{"sha":"1c601af25a1d182420da11d20bc8862823e47012","author":{"email":"8d6e34f987851aa599257d3831a1af040886842f@sunshineco.com","name":"Eric Sunshine"},"message":"Documentation/git-tools: retire manually-maintained list\n\nWhen Git was young, people looking for third-party Git-related tools\ncame to the Git project itself to find them, so it made sense to\nmaintain a list of tools here. These days, however, search engines fill\nthat role much more efficiently, so retire the manually-maintained\nlist.\n\nThe list of front-ends and tools on the Git wiki rates perhaps a distant\nsecond to search engines, and may still have value, so retain a\nreference to it.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/1c601af25a1d182420da11d20bc8862823e47012"},{"sha":"14691e382774d459d0103feb57c07a58f9221e4a","author":{"email":"a7f3b1612c245dae606b3b9617b4f52187fddb65@google.com","name":"Stefan Beller"},"message":"parse-options: align curly braces for all options\n\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/14691e382774d459d0103feb57c07a58f9221e4a"},{"sha":"45abdee662186daa43e8ead8a8d0bcfaed5fa73d","author":{"email":"a7f3b1612c245dae606b3b9617b4f52187fddb65@google.com","name":"Stefan Beller"},"message":"add: remove dead code\n\nSigned-off-by: Stefan Beller <sbeller@google.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/45abdee662186daa43e8ead8a8d0bcfaed5fa73d"},{"sha":"5a30374a29a4ee9725d6ea165ead19a748eaed4c","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'da/subtree-date-confusion' into maint\n\n\"git subtree\" (in contrib/) depended on \"git log\" output to be\nstable, which was a no-no.  Apply a workaround to force a\nparticular date format.\n\n* da/subtree-date-confusion:\n  contrib/subtree: ignore log.date configuration","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/5a30374a29a4ee9725d6ea165ead19a748eaed4c"},{"sha":"17850efa5f5c471f622d860e8ebd9f28de3c388e","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'jx/do-not-crash-receive-pack-wo-head' into maint\n\nAn attempt to delete a ref by pushing into a repositorywhose HEAD\nsymbolic reference points at an unborn branch that cannot be\ncreated due to ref D/F conflict (e.g. refs/heads/a/b exists, HEAD\npoints at refs/heads/a) failed.\n\n* jx/do-not-crash-receive-pack-wo-head:\n  receive-pack: crash when checking with non-exist HEAD","distinct":true,"url":"https://api.github.com/repos/larsxschneider/git/commits/17850efa5f5c471f622d860e8ebd9f28de3c388e"}]}