helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: convert : register Qwen3Model architecture

## Overview

register `Qwen3Model` architecture.

This is to support embedding models based on the Qwen3Model architecture.

- [Octen/Octen-Embedding-0.6B](https://huggingface.co/Octen/Octen-Embedding-0.6B)
- [codefuse-ai/F2LLM-v2-80M](https://huggingface.co/codefuse-ai/F2LLM-v2-80M)

It appears to be work without any additional modifications.

## Additional information

# Requirements

- I have read and agree with the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md)
- AI usage disclosure: No


Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -4572,7 +4572,7 @@ def prepare_tensors(self):
                 raise ValueError(f"Unprocessed experts: {experts}")
 
 
-@ModelBase.register("Qwen3ForCausalLM")
+@ModelBase.register("Qwen3ForCausalLM", "Qwen3Model")
 class Qwen3Model(Qwen2Model):
     model_arch = gguf.MODEL_ARCH.QWEN3
Repository: facebook/react
Pull request: [ci] Cache playwright in run_devtools_e2e_tests


I happened to notice that I forgot to cache playwright in run_devtools_e2e_tests, so it would try to install it every time which can randomly take a while to complete (I'm not sure why it's not deterministic, but the dependencies appear to be installed inconsistently across multiple workflows).

This PR adds the same cache we use for other steps that use playwright, which should shave off some time from this workflow when the cache is warm.

Additionally I omitted the standalone install-deps command as it appears to be redundant and adds a lot of extra time to CI, due to the fact that it installs many unrelated dependencies.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/34320).
* #34321
* __->__ #34320

Changed files:
filename: .github/workflows/compiler_playground.yml
patch: @@ -57,8 +57,6 @@ jobs:
           key: playwright-browsers-v6-${{ runner.arch }}-${{ runner.os }}-${{ steps.playwright_version.outputs.playwright_version }}
       - run: npx playwright install --with-deps chromium
         if: steps.cache_playwright_browsers.outputs.cache-hit != 'true'
-      - run: npx playwright install-deps
-        if: steps.cache_playwright_browsers.outputs.cache-hit == 'true'
       - run: CI=true yarn test
       - run: ls -R test-results
         if: '!cancelled()'

filename: .github/workflows/runtime_build_and_test.yml
patch: @@ -316,7 +316,7 @@ jobs:
         if: steps.node_modules.outputs.cache-hit != 'true'
       - run: ./scripts/react-compiler/build-compiler.sh && ./scripts/react-compiler/link-compiler.sh
       - run: yarn workspace eslint-plugin-react-hooks test
-        
+
   # ----- BUILD -----
   build_and_lint:
     name: yarn build and lint
@@ -811,9 +811,18 @@ jobs:
           pattern: _build_*
           path: build
           merge-multiple: true
-      - run: |
-          npx playwright install
-          sudo npx playwright install-deps
+      - name: Check Playwright version
+        id: playwright_version
+        run: echo "playwright_version=$(npm ls @playwright/test | grep @playwright | sed 's/.*@//' | head -1)" >> "$GITHUB_OUTPUT"
+      - name: Cache Playwright Browsers for version ${{ steps.playwright_version.outputs.playwright_version }}
+        id: cache_playwright_browsers
+        uses: actions/cache@v4
+        with:
+          path: ~/.cache/ms-playwright
+          key: playwright-browsers-v6-${{ runner.arch }}-${{ runner.os }}-${{ steps.playwright_version.outputs.playwright_version }}
+      - name: Playwright install deps
+        if: steps.cache_playwright_browsers.outputs.cache-hit != 'true'
+        run: npx playwright install --with-deps chromium
       - run: ./scripts/ci/run_devtools_e2e_tests.js
         env:
           RELEASE_CHANNEL: experimental
Repository: electron/electron
Pull request: fix: prevent GBytes leak in GdkPixbufFromSkBitmap on Linux/GTK

#### Description of Change

