{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":134577458,"defaultBranch":"main","name":"west","ownerLogin":"zephyrproject-rtos","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-05-23T13:56:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19595895?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1696636860.0","currentOid":""},"activityList":{"items":[{"before":"aeca29ac9fd34fa6ecfb7137abec5d601ac80073","after":"cf18ce8cbd459932b2f5809e3229ebcc01caf6fd","ref":"refs/heads/main","pushedAt":"2024-04-03T17:33:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"project.py: extend cache support for submodules\n\nIf cache is used try to also use it for submodules.\n\nSigned-off-by: Kari Hamalainen ","shortMessageHtmlLink":"project.py: extend cache support for submodules"}},{"before":"3260b412a9489913f072beb67f0c98843c6c7670","after":"aeca29ac9fd34fa6ecfb7137abec5d601ac80073","ref":"refs/heads/main","pushedAt":"2024-01-24T17:24:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"project.py: request users to stop IDEs before running `west init`\n\nThere have been many users reports in #558 that `west init` fails on the\nWindows NTFS filesystem when some IDEs are running concurrently.\n\nThere is no simple and reliable fix for this because:\n\n- The lack of concurrency is a core limitation in the NTFS design that\n will not change anytime soon,\n- IDEs have no reliable way to know when they should pause scanning the\n filesystem.\n- Placing temporary files outside the workspace would invite other, complex\n and nasty issues with cross-filesystem moves (#558)\n\nShort of a fix, explain why this happens very briefly in `west init -h`\nand request users to temporarily close their IDEs. It's the only simple\nand universal mitigation available.\n\nMention the issue number in case someone needs more details, some\nevidence or smarter workarounds specific to certain IDEs.\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"project.py: request users to stop IDEs before running west init"}},{"before":"7f842c2b84b53d5949501e10f4dafe675ddcac2f","after":"3260b412a9489913f072beb67f0c98843c6c7670","ref":"refs/heads/main","pushedAt":"2023-12-20T18:43:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"Use 'backslashreplace' not to crash on malformed UTF from subprocess\n\nGiant commit\nhttps://github.com/zephyrproject-rtos/hal_nxp/commit/f9f0944bc2b4fce\n\"Update to SDK 2.14\" added files with malformed UTF-8, more precisely\nwith the DEGREE SIGN (°) encoded in 8bit latin1/CP1252. Maybe others.\n\nThis crashes `west grep`.\n\nBefore this fix:\n\n```\nnxp$ west grep 'TEMPERATURE_CONV_FACTOR.*Will give'\n\nTraceback (most recent call last):\n File \".local/bin/west\", line 33, in \n sys.exit(load_entry_point('west', 'console_scripts', 'west')())\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"west/src/west/app/main.py\", line 1085, in main\n app.run(argv or sys.argv[1:])\n File \"west/src/west/app/main.py\", line 244, in run\n self.run_command(argv, early_args)\n File \"west/src/west/app/main.py\", line 503, in run_command\n self.run_builtin(args, unknown)\n File \"west/src/west/app/main.py\", line 611, in run_builtin\n self.cmd.run(args, unknown, self.topdir,\n File \"west/src/west/commands.py\", line 194, in run\n self.do_run(args, unknown)\n File \"west/src/west/app/project.py\", line 1765, in do_run\n completed_process = self.run_subprocess(\n ^^^^^^^^^^^^^^^^^^^^\n File \"west/src/west/commands.py\", line 325, in run_subprocess\n return subprocess.run(args, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.11/subprocess.py\", line 550, in run\n stdout, stderr = process.communicate(input, timeout=timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.11/subprocess.py\", line 1209, in communicate\n stdout, stderr = self._communicate(input, endtime, timeout)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.11/subprocess.py\", line 2146, in _communicate\n stdout = self._translate_newlines(stdout,\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.11/subprocess.py\", line 1086, in _translate_newlines\n data = data.decode(encoding, errors)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nUnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 385: invalid start byte\n```\n\nAfter this fix, no crash and no interruption and:\n\nmcux/mcux-sdk/middleware/issdk/sensors/fxpq3115_drv.h:#define FXPQ3115_TEMPERATURE_CONV_FACTOR (256) /* Will give \\xb0C */\nmcux/mcux-sdk/middleware/issdk/sensors/mpl3115_drv.h:#define MPL3115_TEMPERATURE_CONV_FACTOR (256) /* Will give \\xb0C */\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"Use 'backslashreplace' not to crash on malformed UTF from subprocess"}},{"before":"7d108ff1ce4527948e85b54070e59823f78f5dbb","after":"7f842c2b84b53d5949501e10f4dafe675ddcac2f","ref":"refs/heads/main","pushedAt":"2023-10-09T18:11:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"commands: fix some docstrings\n\nWhen interpreted as restructured text, these are causing errors\nbecause the '**' is interpreted as the start of a bold section, which\nnever ends. This causes build failures in the zephyr docs, which do\ntreat these as RST.\n\nWrap them in `` to make the whole thing a literal block to fix this\nissue.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"commands: fix some docstrings"}},{"before":"28d0209f4eb8905db41a5589054cc1d18107351a","after":"abb5cec3f52926c288bbab338a35b90b8a79a568","ref":"refs/heads/v1.2-branch","pushedAt":"2023-10-07T00:00:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"West v1.2.0\n\nMajor changes:\n\n- New 'west grep' command for running a \"grep tool\" in your west workspace's\n repositories. Currently, 'git grep', `ripgrep`, and standard 'grep' are\n supported grep tools.\n\n To run this command to get 'git grep foo' results from all cloned,\n active repositories, run:\n\n west grep foo\n\n For more details, run 'west help grep'.\n\nOther changes:\n\n- The manifest file format now supports a 'description' field in each\n 'projects:' element.\n\n- 'west list --format' now accepts '{description}' in the format\n string, which prints the project's 'description:' value.\n\n- 'west compare' now always prints information about\n the manifest-rev branch\n\nBug fixes:\n\n- 'west init' aborts if the destination directory already exists.\n\nAPI changes:\n\n- 'west.commands.WestCommand' methods 'check_call()' and\n 'check_output()' now take any kwargs that can be passed on\n to the underlying subprocess function.\n\n- 'west.commands.WestCommand.run_subprocess()': new wrapper\n around 'subprocess.run()'. This could not be named 'run()'\n because 'WestCommand' already had a method by this name.\n\n- 'west.commands.WestCommand' methods 'dbg()', 'inf()',\n 'wrn()', and 'err()' now all take an 'end' kwarg, which\n is passed on to the call to 'print()'.\n\n- 'west.manifest.Project' now has a 'description' attribute,\n which contains the parsed value of the 'description:' field\n in the manifest data.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"West v1.2.0"}},{"before":"7d108ff1ce4527948e85b54070e59823f78f5dbb","after":null,"ref":"refs/heads/testbranch","pushedAt":"2023-09-28T01:52:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"}},{"before":null,"after":"7d108ff1ce4527948e85b54070e59823f78f5dbb","ref":"refs/heads/testbranch","pushedAt":"2023-09-28T01:52:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"version: 1.2.99\n\nThis is not a west release. It is just a signal that we have forked\noff v1.2-branch.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"version: 1.2.99"}},{"before":"c936a4a6819cfee2cc78b6a632bc4a4d4b0588f4","after":"7d108ff1ce4527948e85b54070e59823f78f5dbb","ref":"refs/heads/main","pushedAt":"2023-09-27T21:01:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"version: 1.2.99\n\nThis is not a west release. It is just a signal that we have forked\noff v1.2-branch.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"version: 1.2.99"}},{"before":"c936a4a6819cfee2cc78b6a632bc4a4d4b0588f4","after":"28d0209f4eb8905db41a5589054cc1d18107351a","ref":"refs/heads/v1.2-branch","pushedAt":"2023-09-27T20:58:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"version: 1.2.0a1\n\nRelease alpha for testing.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"version: 1.2.0a1"}},{"before":null,"after":"c936a4a6819cfee2cc78b6a632bc4a4d4b0588f4","ref":"refs/heads/v1.2-branch","pushedAt":"2023-09-27T20:55:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"manifest: Add a new optional description field\n\nAdd a new description optional field to the schema. This field is merely\ninformative, it has no effect whatsoever in the manifest and/or project\nprocessing.\n\nBecause descriptions can be multiline strings, additional code has been\nadded to support prettier dumping of those. PyYAML by default uses\nsingle-line strings in YAML with '\\n' characters in it, which look ugly\nwhen dumped. To avoid this, use block-style literals (i.e. the ones\nbeginning with '|' in the YAML) but only for multi-line description\nfields. The rest of the field handling are left untouched to preserve\nbackwards compatibility.\nNote that if we used ruamel we would not need the additional code, since\nit supports this natively.\n\nSigned-off-by: Carles Cufi ","shortMessageHtmlLink":"manifest: Add a new optional description field"}},{"before":"41007648d993b84144bbab54a26ac3416e2aef1d","after":"c936a4a6819cfee2cc78b6a632bc4a4d4b0588f4","ref":"refs/heads/main","pushedAt":"2023-09-05T15:59:50.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"manifest: Add a new optional description field\n\nAdd a new description optional field to the schema. This field is merely\ninformative, it has no effect whatsoever in the manifest and/or project\nprocessing.\n\nBecause descriptions can be multiline strings, additional code has been\nadded to support prettier dumping of those. PyYAML by default uses\nsingle-line strings in YAML with '\\n' characters in it, which look ugly\nwhen dumped. To avoid this, use block-style literals (i.e. the ones\nbeginning with '|' in the YAML) but only for multi-line description\nfields. The rest of the field handling are left untouched to preserve\nbackwards compatibility.\nNote that if we used ruamel we would not need the additional code, since\nit supports this natively.\n\nSigned-off-by: Carles Cufi ","shortMessageHtmlLink":"manifest: Add a new optional description field"}},{"before":"98800b3d9a112444a0a233538925a062076df25e","after":"41007648d993b84144bbab54a26ac3416e2aef1d","ref":"refs/heads/main","pushedAt":"2023-09-01T20:58:57.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"Project.git(list/str): reduce reliance on shlex.split()\n\nFor convenience, Project.git() supports passing either a list (good) or\na string with whitespaces (bad). The latter is parsed with shlex.split()\n\nThis saves some typing but the caller has to be extremely careful to\nnever use the shlex.split() convenience with unsanitized inputs.\n\nFixes commit 3ac600acaa11 (\"git: clean west ref space after fetching\")\nwhere the caller was not careful and concatenated `update-ref -d ` with\nunsanitized input, possibly containing special characters as found in\nbug #679. Fix this bug by converting the string to a list.\n\nWhile at it, look for a few other, frequent and risky invocations and\nconvert their string argument to a list too. The following test hack was\nused to semi-automate the search for these other locations:\n\n```\n--- a/src/west/manifest.py\n+++ b/src/west/manifest.py\n@@ -897,6 +897,8 @@ class Project:\n :param cwd: directory to run git in (default: ``self.abspath``)\n '''\n if isinstance(cmd, str):\n+ print(cmd)\n+ breakpoint()\n cmd_list = shlex.split(cmd)\n else:\n cmd_list = list(cmd)\n```\n\nWhile at it, also convert to a list a couple non-risky but very frequent\ninvocations. This speeds up the test hack above.\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"Project.git(list/str): reduce reliance on shlex.split()"}},{"before":"b7e091d2e90290bd77e137b364f664b873a453bc","after":"98800b3d9a112444a0a233538925a062076df25e","ref":"refs/heads/main","pushedAt":"2023-09-01T18:01:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"compare: always prefix `git status` output with manifest-rev\n\nIt's not unusual to make \"quick and dirty\", temporary changes in a git\nrepo that is on the manifest: either add some untracked files or create\na branch. As expected, this makes the repository show in `west\ncompare`. If such repos and the manifest repo are the only repos\nappearing in the `west compare` output, then no manifest-rev + HEAD\nbanner ever appeared. When no banner ever appears it's really not\nobvious which repos are on the manifest-rev vs not. In other words: the\nmain `west compare` feature is defeated.\n\nClear this doubt by always showing the banner, even when `HEAD` and\n`manifest-rev` are the same. See sample output below.\n\nI think the original design idea was to follow diff's \"spirit\" not to\nshow anything that's identical and to save as many lines as\npossible. However I don't think it works in this particular case because\ninvoking `git status` for a repo _without_ showing where its HEAD is at\nis way too subtle, _especially_ when there is no other repo with a\nbanner to provide a comparison point and some contrast. Explicitly and\nconsistently prefixing every `git status` output with a manifest-rev\nbanner is much more clear and obvious.\n\nMoreover, `git status` output is relatively verbose already so always\nprefixing it with a 2 lines long banner makes negligible difference to\nthe total.\n\nBefore:\n```\n$ west compare\n\n=== hal_xtensa (modules/hal/xtensa):\n--- status:\n On branch somebranch\n nothing to commit, working tree clean\n```\n\nAfter:\n```\n$ west compare\n\n=== hal_xtensa (modules/hal/xtensa):\n--- manifest-rev: 41a631d4aeee (somebranch, upstream/master) cmake: enable using SOC_TOOLCHAIN_NAME ...\n HEAD: 41a631d4aeee (somebranch, upstream/master) cmake: enable using SOC_TOOLCHAIN_NAME ...\n--- status:\n On branch somebranch\n nothing to commit, working tree clean\n```\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"compare: always prefix git status output with manifest-rev"}},{"before":"dacb54ba1db1d3ec55d934c4e478c0b5d2f3424e","after":"b7e091d2e90290bd77e137b364f664b873a453bc","ref":"refs/heads/main","pushedAt":"2023-09-01T17:27:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"README.rst: add pytest examples and mention tox limitations\n\nThe tox indirection layer is convenient except for the usual problems\ncaused by too many layers of indirection:\n\n- Add some examples and show how it is still possible to use important\n pytest features. This is also useful to boost people familiar with\n Python but not with pytest.\n\n- To stop developers wasting their time trying, document a major\n limitation with the current approach: impossible to run the west\n code in a debugger when it's started from a test.\n\n- Show how the \"printf\" alternative can work.\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"README.rst: add pytest examples and mention tox limitations"}},{"before":"3e53dd599a2b82eb5a8e24cbcbdeca2337824313","after":"dacb54ba1db1d3ec55d934c4e478c0b5d2f3424e","ref":"refs/heads/main","pushedAt":"2023-08-31T21:43:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"west manifest: detect when target directory already exists, and fail\n\nWhen setting up a project with west, the target directory may not be\ninitialized correctly. In the typical case, if a directory named\n`./zephyr/` already exists, the user may find that checkout files are\nlocated at `./zephyr/manifest-tmp/*` instead of the expected\n`./zephyr/*`.\n\nThis patch will abort and refuse to complete `west init` if the\ndestination directory alread exists. This check would ideally occur\nbefore the potentially lengthy clone operation, but `manifest_path` is\nderived from the files retrieved...\n\nNOTE: If the project quotes a value other than `zephyr` for\n`manifest.self.path` in `/west.yml`, then this will affect that\ndirectory instead.\n\nSteps to reproduce before this patch:\n\n mkdir ./zephyr/\n west init ./ -m https://github.com/zephyrproject-rtos/zephyr.git\n ls -l ./zephyr/\n\nPossible fix for some of the symptoms described in #558\n\nSigned-off-by: Attie Grande ","shortMessageHtmlLink":"west manifest: detect when target directory already exists, and fail"}},{"before":"4ba3d99014c64cd879e09ad6b8bac7b8bc52f7f2","after":"3e53dd599a2b82eb5a8e24cbcbdeca2337824313","ref":"refs/heads/main","pushedAt":"2023-08-31T19:04:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"grep: fix command hanging forever when grep.{tool}-args is empty\n\nFixes commit 1d220bbd627b (\"commands: add grep\")\n\nFix misplaced closing parenthese in:\n\n```\nshlex.split(self.config.get(f'grep.{tool}-args'), '')\n```\n\nThe empty string is meant as a default value for config.get() but it was\npassed as a second argument to shlex.split() by mistake.\n\nFunny enough this hangs forever:\n\n```\n>>> shlex.split(None, comments='')\n:1: DeprecationWarning: Passing None for 's' to shlex.split() is deprecated.\n (hangs forever)\n```\n\nPS: debuggers rulez\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"grep: fix command hanging forever when grep.{tool}-args is empty"}},{"before":"9e8f5002f2ee86b7150c039cb69aa653ff454162","after":"4ba3d99014c64cd879e09ad6b8bac7b8bc52f7f2","ref":"refs/heads/main","pushedAt":"2023-08-31T16:51:23.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"mbolivar-ampere","name":"Martí Bolívar","path":"/mbolivar-ampere","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/140200053?s=80&v=4"},"commit":{"message":"tests: add basic test for grep command\n\nGet some minimal coverage.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"tests: add basic test for grep command"}},{"before":null,"after":"fe5f127d6bd21fa65ac79f29facb6d13bd2297c7","ref":"refs/heads/v1.1-branch","pushedAt":"2023-06-04T23:48:59.015Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"version: 1.1.0\n\nBump version.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"version: 1.1.0"}},{"before":"698e0e85bb0a1c9929cdfa1d6cc6aa1d75175044","after":"9e8f5002f2ee86b7150c039cb69aa653ff454162","ref":"refs/heads/main","pushedAt":"2023-06-02T18:12:06.444Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"carlescufi","name":"Carles Cufí","path":"/carlescufi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12450381?s=80&v=4"},"commit":{"message":"west manifest: adjust error message\n\nClarify the user's options a bit more.\n\nRequested-by: Alberto Escolar Piedras \nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"west manifest: adjust error message"}},{"before":"f6f5cf686f3b039d4e4a2d5bcc07b6431970d917","after":"698e0e85bb0a1c9929cdfa1d6cc6aa1d75175044","ref":"refs/heads/main","pushedAt":"2023-06-01T10:37:45.325Z","pushType":"pr_merge","commitsCount":18,"pusher":{"login":"carlescufi","name":"Carles Cufí","path":"/carlescufi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12450381?s=80&v=4"},"commit":{"message":"manifest: add tests for manifest.project-filter\n\nAdd test cases for behavior and matching rules.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"manifest: add tests for manifest.project-filter"}},{"before":"421d1228b97ac4a1203e248d4269bd26b23beb12","after":"f6f5cf686f3b039d4e4a2d5bcc07b6431970d917","ref":"refs/heads/main","pushedAt":"2023-05-15T16:03:21.329Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"compare: add --decorate\n\nWhen a project is not on the `manifest-rev` it will often be on a branch\nor tag. Use the `%d` format to make `west compare` show that\ninformation.\n\nAs discussed in #643 and before, git status cannot be fully trusted to\ndisplay branch information.\n\nSample new output:\n```\nwest compare\n=== zephyr (zephyr):\n--- manifest-rev: e40859f78712 (some_tag) Revert \"dma: dw: Do ...\n HEAD: e803b77463b4 (zephyrproject/main) samples: net: ...\n--- status:\n HEAD detached at zephyrproject/main\n nothing to commit, working tree clean\n```\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"compare: add --decorate"}},{"before":"f44debcee2d3b8eb79337c9d40c4a02ebac566ef","after":"421d1228b97ac4a1203e248d4269bd26b23beb12","ref":"refs/heads/main","pushedAt":"2023-05-10T17:11:47.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"test_compare: add config_tmpdir fixture to block `ignore-branches`\n\nIsolate test_compare() from the environment's west config. This makes\nthe test pass again when the user sets `west config --global\nignore-branches True`. It was failing like this:\n\n```\n # By default, a checked-out branch should print output, even if\n # the tree is otherwise clean...\n check_output(['git', 'checkout', '-b', 'mybranch'], cwd=kconfiglib)\n actual = cmd('compare')\n> assert actual.startswith('=== Kconfiglib (subdir/Kconfiglib):')\nE AssertionError: assert False\n```\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"test_compare: add config_tmpdir fixture to block ignore-branches"}},{"before":"de8590494bb7696ec70432b26cf71273865d1218","after":"f44debcee2d3b8eb79337c9d40c4a02ebac566ef","ref":"refs/heads/main","pushedAt":"2023-05-10T04:41:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"configuration.py: clarify Configuration constructor's behavior\n\nAlso rename internal parameter `search_for_local` to\n`find_local`. `search_for_local` is easier to misinterpret as optional\n(not finding a local file is fatal when True).\n\nSigned-off-by: Marc Herbert ","shortMessageHtmlLink":"configuration.py: clarify Configuration constructor's behavior"}},{"before":"51ad8866fbb508e2fc42cf8d3cce24d888ee363f","after":"de8590494bb7696ec70432b26cf71273865d1218","ref":"refs/heads/main","pushedAt":"2023-05-05T21:10:14.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"manifest: improve ManifestImportError __str__\n\nTry to provide more helpful text.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"manifest: improve ManifestImportError __str__"}},{"before":"c0de98350deb9ff09cf66a31d728e0d2d3b2b822","after":"51ad8866fbb508e2fc42cf8d3cce24d888ee363f","ref":"refs/heads/main","pushedAt":"2023-04-17T19:29:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"compare: output improvements\n\nA few concerns have been voiced about the west compare output:\n\n 1. its signal:noise ratio is too low (too many lines per\n project without enough useful information per line)\n 2. the end of the status output from one project is hard to\n separate from the status output for the next\n 3. it isn't obvious enough whether HEAD == manifest-rev or not\n\nTo try to resolve 2. without making 1. any worse, explicitly print\nHEAD and manifest-rev if they differ, without adding any extra lines,\nby consolidating some of the output into the relevant banner line.\n\nTo solve 3., indent the status output to the same level as the\n'status:' text in the banner.\n\nFixes: #650\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"compare: output improvements"}},{"before":"2d1a4ca7f61ea520da3d67b84b1f8b59371f6ce3","after":"c0de98350deb9ff09cf66a31d728e0d2d3b2b822","ref":"refs/heads/main","pushedAt":"2023-04-12T06:33:10.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"compare: add command\n\nThis command prints information about manifest-rev and \"git status\"\noutput for a project if (and only if) at least one of the following is\ntrue:\n\n1. its checked out commit is different than the commit checked\n out by the most recent successful \"west update\"\n2. its working tree is not clean (i.e. there are local uncommitted\n changes)\n3. it has a local checked out branch (unless overridden via\n the compare.ignore-branches config option or the --ignore-branches\n command line option)\n\nIt does something similar for the manifest repository.\n\nThe purpose of this is to allow people who are developing on one or\nmore projects to quickly see if they have anything interesting going\non, or if their projects match the manifest-rev versions.\n\nFixes: #642\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"compare: add command"}},{"before":"64b0c8857f84415890b711c572f227abc316a179","after":null,"ref":"refs/heads/west-compare","pushedAt":"2023-04-12T06:21:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"}},{"before":null,"after":"64b0c8857f84415890b711c572f227abc316a179","ref":"refs/heads/west-compare","pushedAt":"2023-04-12T06:20:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"compare: add command\n\nThis command prints information about manifest-rev and \"git status\"\noutput for a project if (and only if) at least one of the following is\ntrue:\n\n1. its checked out commit is different than the commit checked\n out by the most recent successful \"west update\"\n2. its working tree is not clean (i.e. there are local uncommitted\n changes)\n3. it has a local checked out branch (unless overridden via\n the compare.ignore-branches config option or the --ignore-branches\n command line option)\n\nIt does something similar for the manifest repository.\n\nThe purpose of this is to allow people who are developing on one or\nmore projects to quickly see if they have anything interesting going\non, or if their projects match the manifest-rev versions.\n\nFixes: #642\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"compare: add command"}},{"before":"ef71fae9ccfa933c882f67c5e0bbc375ebd4be2a","after":"d1d6007e8786abfd855247ffc6f4acf616db10e4","ref":"refs/heads/v1.0-branch","pushedAt":"2023-04-12T06:03:06.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"west v1.0.1\n\nBug fix:\n\n- west now exits correctly with a nonzero status code when\n interrupted with SIGINT, instead of exiting with status code 0.\n\n On Unix, west also exits in a manner that lets the calling environment\n know it was interrupted. This means that e.g. bash commands like\n \"while true; do west ... ; done\" will exit the entire while loop when\n you exit west with control-C instead of just exiting the west command\n and then looping back to the beginning to exit it again, forever.\n\n This means that shell scripts using west with \"set -e\" or other\n environments that rely on standard shell or .bat script behaviors\n related to exiting via interrupts will work correctly.\n\nOther change:\n\n- west.manifest.SCHEMA_VERSION is now 1.0. This allows you to use\n\n manifest:\n version: \"1.0\"\n\n in your manifest files to get the same semantics as the previous\n version (0.13), but without the 0.x numbering, since now we are\n in the v1.x series of releases.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"west v1.0.1"}},{"before":"a76e6641b7be4e6bafef84c5899c55e1aeea7f2d","after":"2d1a4ca7f61ea520da3d67b84b1f8b59371f6ce3","ref":"refs/heads/main","pushedAt":"2023-03-30T16:21:34.758Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mbolivar-nordic","name":"Marti Bolivar","path":"/mbolivar-nordic","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/62298616?s=80&v=4"},"commit":{"message":"manifest: bump SCHEMA_VERSION to 1.0\n\nThe rationale is to avoid requiring users to use 'version: 0.13' in\ntheir manifest files now that west 1.0 has been released. We should\nhave done this in time for west 1.0.0, but that ship has sailed. We\ncan, and will, backport this to the release that becomes v1.0.1,\nthough.\n\nSigned-off-by: Martí Bolívar ","shortMessageHtmlLink":"manifest: bump SCHEMA_VERSION to 1.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEJvJvXgA","startCursor":null,"endCursor":null}},"title":"Activity · zephyrproject-rtos/west"}