{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":47751782,"defaultBranch":"main","name":"git-repo","ownerLogin":"GerritCodeReview","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-12-10T09:33:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/7028910?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717220926.0","currentOid":""},"activityList":{"items":[{"before":"eede374e3ec446d5f03c12a886efcb2d8f946917","after":"562cea77580d5f217be73f21757c7d5b32d2d11f","ref":"refs/heads/main","pushedAt":"2024-05-23T14:48:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"sync: Abort rebase in progress if force-checkout is set\n\nThis will make \"repo sync -d --force-checkout\" more reliable\nin CI automation, as there are fewer things in the way that may\nneed manual intervention.\n\nBug: b/40015382\nChange-Id: I8a79971724a3d9a8e2d682b7a0c04deda9e34177\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/423317\nReviewed-by: Mike Frysinger \nTested-by: Erik Elmeke \nCommit-Queue: Erik Elmeke ","shortMessageHtmlLink":"sync: Abort rebase in progress if force-checkout is set"}},{"before":"2c5fb84d357d9df797b9186b4dc711cf723cb535","after":"eede374e3ec446d5f03c12a886efcb2d8f946917","ref":"refs/heads/main","pushedAt":"2024-05-16T13:49:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"ssh: Set git protocol version 2 on SSH ControlMaster\n\nAccording to https://git-scm.com/docs/protocol-v2#_ssh_and_file_transport,\nwhen using SSH, the environment variable GIT_PROTOCOL must be set\nwhen establishing the connection to the git server.\n\nNormally git does this by itself. But in repo-tool where the SSH\nconnection is managed by the repo-tool, it must be passed in\nexplicitly instead.\n\nUnder some circumstances of environment configuration, this\ncaused all repo sync commands over ssh to always use\ngit protocol version 1. Even when git was configured to use\nversion 2.\n\nUsing git protocol v2 can significantly improve fetch speeds,\nsince it uses server side filtering of refs, reducing the\namount of unneccessary objects to send.\n\nChange-Id: I6d4c3b7300a6090d707480b1a638ed03622fa71a\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/411362\nTested-by: Erik Elmeke \nReviewed-by: Mike Frysinger \nCommit-Queue: Erik Elmeke ","shortMessageHtmlLink":"ssh: Set git protocol version 2 on SSH ControlMaster"}},{"before":"12f6dc49e9827e51f0deff5730e734ead52acf71","after":"2c5fb84d357d9df797b9186b4dc711cf723cb535","ref":"refs/heads/main","pushedAt":"2024-05-14T02:48:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"upload: drop check for uncommitted local changes\n\ngit push, like most git commands, does not warn or otherwise prompt\nusers when there are local uncommitted changes. To simplify the\nupload logic, and to harmonize repo upload with git push as a more\ngit-esque flow, stop checking/warning/prompting the user here too.\n\nChange-Id: Iee18132f0faad0881f1a796cb58821328e04b694\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/425337\nReviewed-by: Josip Sokcevic \nTested-by: Mike Frysinger \nCommit-Queue: Mike Frysinger ","shortMessageHtmlLink":"upload: drop check for uncommitted local changes"}},{"before":"5591d99ee239be9116f4879bfea4a538b0b89e9c","after":"12f6dc49e9827e51f0deff5730e734ead52acf71","ref":"refs/heads/main","pushedAt":"2024-05-01T15:48:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"git: raise hard version to 1.9.1\n\nDebian 7 Wheezy went EOL in May 2018. We don't need to carry support\nfor that anymore as there have been 5 major releases since. Ubuntu\nPrecise went EOL in Apr 2019 (including the extended support phase).\nThat means we can bump the required git version from 1.7.9 to 1.9.1.\n\ngit-1.7.9 was released in 2012 while git-1.9.1 was released in 2014.\nSo that shouldn't be a problem either. And we've been warning people\nusing git versions older than 1.9.1 for 3 years now that they need to\nupgrade.\n\nChange-Id: Ifbbf72f51010b0a944c2785895d1b605333f9146\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415637\nReviewed-by: Josip Sokcevic \nTested-by: Mike Frysinger \nCommit-Queue: Mike Frysinger ","shortMessageHtmlLink":"git: raise hard version to 1.9.1"}},{"before":"9d865454aaf0ea41927332768e55b5b2f56e2533","after":"5591d99ee239be9116f4879bfea4a538b0b89e9c","ref":"refs/heads/main","pushedAt":"2024-04-23T18:48:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"release: update-hooks: helper for automatically syncing hooks\n\nThese hooks are maintained in other projects. Add a script to automate\ntheir import so people don't send us changes directly, and we can try to\nsteer them to the correct place.\n\nChange-Id: Iac0bdb3aae84dda43a1600e73107555b513ce82b\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/422177\nCommit-Queue: Mike Frysinger \nTested-by: Mike Frysinger \nReviewed-by: Josip Sokcevic ","shortMessageHtmlLink":"release: update-hooks: helper for automatically syncing hooks"}},{"before":"46819a78a1b34f30edba209e15d9922f84f11c09","after":"9d865454aaf0ea41927332768e55b5b2f56e2533","ref":"refs/heads/main","pushedAt":"2024-04-18T02:48:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"gitc: delete a few more dead references\n\nChange-Id: I1da6f2ee799c735a63ac3ca6e5abd1211af10433\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/419217\nReviewed-by: Josip Sokcevic \nTested-by: Mike Frysinger \nCommit-Queue: Mike Frysinger ","shortMessageHtmlLink":"gitc: delete a few more dead references"}},{"before":"159389f0da91e893962923f4aca951f8e6d9a451","after":"46819a78a1b34f30edba209e15d9922f84f11c09","ref":"refs/heads/main","pushedAt":"2024-03-27T17:49:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"Remove platform_utils.realpath\n\n... since it's just a simple wrapper of os.path.realpath now.\n\nChange-Id: I7433e5fe09c64b130f06e2541151dce1961772c9\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/416637\nTested-by: Kaiyi Li \nReviewed-by: Greg Edelston \nCommit-Queue: Kaiyi Li ","shortMessageHtmlLink":"Remove platform_utils.realpath"}},{"before":"4406642e20d2b984631e6099664058013095ce49","after":"159389f0da91e893962923f4aca951f8e6d9a451","ref":"refs/heads/main","pushedAt":"2024-03-27T14:49:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"Fix drive mounted directory on Windows\n\nOn my Windows machine, I mount drive D: to the directory C:\\src.\n\nThe old implementation returns the incorrect 'C:\\\\??\\\\Volume{ad2eb15e-f293-4d48-a448-54757d95a97c}' result, which breaks the repo init command.\n\nWith the use of os.path.realpath, it can return 'D:\\\\' correctly.\n\nChange-Id: Ia5f53989055125cb282d4123cf55d060718aa1ff\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/416580\nReviewed-by: Greg Edelston \nTested-by: Kaiyi Li \nCommit-Queue: Kaiyi Li ","shortMessageHtmlLink":"Fix drive mounted directory on Windows"}},{"before":"73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed","after":"4406642e20d2b984631e6099664058013095ce49","ref":"refs/heads/main","pushedAt":"2024-03-21T21:49:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"git_command: unify soft/hard versions with requirements.json\n\nUse the requirements logic in the wrapper to load versions out of the\nrequirements.json file to avoid duplicating them in git_command.py.\n\nChange-Id: Ib479049fc54ebc6f52c2c30d1315cf1734ff1990\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415617\nReviewed-by: Josip Sokcevic \nCommit-Queue: Mike Frysinger \nTested-by: Mike Frysinger ","shortMessageHtmlLink":"git_command: unify soft/hard versions with requirements.json"}},{"before":"fff1d2d74c2078b62cc9c2561330e41a842dc197","after":"73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed","ref":"refs/heads/stable","pushedAt":"2024-03-21T20:51:55.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"project: Check if dotgit exists w/out symlink check\n\nos.path.exists returns false on a broken symlink. This is not what repo\nneeds when checking if a project is setup properly.\n\nFor example, if src/foo/.git can't be resolved, repo tries to create\nsymlink and that results in FileExistsError.\n\nUse lexists which returns True even if symlink is broken. That will\nforce path where repo checks where symlink is pointing to and will fix\nit to the correct location.\n\nBug: b/281746795\nChange-Id: Id3f7dc3a3cb6499d02ce7335eca992ddc7deb645\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415197\nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic \nReviewed-by: George Engelbrecht \nReviewed-by: Greg Edelston ","shortMessageHtmlLink":"project: Check if dotgit exists w/out symlink check"}},{"before":"09fc214a7966a982ab837aedd010e3732c5ed7d1","after":"73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed","ref":"refs/heads/main","pushedAt":"2024-03-20T22:49:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"project: Check if dotgit exists w/out symlink check\n\nos.path.exists returns false on a broken symlink. This is not what repo\nneeds when checking if a project is setup properly.\n\nFor example, if src/foo/.git can't be resolved, repo tries to create\nsymlink and that results in FileExistsError.\n\nUse lexists which returns True even if symlink is broken. That will\nforce path where repo checks where symlink is pointing to and will fix\nit to the correct location.\n\nBug: b/281746795\nChange-Id: Id3f7dc3a3cb6499d02ce7335eca992ddc7deb645\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415197\nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic \nReviewed-by: George Engelbrecht \nReviewed-by: Greg Edelston ","shortMessageHtmlLink":"project: Check if dotgit exists w/out symlink check"}},{"before":"3762b17e983e8c910d9aaa6f010c2a7eb9b97695","after":"09fc214a7966a982ab837aedd010e3732c5ed7d1","ref":"refs/heads/main","pushedAt":"2024-03-20T21:49:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"git: raise soft version to 2.7.4\n\ngit-1.9.1 was released in 2014 while git-2.7.4 was released in 2016.\nDebian Stretch was released in 2017 and Ubuntu Xenial was released in\n2016 which are plenty old at this point. Both of those include at\nleast git-2.7.4.\n\nWe will start warning users of Debian Jessie (released in 2015 & EOL\nin 2020) and Ubuntu Trusty (released in 2014 & EOL Apr 2024) that\nthey will need to upgrade.\n\nChange-Id: I6be3809bc45968fdcb02cad3f7daf75ded1bb5b1\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415137\nTested-by: Mike Frysinger \nReviewed-by: Josip Sokcevic \nCommit-Queue: Mike Frysinger ","shortMessageHtmlLink":"git: raise soft version to 2.7.4"}},{"before":"a3a73726129f7aa9cc12bbdc1f01700189936284","after":"3762b17e983e8c910d9aaa6f010c2a7eb9b97695","ref":"refs/heads/main","pushedAt":"2024-03-20T20:04:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"git: raise hard version to 1.7.9\n\nDebian 6 Squeeze went EOL in Feb 2016. We don't need to carry support\nfor that anymore as there have been 6 major releases since. That means\nwe can bump the required git version from 1.7.2 to 1.7.9. Ubuntu Precise\nshipped with the latter.\n\ngit-1.7.2 was released in 2010 while git-1.7.9 was released in 2012.\nSo that shouldn't be a problem either. And we've been warning people\nusing git versions older than 1.9.1 for 3 years now that they need to\nupgrade.\n\nChange-Id: I7712f110ea158297b489b8379b112c6700b21a46\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415097\nReviewed-by: Josip Sokcevic \nTested-by: Mike Frysinger \nCommit-Queue: Mike Frysinger ","shortMessageHtmlLink":"git: raise hard version to 1.7.9"}},{"before":"fff1d2d74c2078b62cc9c2561330e41a842dc197","after":"a3a73726129f7aa9cc12bbdc1f01700189936284","ref":"refs/heads/main","pushedAt":"2024-03-15T19:48:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"main: Stringify project name in error_info\n\nIf a project can't be removed from checkout due to uncommitted changes\npresent, error.project is type of Project and not a string (as it is in\nsome cases). Project is not JSON serializable, resulting in exception\nwithin exception handler:\n\nTypeError: Object of type Project is not JSON serializable\n\nThis change casts project to string as a defensive mechanism. It also\npasses project name instead of project object.\n\nChange-Id: Ie7b782d73dc3647975755d5a3774d16ea6cd5348\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/413877\nTested-by: Josip Sokcevic \nReviewed-by: Gavin Mak \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"main: Stringify project name in error_info"}},{"before":"5554572f02537b8646139d59ab520e59e1d5f7b3","after":"fff1d2d74c2078b62cc9c2561330e41a842dc197","ref":"refs/heads/stable","pushedAt":"2024-03-11T21:03:22.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"ssh: Print details if running the command fails\n\nChange-Id: I87adbdd5fe4eb2709c97ab4c21b414145acf788b\nSigned-off-by: Sebastian Schuberth \nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/392915\nReviewed-by: Mike Frysinger \nReviewed-by: Tuan Vo Hung \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"ssh: Print details if running the command fails"}},{"before":"4b01a242d822bedee207cb8ed568f45741777930","after":"fff1d2d74c2078b62cc9c2561330e41a842dc197","ref":"refs/heads/main","pushedAt":"2024-03-11T16:48:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"ssh: Print details if running the command fails\n\nChange-Id: I87adbdd5fe4eb2709c97ab4c21b414145acf788b\nSigned-off-by: Sebastian Schuberth \nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/392915\nReviewed-by: Mike Frysinger \nReviewed-by: Tuan Vo Hung \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"ssh: Print details if running the command fails"}},{"before":"46790229fcdb041c414a27035b72cbc0d2e78af6","after":"4b01a242d822bedee207cb8ed568f45741777930","ref":"refs/heads/main","pushedAt":"2024-03-08T18:48:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"upload: Fix patchset description destination\n\nBug: 308467447\nChange-Id: I8ad598d39f5fdb24d549d3277ad5fedac203581b\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/412477\nReviewed-by: George Engelbrecht \nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"upload: Fix patchset description destination"}},{"before":"edadb25c0270398e9afa3eb0093d6b94aa51c3f4","after":"46790229fcdb041c414a27035b72cbc0d2e78af6","ref":"refs/heads/main","pushedAt":"2024-03-08T18:03:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"sync: Fix sorting for nested projects\n\nThe current logic to create checkout layers doesn't work in all cases.\nFor example, let's assume there are three projects: \"foo\", \"foo/bar\" and\n\"foo-bar\". Sorting lexicographical order is incorrect as foo-bar would\nbe placed between foo and foo/bar, breaking layering logic.\n\nInstead, we split filepaths based using path delimiter (always /) and\nthen use lexicographical sort.\n\nBUG=b:325119758\nTEST=./run_tests, manual sync on chromiumos repository\n\nChange-Id: I76924c3cc6ba2bb860d7a3e48406a6bba8f58c10\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/412338\nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic \nReviewed-by: George Engelbrecht ","shortMessageHtmlLink":"sync: Fix sorting for nested projects"}},{"before":"96edb9b573d6c58b1990090c467ce0c2809bc0b1","after":"edadb25c0270398e9afa3eb0093d6b94aa51c3f4","ref":"refs/heads/main","pushedAt":"2024-03-07T17:50:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"sync: introduce --force-checkout\n\nIn some cases (e.g. in a CI system), it's desirable to be able to\ninstruct repo to force checkout. This flag passes --force flag to `git\ncheckout` operations.\n\nBug: b/327624021\nChange-Id: I579edda546fb8147c4e1a267e2605fcf6e597421\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/411518\nCommit-Queue: Josip Sokcevic \nReviewed-by: Gavin Mak \nReviewed-by: George Engelbrecht \nTested-by: Josip Sokcevic ","shortMessageHtmlLink":"sync: introduce --force-checkout"}},{"before":"5554572f02537b8646139d59ab520e59e1d5f7b3","after":"96edb9b573d6c58b1990090c467ce0c2809bc0b1","ref":"refs/heads/main","pushedAt":"2024-03-04T19:04:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"upload: Add support for setting patchset description\n\nBug: 308467447\nChange-Id: I7abcbc98131b826120fc9ab85d5b889f90db4b0a\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/355968\nTested-by: Sergiy Belozorov \nReviewed-by: Mike Frysinger \nCommit-Queue: Sergiy Belozorov ","shortMessageHtmlLink":"upload: Add support for setting patchset description"}},{"before":"4217a82bec7b95c1a0bc7b081a1764a6a6d6c59b","after":"5554572f02537b8646139d59ab520e59e1d5f7b3","ref":"refs/heads/stable","pushedAt":"2024-02-28T18:48:59.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"sync: Introduce git checkout levels\n\nIf a repo manifest is updated so that project B is placed within a\nproject A, and if project A had content in new B's location in the old\ncheckout, then repo sync could break depending on checkout order, since\nB can't be checked out before A.\n\nThis change introduces checkout levels which enforces right sequence of\ncheckouts while still allowing for parallel checkout. In an example\nabove, A will always be checked out first before B.\n\nBUG=b:325119758\nTEST=./run_tests, manual sync on ChromeOS repository\n\nChange-Id: Ib3b5e4d2639ca56620a1e4c6bf76d7b1ab805250\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410421\nTested-by: Josip Sokcevic \nReviewed-by: Greg Edelston \nCommit-Queue: Josip Sokcevic \nReviewed-by: Gavin Mak ","shortMessageHtmlLink":"sync: Introduce git checkout levels"}},{"before":"97ca50f5f946c39e8ecd00c7e6ea78e90b4bb6dd","after":"5554572f02537b8646139d59ab520e59e1d5f7b3","ref":"refs/heads/main","pushedAt":"2024-02-27T17:48:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"sync: Introduce git checkout levels\n\nIf a repo manifest is updated so that project B is placed within a\nproject A, and if project A had content in new B's location in the old\ncheckout, then repo sync could break depending on checkout order, since\nB can't be checked out before A.\n\nThis change introduces checkout levels which enforces right sequence of\ncheckouts while still allowing for parallel checkout. In an example\nabove, A will always be checked out first before B.\n\nBUG=b:325119758\nTEST=./run_tests, manual sync on ChromeOS repository\n\nChange-Id: Ib3b5e4d2639ca56620a1e4c6bf76d7b1ab805250\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410421\nTested-by: Josip Sokcevic \nReviewed-by: Greg Edelston \nCommit-Queue: Josip Sokcevic \nReviewed-by: Gavin Mak ","shortMessageHtmlLink":"sync: Introduce git checkout levels"}},{"before":"8896b68926b660a90f37a9a37221c30514c52523","after":"97ca50f5f946c39e8ecd00c7e6ea78e90b4bb6dd","ref":"refs/heads/main","pushedAt":"2024-02-26T18:03:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"git_command: Return None from GetEventTargetPath() if set to empty string\n\nIf trace2.eventTarget was set to the empty string,\nmatch git behavior and don't write a trace.\n\nBug: 319673783\nChange-Id: I02b3884ad97551f8a9d7363c2cbe6b0adee6f73e\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410518\nReviewed-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic \nTested-by: Peter Collingbourne ","shortMessageHtmlLink":"git_command: Return None from GetEventTargetPath() if set to empty st…"}},{"before":"fec8cd6704b8ca7e01ed2de9d8757a2afd35188b","after":"8896b68926b660a90f37a9a37221c30514c52523","ref":"refs/heads/main","pushedAt":"2024-02-22T21:03:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"trace: Save trace2 sid in REPO_TRACE file\n\ngit-trace2 events contain additional information what git is doing under\nthe hood, and repo doesn't have visibility into.\n\nInstead of relying on timestamp information to match REPO_TRACE with\ngit-trace2 events, add SID information into REPO_TRACE.\n\nChange-Id: I37672a3face81858072c7a3ce34ca3379199dab5\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410280\nTested-by: Josip Sokcevic \nReviewed-by: Gavin Mak \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"trace: Save trace2 sid in REPO_TRACE file"}},{"before":"b8139bdcf87540fbe88a8b9180c052f5cc3a91b7","after":"fec8cd6704b8ca7e01ed2de9d8757a2afd35188b","ref":"refs/heads/main","pushedAt":"2024-02-20T20:03:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"subcmds: sync: Remove deprecated _AUTO_GC\n\nOpportunistic cleanup. It looks like this deprecated feature was slated\nfor deletion nearly a year ago.\n\nBug: None\nTest: ./run_tests\nChange-Id: I0bd0c0e6acbd1eaee1c0b4945c79038257d22f44\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/410198\nReviewed-by: Yiwei Zhang \nCommit-Queue: Greg Edelston \nTested-by: Greg Edelston ","shortMessageHtmlLink":"subcmds: sync: Remove deprecated _AUTO_GC"}},{"before":"d379e77f44d11da1ab817f3796f9559f163c1b0f","after":"b8139bdcf87540fbe88a8b9180c052f5cc3a91b7","ref":"refs/heads/main","pushedAt":"2024-02-09T11:21:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"launcher: Set shebang to python3\n\nSome (most?) Linux repos don't have /usr/bin/python, unless\npython-is-python3 is installed. While package owners can adjust shebang,\nwe have seen an increase in number of bugs filed as extra steps are\nrequired.\n\nPer PEP-0394, python3 is acceptable and should be available if python3\nis supported. We no longer support python2, and repo no longer works\nwith python2, so this change makes that explicit.\n\nBug: 40014585\nChange-Id: I9aed90fd470ef601bd33bd596af3df69da69ef5d\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/407497\nCommit-Queue: Josip Sokcevic \nReviewed-by: Jason Chang \nReviewed-by: Gavin Mak \nReviewed-by: Максим Паймушкин \nTested-by: Josip Sokcevic ","shortMessageHtmlLink":"launcher: Set shebang to python3"}},{"before":"4217a82bec7b95c1a0bc7b081a1764a6a6d6c59b","after":"d379e77f44d11da1ab817f3796f9559f163c1b0f","ref":"refs/heads/main","pushedAt":"2024-02-02T18:48:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"stop passing project to UpdateManifestError\n\nUpdateManifestError inherits from RepoExitError which inherits\nfrom BaseRepoError. None of them takes project as kwargs\ncausing the error like \"UpdateManifestError() takes no keyword\narguments\" in b/317183321\n\n[1]: https://gerrit.googlesource.com/git-repo/+/449b23b698d7d4b13909667a49a0698eb495eeaa/error.py#144\n\nBug: b/317183321\nChange-Id: I64c3dc502027f9dda56a0824f2712364b4502934\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/398997\nCommit-Queue: Yiwei Zhang \nTested-by: Yiwei Zhang \nReviewed-by: Josip Sokcevic \nReviewed-by: Jason Chang ","shortMessageHtmlLink":"stop passing project to UpdateManifestError"}},{"before":"4c80921d22c20a28d531c9e3e8a0ce4433c6509d","after":"4217a82bec7b95c1a0bc7b081a1764a6a6d6c59b","ref":"refs/heads/stable","pushedAt":"2024-01-30T18:48:19.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"project: Rename if deletion fails\n\nIf a project contains files not owned by the current user, remove will\nfail. In order to ensure repo sync continues to work, rename the\naffected project instead, and let user know about it.\n\nBug: 321273512\nChange-Id: I0779d61fc67042308a0226adea7d98167252a5d3\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/404372\nReviewed-by: Mike Frysinger \nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"project: Rename if deletion fails"}},{"before":"208f34495086eba60f744408aa26b4c62d6db6c6","after":"4217a82bec7b95c1a0bc7b081a1764a6a6d6c59b","ref":"refs/heads/main","pushedAt":"2024-01-25T21:48:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"project: Rename if deletion fails\n\nIf a project contains files not owned by the current user, remove will\nfail. In order to ensure repo sync continues to work, rename the\naffected project instead, and let user know about it.\n\nBug: 321273512\nChange-Id: I0779d61fc67042308a0226adea7d98167252a5d3\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/404372\nReviewed-by: Mike Frysinger \nTested-by: Josip Sokcevic \nCommit-Queue: Josip Sokcevic ","shortMessageHtmlLink":"project: Rename if deletion fails"}},{"before":"138c8a9ff543ce93c0e0a72581b255a0cb136994","after":"208f34495086eba60f744408aa26b4c62d6db6c6","ref":"refs/heads/main","pushedAt":"2024-01-05T21:57:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lucamilanesio","name":"Luca Milanesio","path":"/lucamilanesio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/182893?s=80&v=4"},"commit":{"message":"Clean up remaining `repo sync` log spam.\n\nThere are still some verbose messages (e.g. \"remote: ...\") when doing\nrepo sync after a couple days. Let's hide them behind verbose flag.\n\nBug: N/A\nTest: repo sync\nChange-Id: I1408472c95ed80d9555adfe8f92211245c03cf41\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/400855\nReviewed-by: Josip Sokcevic \nTested-by: Tomasz Wasilczyk \nCommit-Queue: Tomasz Wasilczyk ","shortMessageHtmlLink":"Clean up remaining repo sync log spam."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUiQAjQA","startCursor":null,"endCursor":null}},"title":"Activity · GerritCodeReview/git-repo"}