`g_bytes_new()` was called inline as an argument to `gdk_pixbuf_new_from_bytes()`, which per GTK docs does not take ownership of the `GBytes` - it adds its own internal reference. The caller's `GBytes*` was never stored or unreffed, leaking `4 * width * height` bytes of pixel data on every call.

This is most impactful when calling `Tray.setImage()` repeatedly (e.g., for animated tray icons), causing continuously growing process memory that is never reclaimed.

Internally, `gdk_pixbuf_new_from_bytes()` calls `g_object_new()` with the "pixel-bytes" construct property. In `gdk_pixbuf_set_property()`, the `PROP_PIXEL_BYTES` case stores the bytes via `g_value_dup_boxed()`, which calls `g_boxed_copy()` -> `_g_type_boxed_copy()` -> the registered copy function. Since `G_TYPE_BYTES` is registered as `G_DEFINE_BOXED_TYPE(GBytes, g_bytes, g_bytes_ref, g_bytes_unref)`, the copy function is `g_bytes_ref()`, incrementing the `refcount`. 

Simple [app](https://github.com/cinu/electron-linux-gtk-gbytes-leak-test) that sets tray icon (1024x1024) 100 times:
Before fix: `RSS 633.07 MB`
After fix: `RSS 282.91 MB`

#### Checklist

- [x] PR description included
- [x] I have built and tested this PR

#### Release Notes

Notes: Fix memory leak when setting icons on Linux/GTK

Changed files:
filename: shell/browser/ui/gtk_util.cc
patch: @@ -82,11 +82,13 @@ GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap& bitmap) {
   constexpr GdkColorspace kColorspace = GDK_COLORSPACE_RGB;
   constexpr gboolean kHasAlpha = true;
   constexpr int kBitsPerSample = 8;
-  return gdk_pixbuf_new_from_bytes(
-      g_bytes_new(std::data(bytes), std::size(bytes)), kColorspace, kHasAlpha,
-      kBitsPerSample, width, height,
+  GBytes* gbytes = g_bytes_new(std::data(bytes), std::size(bytes));
+  GdkPixbuf* pixbuf = gdk_pixbuf_new_from_bytes(
+      gbytes, kColorspace, kHasAlpha, kBitsPerSample, width, height,
       gdk_pixbuf_calculate_rowstride(kColorspace, kHasAlpha, kBitsPerSample,
                                      width, height));
+  g_bytes_unref(gbytes);
+  return pixbuf;
 }
 
 }  // namespace gtk_util
Repository: facebook/react
Pull request: [DevTools] Better scrolling in Suspense tab

Stacked on https://github.com/facebook/react/pull/34296

Keeps timeline and footer always in the viewport

https://github.com/user-attachments/assets/bcbbfb92-ed71-40aa-a53c-06c09b0b2693



Changed files:
filename: packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseTab.css
patch: @@ -15,15 +15,15 @@
 }
 
 .TreeWrapper {
+  border-top: 1px solid var(--color-border);
   flex: 1 1 var(--horizontal-resize-tree-percentage);
   display: flex;
   flex-direction: row;
-  overflow: auto;
-  border-top: 1px solid var(--color-border);
+  height: 100%;
 }
 
 .InspectedElementWrapper {
-  flex: 1 1 calc(100% - var(--horizontal-resize-tree-percentage));
+  flex: 1 1 35%;
   overflow-x: hidden;
   overflow-y: auto;
 }
@@ -52,16 +52,15 @@
   display: none;
 }
 
