{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":9724653,"defaultBranch":"master","name":"git","ownerLogin":"jiangxin","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2013-04-28T03:10:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/183860?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713518324.0","currentOid":""},"activityList":{"items":[{"before":"48fb174928b46ce5bff2a16610be9521084406e9","after":"900af19275be71f0d541248809fd4118b8284c54","ref":"refs/heads/l10n/retire-teams","pushedAt":"2024-04-27T23:33:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"l10n: TEAMS: retire l10n teams no update in 1 year\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"l10n: TEAMS: retire l10n teams no update in 1 year"}},{"before":null,"after":"48fb174928b46ce5bff2a16610be9521084406e9","ref":"refs/heads/l10n/retire-teams","pushedAt":"2024-04-19T09:18:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"l10n: TEAMS: retire l10n teams no update in 1 year\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"l10n: TEAMS: retire l10n teams no update in 1 year"}},{"before":null,"after":"92059313eb109e5cf228f9de83aeb794cb78b74f","ref":"refs/heads/jx/l10n-zh_CN-proposed","pushedAt":"2024-02-16T14:22:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"l10n: zh_CN: for git 2.44 rnd2\n\nSigned-off-by: Teng Long ","shortMessageHtmlLink":"l10n: zh_CN: for git 2.44 rnd2"}},{"before":"6257ca794236a2fde40a2a20ca68ab53298820cd","after":"5c8025786056bff1531c0e21c1b802b23ce43198","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T04:04:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"DEBUG: wrong l10n translation to trigger comment\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"DEBUG: wrong l10n translation to trigger comment"}},{"before":"2d4c958d20f338ab13c7df55c853cb8bf453b618","after":"6257ca794236a2fde40a2a20ca68ab53298820cd","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:29:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"debug: ci: s/pull_request_target/pull_request/\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"debug: ci: s/pull_request_target/pull_request/"}},{"before":"0d18d4f7f20ef1d32be173754051867beabc4d2c","after":"2d4c958d20f338ab13c7df55c853cb8bf453b618","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:26:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"debug: ci: s/pull_request_target/pull_request/\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"debug: ci: s/pull_request_target/pull_request/"}},{"before":"c263b1cca12949fb6307da00540df0d528dab18a","after":"0d18d4f7f20ef1d32be173754051867beabc4d2c","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:21:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"debug: ci: s/pull_request_target/pull_request/\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"debug: ci: s/pull_request_target/pull_request/"}},{"before":"616d43b1164a49931286885289b853ebc30d81a1","after":"c263b1cca12949fb6307da00540df0d528dab18a","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:10:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"debug: ci: s/pull_request_target/pull_request/\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"debug: ci: s/pull_request_target/pull_request/"}},{"before":"2795226d1bc812dd8716071a13b143701a316945","after":"616d43b1164a49931286885289b853ebc30d81a1","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:06:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"bug: wrong translation to trigger comment\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"bug: wrong translation to trigger comment"}},{"before":null,"after":"2795226d1bc812dd8716071a13b143701a316945","ref":"refs/heads/jx/ci-remove-obsolete","pushedAt":"2024-02-16T03:02:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"l10n: ci: remove obsolte settings\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"l10n: ci: remove obsolte settings"}},{"before":null,"after":"dfa96493e1bc0c4e6be157d512098558d4c825cb","ref":"refs/heads/jx/diff-placeholders","pushedAt":"2024-02-14T05:22:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"diff: mark param1 and param2 as placeholders\n\nSome l10n translators translated the parameters \"files\", \"param1\" and\n\"param2\" in the following message:\n\n \"synonym for --dirstat=files,param1,param2...\"\n\nTranslating \"param1\" and \"param2\" is OK, but changing the parameter\n\"files\" is wrong. The parameters that are not meant to be used verbatim\nshould be marked as placeholders, but the verbatim parameter not marked\nas a placeholder should be left as is.\n\nThis change is a complement for commit 51e846e673 (doc: enforce\nplaceholders in documentation, 2023-12-25).\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"diff: mark param1 and param2 as placeholders"}},{"before":"e217ae61c84a60f45edfdc1144de0f2dd156937d","after":"18bc8753df47c7e3cbfa854ff91e927b003ce39f","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2024-01-22T04:10:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"transport-helper: call do_take_over() in process_connect\n\nThe existing pattern among all callers of process_connect() seems to be\n\n if (process_connect(...)) {\n do_take_over();\n ... dispatch to the underlying method ...\n }\n ... otherwise implement the fallback ...\n\nwhere the return value from process_connect() is the return value of the\ncall it makes to process_connect_service().\n\nMove the call of do_take_over() inside process_connect(), so that\ncalling the process_connect() function is more concise and will not\nmiss do_take_over().\n\nSuggested-by: Junio C Hamano \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"transport-helper: call do_take_over() in process_connect"}},{"before":"682501fed2386f4716a15849aa190ef0c510d8b4","after":"e217ae61c84a60f45edfdc1144de0f2dd156937d","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2024-01-16T11:43:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"transport-helper: call do_take_over() in connect_helper\n\nAfter successfully connecting to the smart transport by calling\nprocess_connect_service() in connect_helper(), run do_take_over() to\nreplace the old vtable with a new one which has methods ready for the\nsmart transport connection. This will fix the exit code of git-archive\nin test case \"archive remote http repository\" of t5003.\n\nThe connect_helper() function is used as the connect method of the\nvtable in \"transport-helper.c\", and it is called by transport_connect()\nin \"transport.c\" to setup a connection. The only place that we call\ntransport_connect() so far is in \"builtin/archive.c\". Without running\ndo_take_over(), it may fail to call transport_disconnect() in\nrun_remote_archiver() of \"builtin/archive.c\". This is because for a\nstateless connection and a service like \"git-upload-archive\", the\nremote helper may receive a SIGPIPE signal and exit early. To have a\ngraceful disconnect method by calling do_take_over() will solve this\nissue.\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"transport-helper: call do_take_over() in connect_helper"}},{"before":"e10fa198dd0ef86e5cb6d8e460a244e116e27379","after":"bc6eb9067efcf6d773e40d372ce99b9cd9705990","ref":"refs/heads/jx/fetch-atomic-error-message-fix","pushedAt":"2023-12-17T13:52:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"fetch: no redundant error message for atomic fetch\n\nIf an error occurs during an atomic fetch, a redundant error message\nwill appear at the end of do_fetch(). It was introduced in b3a804663c\n(fetch: make `--atomic` flag cover backfilling of tags, 2022-02-17).\n\nBecause a failure message is displayed before setting retcode in the\nfunction do_fetch(), calling error() on the err message at the end of\nthis function may result in redundant or empty error message to be\ndisplayed.\n\nWe can remove the redundant error() function, because we know that\nthe function ref_transaction_abort() never fails. While we can find a\ncommon pattern for calling ref_transaction_abort() by running command\n\"git grep -A1 ref_transaction_abort\", e.g.:\n\n if (ref_transaction_abort(transaction, &error))\n error(\"abort: %s\", error.buf);\n\nFollowing this pattern, we can tolerate the return value of the function\nref_transaction_abort() being changed in the future. We also delay the\noutput of the err message to the end of do_fetch() to reduce redundant\ncode. With these changes, the test case \"fetch porcelain output\n(atomic)\" in t5574 will also be fixed.\n\nHelped-by: Patrick Steinhardt \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"fetch: no redundant error message for atomic fetch"}},{"before":null,"after":"e10fa198dd0ef86e5cb6d8e460a244e116e27379","ref":"refs/heads/jx/fetch-atomic-error-message-fix","pushedAt":"2023-12-15T02:19:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"fetch: no redundant error message for atomic fetch\n\nIf an error occurs during an atomic fetch, a redundant error message\nwill appear at the end of do_fetch(). It was introduced in b3a804663c\n(fetch: make `--atomic` flag cover backfilling of tags, 2022-02-17).\n\nIn function do_fetch(), a failure message is already shown before the\nretcode is set, so we should not call additional error() at the end of\nthis function.\n\nWe can remove the redundant error() function, because we know that\nthe function ref_transaction_abort() never fails. While we can find a\ncommon pattern for calling ref_transaction_abort() by running command\n\"git grep -A1 ref_transaction_abort\", e.g.:\n\n if (ref_transaction_abort(transaction, &error))\n error(\"abort: %s\", error.buf);\n\nWe can fix this issue follow this pattern, and the test case \"fetch\nporcelain output (atomic)\" in t5574 will also be fixed. If in the future\nwe decide that we don't need to check the return value of the function\nref_transaction_abort(), this change can be fixed along with it.\n\nSigned-off-by: Jiang Xin \nSigned-off-by: Junio C Hamano ","shortMessageHtmlLink":"fetch: no redundant error message for atomic fetch"}},{"before":"eb905259feb2d3ea43c2f5df42f0757b7e971a56","after":"682501fed2386f4716a15849aa190ef0c510d8b4","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-12-15T02:18:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin \nSigned-off-by: Junio C Hamano ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}},{"before":"68ac3ea711ce2705a328e6b59c95c0ca884a7e6c","after":"0163e434236d879c9df1a4cfce77c7ce60cd92d0","ref":"refs/heads/jx/sideband-chomp-newline-fix","pushedAt":"2023-12-14T15:20:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"pkt-line: do not chomp newlines for sideband messages\n\nWhen calling \"packet_read_with_status()\" to parse pkt-line encoded\npackets, we can turn on the flag \"PACKET_READ_CHOMP_NEWLINE\" to chomp\nnewline character for each packet for better line matching. But when\nreceiving data and progress information using sideband, we should turn\noff the flag \"PACKET_READ_CHOMP_NEWLINE\" to prevent mangling newline\ncharacters from data and progress information.\n\nWhen both the server and the client support \"sideband-all\" capability,\nwe have a dilemma that newline characters in negotiation packets should\nbe removed, but the newline characters in the progress information\nshould be left intact.\n\nAdd new flag \"PACKET_READ_USE_SIDEBAND\" for \"packet_read_with_status()\"\nto prevent mangling newline characters in sideband messages.\n\nHelped-by: Jonathan Tan \nHelped-by: Oswald Buddenhagen \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"pkt-line: do not chomp newlines for sideband messages"}},{"before":"43b648458ad9f3af79ac218048b005abbc93d8df","after":"eb905259feb2d3ea43c2f5df42f0757b7e971a56","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-12-14T14:02:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}},{"before":"ebd65982747df4969057c26fa9fc05e90b0e42fe","after":"43b648458ad9f3af79ac218048b005abbc93d8df","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-12-14T13:45:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}},{"before":"a38ac182d6895f83fd6b92995ea08c5473ca24bb","after":"ebd65982747df4969057c26fa9fc05e90b0e42fe","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-12-14T12:36:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin \nSigned-off-by: Junio C Hamano ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}},{"before":null,"after":"94f28b69100886396f58474ca4ec89cca1836d6f","ref":"refs/heads/jx/fetch-ref-transaction-abort","pushedAt":"2023-10-19T09:59:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"fetch: no redundant empty error message for atomic fetch\n\ndiff --git a/builtin/fetch.c b/builtin/fetch.c\nindex fd134ba74d..01a573cf8d 100644\n--- a/builtin/fetch.c\n+++ b/builtin/fetch.c\n@@ -1775,10 +1775,8 @@ static int do_fetch(struct transport *transport,\n \t}\n\n cleanup:\n-\tif (retcode && transaction) {\n-\t\tref_transaction_abort(transaction, &err);\n+\tif (retcode && transaction && ref_transaction_abort(transaction, &err))\n \t\terror(\"%s\", err.buf);\n-\t}\n\n \tdisplay_state_release(&display_state);\n \tclose_fetch_head(&fetch_head);\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"fetch: no redundant empty error message for atomic fetch"}},{"before":"9dfbccf54f6421aaff968d81a5a625001448c822","after":"983528fa344dc33600bfb8537d48e0b262074dfd","ref":"refs/heads/ci/linux-2.41-base-line","pushedAt":"2023-10-09T08:59:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"info-dir: fake path of agit info-dir in Developer mode\n\nGit introduced variable \"TEST_CREATE_REPO_NO_TEMPLATE=1\" in test cases\nto turn off the creation of \"info\" dir automatically for git repository.\nAnd these test cases always have a \"mkdir info\" command to create\n\".git/info\" dir. But some of our patches break git test cases. This is\nbecause our patches may create files, such as \".git/info/checksum\"\nautomatically, which will create \".git/info\" directory unexpected.\nIn order to make these test cases to work, we used to change the\n\"mkdir info\" command in test test cases to \"mkdir -p info\" to ignore\nthe info dir created automatically by us.\n\nNow we have a simpler solution by introducing a new function\nget_agit_info_dir() to get the name of the info dir we want to use.\nIn git normal test cases, we will define the env GIT_TEST_AGIT_INFO_DIR\nto dir other than \"info\", such as \"agit-info\", so our patches will\nwrite files in \".git/agit-info\", which will not creating \".git/info\"\ndir automatically. We must not define \"GIT_TEST_AGIT_INFO_DIR\" for\nnormal use, otherwize some programs which depends the \"info\" dir may\nbreak.\n\nCompile git with env GIT_TEST_AGIT_INFO_DIR=1 to enable this hack,\nand this hack only works with DEVELOPER mode.\n\n $ make DEVELOPER=1 GIT_TEST_AGIT_INFO_DIR=1\n\nand run git with env GIT_TEST_AGIT_INFO_DIR to save agit info files\ninto .git//:\n\n $ env GIT_TEST_AGIT_INFO_DIR=agit-info git ...\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"info-dir: fake path of agit info-dir in Developer mode"}},{"before":null,"after":"9dfbccf54f6421aaff968d81a5a625001448c822","ref":"refs/heads/ci/linux-2.41-base-line","pushedAt":"2023-10-08T10:48:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"env: get customizable info dir from env GIT_TEST_AGIT_INFO_DIR\n\nGit introduced variable \"TEST_CREATE_REPO_NO_TEMPLATE=1\" in test cases\nto turn off the creation of \"info\" dir automatically for git repository.\nAnd these test cases always have a \"mkdir info\" command to create\n\".git/info\" dir. But some of our patches break git test cases. This is\nbecause our patches may create files, such as \".git/info/checksum\"\nautomatically, which will create \".git/info\" directory unexpected.\nIn order to make these test cases to work, we used to change the\n\"mkdir info\" command in test test cases to \"mkdir -p info\" to ignore\nthe info dir created automatically by us.\n\nNow we have a simpler solution by introducing a new function\nget_agit_info_dir() to get the name of the info dir we want to use.\nIn git normal test cases, we will define the env GIT_TEST_AGIT_INFO_DIR\nto dir other than \"info\", such as \"agit-info\", so our patches will\nwrite files in \".git/agit-info\", which will not creating \".git/info\"\ndir automatically. We must not define \"GIT_TEST_AGIT_INFO_DIR\" for\nnormal use, otherwize some programs which depends the \"info\" dir may\nbreak.\n\nCompile git with env GIT_TEST_AGIT_INFO_DIR=1 to enable this hack,\nand this hack only works with DEVELOPER mode.\n\n $ make DEVELOPER=1 GIT_TEST_AGIT_INFO_DIR=1\n\nand run git with env GIT_TEST_AGIT_INFO_DIR to save agit info files\ninto .git//:\n\n $ env GIT_TEST_AGIT_INFO_DIR=agit-info git ...\n\nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"env: get customizable info dir from env GIT_TEST_AGIT_INFO_DIR"}},{"before":null,"after":"9f9ea8f0a984bf6b5e70c1973061e651f5d24a1e","ref":"refs/heads/ci/linux-2.41-with-header-split","pushedAt":"2023-10-08T09:24:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"fsmonitor-ll.h: split this header out of fsmonitor.h\n\nThis creates a new fsmonitor-ll.h with most of the functions from\nfsmonitor.h, though it leaves three inline functions where they were.\nTwo-thirds of the files that previously included fsmonitor.h did not\nneed those three inline functions or the six extra includes those inline\nfunctions required, so this allows them to only include the lower level\nheader.\n\nDiff best viewed with `--color-moved`.\n\nSigned-off-by: Elijah Newren \nSigned-off-by: Junio C Hamano ","shortMessageHtmlLink":"fsmonitor-ll.h: split this header out of fsmonitor.h"}},{"before":"8f74499d1093685ef0ed35009985fca41e156ed7","after":null,"ref":"refs/heads/topic/upload-pack-proxy","pushedAt":"2023-10-07T01:14:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"}},{"before":null,"after":"8f74499d1093685ef0ed35009985fca41e156ed7","ref":"refs/heads/topic/upload-pack-proxy","pushedAt":"2023-10-07T01:13:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"upload-pack-proxy: synchronize multiple fetch use file\n\nSave \"git-fetch\" progress to a lock file, and other process show\nprogress by consuming it.\n\nSigned-off-by: Wu Fan \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"upload-pack-proxy: synchronize multiple fetch use file"}},{"before":"fd6d61893d37051b6c9ee547e2e408d75450d217","after":"68ac3ea711ce2705a328e6b59c95c0ca884a7e6c","ref":"refs/heads/jx/sideband-chomp-newline-fix","pushedAt":"2023-10-04T15:09:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"pkt-line: do not chomp newlines for sideband messages\n\nWhen calling \"packet_read_with_status()\" to parse pkt-line encoded\npackets, we can turn on the flag \"PACKET_READ_CHOMP_NEWLINE\" to chomp\nnewline character for each packet for better line matching. But when\nreceiving data and progress information using sideband, we should turn\noff the flag \"PACKET_READ_CHOMP_NEWLINE\" to prevent mangling newline\ncharacters from data and progress information.\n\nWhen both the server and the client support \"sideband-all\" capability,\nwe have a dilemma that newline characters in negotiation packets should\nbe removed, but the newline characters in the progress information\nshould be left intact.\n\nAdd new flag \"PACKET_READ_USE_SIDEBAND\" for \"packet_read_with_status()\"\nto prevent mangling newline characters in sideband messages.\n\nHelped-by: Jonathan Tan \nHelped-by: Oswald Buddenhagen \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"pkt-line: do not chomp newlines for sideband messages"}},{"before":"77875e5f878df81b2f8190be67dce795b4c0276f","after":"a38ac182d6895f83fd6b92995ea08c5473ca24bb","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-10-04T15:09:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}},{"before":"77875e5f878df81b2f8190be67dce795b4c0276f","after":null,"ref":"refs/heads/jx/remote-archive","pushedAt":"2023-09-30T04:13:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"}},{"before":null,"after":"77875e5f878df81b2f8190be67dce795b4c0276f","ref":"refs/heads/jx/remote-archive-over-smart-http","pushedAt":"2023-09-30T04:13:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jiangxin","name":"Jiang Xin","path":"/jiangxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/183860?s=80&v=4"},"commit":{"message":"archive: support remote archive from stateless transport\n\nEven though we can establish a stateless connection, we still cannot\narchive the remote repository using a stateless HTTP protocol. Try the\nfollowing steps to make it work.\n\n 1. Add support for \"git-upload-archive\" service in \"http-backend\".\n\n 2. Use the URL \".../info/refs?service=git-upload-pack\" to detect the\n protocol version, instead of use the \"git-upload-archive\" service.\n\n 3. \"git-archive\" does not expect to see protocol version and\n capabilities when connecting to remote-helper, so do not send them\n in \"remote-curl.c\" for the \"git-upload-archive\" service.\n\nHelped-by: Eric Sunshine \nSigned-off-by: Jiang Xin ","shortMessageHtmlLink":"archive: support remote archive from stateless transport"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPAgagQA","startCursor":null,"endCursor":null}},"title":"Activity ยท jiangxin/git"}