-
-
 @container devtools (width < 600px) {
   .SuspenseTab {
     flex-direction: column;
   }
 
   .TreeWrapper {
     border-top: 1px solid var(--color-border);
-    flex: 1 0 var(--vertical-resize-tree-percentage);
+    flex: 1 1 var(--vertical-resize-tree-percentage);
+    overflow: hidden;
   }
 
   .InspectedElementWrapper {
@@ -79,6 +78,7 @@
   .TreeView footer {
     display: flex;
     justify-content: end;
+    border-top: 1px solid var(--color-border);
   }
 
   .ToggleInspectedElement[data-orientation="horizontal"] {
@@ -89,21 +89,23 @@
 .TreeList {
   flex: 0 0 var(--horizontal-resize-tree-list-percentage);
   border-right: 1px solid var(--color-border);
-  padding: 0.25rem
+  padding: 0.25rem;
+  overflow: auto;
 }
 
 .TreeView {
   flex: 1 1 35%;
   display: flex;
   flex-direction: column;
+  height: 100%;
+  overflow: auto;
 }
 
-
-
 .Rects {
   border-top: 1px solid var(--color-border);
   padding: 0.25rem;
   flex-grow: 1;
+  overflow: auto;
 }
 
 .TimelineWrapper {
Repository: nodejs/node
Pull request: fs: fix ENOTDIR in globSync when file is treated as dir

`fs.globSync` failed with `ENOTDIR` when a path component in a glob pattern was a file but used as a directory (e.g., 'foo{,/bar}' when 'foo' is a file).

This change aligns `getDirentSync` with the asynchronous `getDirent` by wrapping the `lstatSync` call in a `try-catch` block to safely return `null` on such errors.

<img width="682" height="97" alt="image" src="https://github.com/user-attachments/assets/6dd21c15-d611-4d95-8aae-0b30d87930ae" />


Fixes: #61257

Changed files:
filename: lib/internal/fs/glob.js
patch: @@ -65,8 +65,10 @@ async function getDirent(path) {
  * @returns {DirentFromStats|null}
  */
 function getDirentSync(path) {
-  const stat = lstatSync(path, { throwIfNoEntry: false });
-  if (stat === undefined) {
+  let stat;
+  try {
+    stat = lstatSync(path);
+  } catch {
     return null;
   }
   return new DirentFromStats(basename(path), stat, dirname(path));

filename: test/parallel/test-fs-glob.mjs
patch: @@ -2,7 +2,7 @@ import * as common from '../common/index.mjs';
 import tmpdir from '../common/tmpdir.js';
 import { resolve, dirname, sep, relative, join, isAbsolute } from 'node:path';
 import { mkdir, writeFile, symlink, glob as asyncGlob } from 'node:fs/promises';
-import { glob, globSync, Dirent, chmodSync } from 'node:fs';
+import { glob, globSync, Dirent, chmodSync, writeFileSync, rmSync } from 'node:fs';
 import { test, describe } from 'node:test';
 import { pathToFileURL } from 'node:url';
 import { promisify } from 'node:util';
@@ -543,3 +543,21 @@ describe('glob - with restricted directory', function() {
     }
   });
 });
+
+describe('globSync - ENOTDIR', function() {
+  test('should return empty array when a file is treated as a directory', () => {
+    const file = tmpdir.resolve('foo');
+    writeFileSync(file, '');
+    try {
+      const pattern = 'foo{,/bar}';
+      const actual = globSync(pattern, { cwd: tmpdir.path }).sort();
+      assert.deepStrictEqual(actual, ['foo']);
+    } finally {
+      try {
+        rmSync(file);
+      } catch {
+        // ignore
+      }
+    }
+  });
+});
Repository: huggingface/transformers
Pull request: Add id and resume support to SwanLab integration

Fixes #43698
- Add SWANLAB_RUN_ID env var to pass experiment ID for resumption
- Add SWANLAB_RESUME env var to control resume mode
- Default to resume='allow' when resume_from_checkpoint is set"

# What does this PR do?

Fixes # (issue)


## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

Anyone in the community is free to review the PR once the tests have passed.

Changed files:
filename: src/transformers/integrations/integration_utils.py
patch: @@ -2236,6 +2236,12 @@ def setup(self, args, state, model, **kwargs):
         - **SWANLAB_API_HOST** (`str`, *optional*, defaults to `None`):
             API address for the SwanLab cloud environment for private version (its free)
 
+        - **SWANLAB_RUN_ID** (`str`, *optional*, defaults to `None`):
+            Experiment ID to resume a previous run. Use with `SWANLAB_RESUME` to continue an existing experiment.
+
+        - **SWANLAB_RESUME** (`str`, *optional*, defaults to `None`):
+            Resume mode (`"must"`, `"allow"`, `"never"`). Defaults to `"allow"` when `resume_from_checkpoint` is used.
+
         """
         self._initialized = True
 
@@ -2259,6 +2265,16 @@ def setup(self, args, state, model, **kwargs):
                 init_args["experiment_name"] = trial_name
             init_args["project"] = os.getenv("SWANLAB_PROJECT", None)
 
+            run_id = os.getenv("SWANLAB_RUN_ID", None)
+            if run_id is not None:
+                init_args["id"] = run_id
+
+            resume = os.getenv("SWANLAB_RESUME", None)
+            if resume is not None:
+                init_args["resume"] = resume
+            elif args.resume_from_checkpoint:
+                init_args["resume"] = "allow"
+
             if self._swanlab.get_run() is None:
                 self._swanlab.init(
                     **init_args,
Repository: ollama/ollama
Pull request: Add ollama-bash-toolshed to Community Integrations : Terminal

Ollama Bash Toolshed: Bash scripts to chat with tool using models. Add new tools to your shed with ease. Runs on Ollama.

Repo: https://github.com/attogram/ollama-bash-toolshed

Changed files:
filename: README.md
patch: @@ -455,6 +455,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 - [GGUF-to-Ollama](https://github.com/jonathanhecl/gguf-to-ollama) - Importing GGUF to Ollama made easy (multiplatform)
 - [AWS-Strands-With-Ollama](https://github.com/rapidarchitect/ollama_strands) - AWS Strands Agents with Ollama Examples
 - [ollama-multirun](https://github.com/attogram/ollama-multirun) - A bash shell script to run a single prompt against any or all of your locally installed ollama models, saving the output and performance statistics as easily navigable web pages. ([Demo](https://attogram.github.io/ai_test_zone/))
+- [ollama-bash-toolshed](https://github.com/attogram/ollama-bash-toolshed) - Bash scripts to chat with tool using models. Add new tools to your shed with ease. Runs on Ollama.
 
 ### Apple Vision Pro
Repository: vuejs/vue
Pull request: fix: no such file or directory `compiler-sfc/dist`

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [ ] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [ ] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [ ] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**
`packages/compiler-sfc/dist` does not exist by default, resulting in an error in the build.

```sh
npm run build

[Error: ENOENT: no such file or directory, open '/Users/atom/Desktop/github-lib/vue/packages/compiler-sfc/dist/compiler-sfc.js'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/Users/atom/Desktop/github-lib/vue/packages/compiler-sfc/dist/compiler-sfc.js'
}
```


Changed files:
filename: scripts/build.js
patch: @@ -67,6 +67,9 @@ function write (dest, code, zip) {
       resolve()
     }
 
+    if (!fs.existsSync(path.dirname(dest))) {
+      fs.mkdirSync(path.dirname(dest), { recursive: true })
+    }
     fs.writeFile(dest, code, err => {
       if (err) return reject(err)
       if (zip) {
Repository: electron/electron
Pull request: fix: fullscreen restoration on Windows

Backport of #49872

See that PR for details.


Notes: Fixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. 

Changed files:
filename: shell/browser/ui/win/electron_desktop_window_tree_host_win.cc
patch: @@ -197,6 +197,14 @@ void ElectronDesktopWindowTreeHostWin::SetAllowScreenshots(bool allow) {
   UpdateAllowScreenshots();
 }
 
+// Refs https://chromium-review.googlesource.com/c/chromium/src/+/7095963
+// Chromium's fullscreen handler conflicts with ours and results in incorrect
+// restoration.
+void ElectronDesktopWindowTreeHostWin::Restore() {
+  ::SendMessage(GetAcceleratedWidget(), WM_SYSCOMMAND,
+                static_cast<WPARAM>(SC_RESTORE), 0);
+}
+
 void ElectronDesktopWindowTreeHostWin::UpdateAllowScreenshots() {
   bool allowed = views::DesktopWindowTreeHostWin::AreScreenshotsAllowed();
   if (allowed == allow_screenshots_)

filename: shell/browser/ui/win/electron_desktop_window_tree_host_win.h
patch: @@ -50,6 +50,7 @@ class ElectronDesktopWindowTreeHostWin : public views::DesktopWindowTreeHostWin,
                         LRESULT* result) override;
   void HandleVisibilityChanged(bool visible) override;
   void SetAllowScreenshots(bool allow) override;
+  void Restore() override;
 
   // ui::NativeThemeObserver:
   void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override;

filename: spec/api-browser-window-spec.ts
patch: @@ -4882,6 +4882,27 @@ describe('BrowserWindow module', () => {
       await restore;
       expect(w.isMaximized()).to.equal(true);
     });
+
+    ifit(process.platform !== 'linux')('should not break fullscreen state', async () => {
+      const w = new BrowserWindow({ show: false });
+      w.show();
+
+      const enterFS = once(w, 'enter-full-screen');
+      w.setFullScreen(true);
+      await enterFS;
+      expect(w.isFullScreen()).to.be.true('not fullscreen');
+
+      w.restore();
+      await setTimeout(1000);
+
+      expect(w.isFullScreen()).to.be.true('not fullscreen after restore');
+      expect(w.isMinimized()).to.be.false('should not be minimized');
+
+      // Clean up fullscreen state.
+      const leaveFS = once(w, 'leave-full-screen');
+      w.setFullScreen(false);
+      await leaveFS;
+    });
   });
 
   // TODO(dsanders11): Enable once maximize event works on Linux again on CI
Repository: ollama/ollama
Pull request: ggml: Temporarily disable reporting UUIDs

This is causing segfaults, so disable it. Currently UUIDs are only used for debugging purposes, although they planned to be used in additional ways in the future.

Bug #11211

Changed files:
filename: ml/backend/ggml/ggml.go
patch: @@ -138,7 +138,10 @@ func New(modelPath string, params ml.BackendParams) (ml.Backend, error) {
 	requiredMemory.CPU.Name = C.GoString(C.ggml_backend_dev_name(cpuDeviceBufferType.d))
 	var props C.struct_ggml_backend_dev_props
 	C.ggml_backend_dev_get_props(cpuDeviceBufferType.d, &props)
-	requiredMemory.CPU.UUID = C.GoString(props.uuid)
+
+	// Bug #11211: Reporting of UUIDs is temporarily disabled due to causing segfaults
+	// This only affects debug information until the new memory management code is in place
+	// requiredMemory.CPU.UUID = C.GoString(props.uuid)
 	requiredMemory.CPU.Weights = make([]ml.Memory, blocks+1)
 	requiredMemory.CPU.Cache = make([]ml.Memory, blocks+1)
 
@@ -155,7 +158,7 @@ func New(modelPath string, params ml.BackendParams) (ml.Backend, error) {
 		requiredMemory.GPUs[i].Name = C.GoString(C.ggml_backend_dev_name(d))
 		var props C.struct_ggml_backend_dev_props
 		C.ggml_backend_dev_get_props(d, &props)
-		requiredMemory.GPUs[i].UUID = C.GoString(props.uuid)
+		// requiredMemory.GPUs[i].UUID = C.GoString(props.uuid)
 		requiredMemory.GPUs[i].Weights = make([]ml.Memory, blocks+1)
 		requiredMemory.GPUs[i].Cache = make([]ml.Memory, blocks+1)
 	}
Repository: vercel/next.js
Pull request: Pass shouldCache to all manifest loading calls

A few calls were missing `shouldCache`

Changed files:
filename: packages/next/src/server/load-manifest.external.ts
patch: @@ -122,7 +122,7 @@ export function loadManifestFromRelativePath<T extends object>({
   projectDir: string
   distDir: string
   manifest: string
-  shouldCache?: boolean
+  shouldCache: boolean
   cache?: Map<string, unknown>
   skipParse?: boolean
   handleMissing?: boolean

filename: packages/next/src/server/route-modules/route-module.ts
patch: @@ -347,6 +347,7 @@ export abstract class RouteModule<
           : loadManifestFromRelativePath<RequiredServerFilesManifest>({
               projectDir,
               distDir: this.distDir,
+              shouldCache: true,
               manifest: `${SERVER_FILES_MANIFEST}.json`,
             }),
         this.isDev
@@ -356,11 +357,13 @@ export abstract class RouteModule<
               distDir: this.distDir,
               manifest: BUILD_ID_FILE,
               skipParse: true,
+              shouldCache: true,
             }),
         loadManifestFromRelativePath<any>({
           projectDir,
           distDir: this.distDir,
           manifest: DYNAMIC_CSS_MANIFEST,
+          shouldCache: !this.isDev,
           handleMissing: true,
         }),
       ]
@@ -628,7 +631,7 @@ export abstract class RouteModule<
       // onRequestError below
       ensureInstrumentationRegistered(absoluteProjectDir, this.distDir)
     }
-    const manifests = await this.loadManifests(srcPage, absoluteProjectDir)
+    const manifests = this.loadManifests(srcPage, absoluteProjectDir)
     const { routesManifest, prerenderManifest, serverFilesManifest } = manifests
 
     const { basePath, i18n, rewrites } = routesManifest
Repository: nodejs/node
Pull request: doc: clarify EventEmitter error handling in threat model

## Summary
- Add documentation to SECURITY.md clarifying that applications must attach `'error'` handlers to EventEmitters
- Specify that this includes HTTP streams and other Node.js core streams
- Clarify that crashes from missing error handlers are not considered DoS vulnerabilities

## Test plan
- Documentation-only change, no tests needed

Changed files:
filename: SECURITY.md
patch: @@ -335,6 +335,18 @@ the community they pose.
   proper security boundaries between trusted application logic and untrusted
   user input.
 
+#### Unhandled 'error' Events on EventEmitters (CWE-248)
+
+* EventEmitters that can emit `'error'` events require the application to
+  attach an `'error'` event handler. This includes HTTP streams and other
+  Node.js core streams. If the application fails to attach an `'error'`
+  handler, the EventEmitter will throw an uncaught exception, which may
+  crash the process.
+* Crashes resulting from missing `'error'` handlers are not considered
+  denial-of-service vulnerabilities in Node.js. It is the application's
+  responsibility to properly handle errors by attaching appropriate
+  `'error'` event listeners to EventEmitters that may emit errors.
+
 ## Assessing experimental features reports
 
 Experimental features are eligible for security reports just like any other
Repository: ggml-org/llama.cpp
Pull request: clarify operation of gguf-split

so that you don't have to find out by trial and error

*Make sure to read the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md) before submitting a PR*


Changed files:
filename: tools/gguf-split/README.md
patch: @@ -7,4 +7,4 @@ CLI to split / merge GGUF files.
 - `--split`: split GGUF to multiple GGUF, default operation.
 - `--split-max-size`: max size per split in `M` or `G`, f.ex. `500M` or `2G`.
 - `--split-max-tensors`: maximum tensors in each split: default(128)
-- `--merge`: merge multiple GGUF to a single GGUF.
+- `--merge`: merge multiple GGUF to a single GGUF. You only need to specify the name of the first GGUF to merge, the name of the merged GGUF, and the CLI will find the other GGUFs it needs within the same folder.