git-chopstick-core 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -1
- package/README.md +5 -3
- package/dist/git/index.d.ts +1 -0
- package/dist/git/index.js +1 -0
- package/dist/git/index.js.map +1 -1
- package/dist/git/log.d.ts +17 -1
- package/dist/git/log.js +17 -0
- package/dist/git/log.js.map +1 -1
- package/dist/git/show.d.ts +11 -0
- package/dist/git/show.js +17 -0
- package/dist/git/show.js.map +1 -1
- package/dist/git/stash.d.ts +8 -2
- package/dist/git/stash.js +12 -6
- package/dist/git/stash.js.map +1 -1
- package/dist/git/tag.d.ts +12 -0
- package/dist/git/tag.js +23 -0
- package/dist/git/tag.js.map +1 -1
- package/dist/models/index.d.ts +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/status.d.ts +6 -0
- package/dist/models/status.js +23 -0
- package/dist/models/status.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/integration.test.ts +180 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.11] — 2026-06-13
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **`getTags(path)`**: New path-based helper in `tag.ts` returning `ReadonlyArray<TagEntry>` (`{name, sha}[]`). Uses `git show-ref --tags -d` with annotated-tag normalization. Returns `[]` for tag-less repos and non-repo paths.
|
|
7
|
+
- **`getStashesByPath(path)`**: Path-based stash listing in `stash.ts`. `getStashes(repository)` delegates to it internally. `StashResult` type now exported.
|
|
8
|
+
- **`getFileAtCommit(repoPath, sha, file)`**: New helper in `show.ts` returning file content as `string` via `git show ${sha}:${file}`. Throws with descriptive message for non-existent files.
|
|
9
|
+
- **`appFileStatusToString(status)`**: New helper in `models/status.ts` converting `AppFileStatus` to human-readable strings (Added, Modified, Deleted, Renamed, Copied, Conflicted, Untracked).
|
|
10
|
+
- **`getChangedFilesFlat(repository, sha)`**: New helper in `log.ts` returning `ReadonlyArray<FlatFileChange>` (`{path, statusKind, oldPath?}`). Wraps `getChangedFiles` and flattens the `CommittedFileChange.status` union.
|
|
11
|
+
- **`examples/commit-file-browser.ts`**: CLI demo walking through the "Browse file tree at any commit" feature using `getFileAtCommit`, `getChangedFilesFlat`, and `getCommits`.
|
|
12
|
+
- **Integration tests**: 14 new tests covering `getTags` (3), `getFileAtCommit` (4), `getChangedFilesFlat` (3), `getStashesByPath` (3), and `appFileStatusToString` (1). Total: 45 tests.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **`show.js` missing from git barrel**: `src/git/index.ts` now exports `show.js`, making `getFileAtCommit` (and `getBlobContents`/`getPartialBlobContents`) available through the root barrel.
|
|
16
|
+
- **`getTags` exit code 128**: Non-repo paths now return `[]` instead of throwing, by adding exit code 128 to `successExitCodes`.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **README**: Updated API reference for `tag.ts`, `stash.ts`, `show.ts`, `log.ts`, and domain models table.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
3
23
|
## [0.1.10] — 2026-06-13
|
|
4
24
|
|
|
5
25
|
### Added
|
|
@@ -155,6 +175,7 @@
|
|
|
155
175
|
|
|
156
176
|
---
|
|
157
177
|
|
|
178
|
+
[0.1.11]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.11
|
|
158
179
|
[0.1.10]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.10
|
|
159
180
|
[0.1.9]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.9
|
|
160
181
|
[0.1.8]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.8
|
|
@@ -166,4 +187,4 @@
|
|
|
166
187
|
[0.1.2]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.2
|
|
167
188
|
[0.1.1]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.1
|
|
168
189
|
[0.1.0]: https://github.com/parkiyong/git-chopstick-core/releases/tag/v0.1.0
|
|
169
|
-
[Unreleased]: https://github.com/parkiyong/git-chopstick-core/compare/v0.1.
|
|
190
|
+
[Unreleased]: https://github.com/parkiyong/git-chopstick-core/compare/v0.1.11...HEAD
|
package/README.md
CHANGED
|
@@ -220,7 +220,7 @@ try {
|
|
|
220
220
|
| `init` | `initGitRepository` | Initialize a repo |
|
|
221
221
|
| `interpret-trailers` | `parseRawUnfoldedTrailers`, `isCoAuthoredByTrailer`, `getTrailerSeparatorCharacters` | Git trailer parsing |
|
|
222
222
|
| `lfs` | `installGlobalLFSFilters`, `isUsingLFS`, `isTrackedByLFS`, `filesNotTrackedByLFS` | Git LFS support |
|
|
223
|
-
| `log` | `getCommits`, `getCommit`, `getChangedFiles`, `getAuthors` | Commit history |
|
|
223
|
+
| `log` | `getCommits`, `getCommit`, `getChangedFiles`, `getChangedFilesFlat`, `getAuthors` | Commit history |
|
|
224
224
|
| `merge` | `merge`, `getMergeBase`, `abortMerge` | Merge branches |
|
|
225
225
|
| `merge-tree` | `determineMergeability` | Test mergeability without merging |
|
|
226
226
|
| `pull` | `pull` | Pull from remote |
|
|
@@ -237,10 +237,10 @@ try {
|
|
|
237
237
|
| `rm` | `removeConflictedFile` | Remove files |
|
|
238
238
|
| `squash` | `squash` | Interactive rebase squashing |
|
|
239
239
|
| `stage` | `stageManualConflictResolution`, `stageResolvedConflictFiles` | Stage conflict resolutions |
|
|
240
|
-
| `stash` | `getStashes`, `createStashEntry`, `popStashEntry`, `getStashedFiles`, `dropStashEntry` | Stash management |
|
|
240
|
+
| `stash` | `getStashes`, `getStashesByPath`, `createStashEntry`, `popStashEntry`, `getStashedFiles`, `dropStashEntry` | Stash management |
|
|
241
241
|
| `status` | `getStatus` | Repository status |
|
|
242
242
|
| `submodule` | `updateSubmodulesAfterOperation`, `listSubmodules`, `resetSubmodulePaths` | Submodule operations |
|
|
243
|
-
| `tag` | `createTag`, `deleteTag`, `getAllTags` | Tag management |
|
|
243
|
+
| `tag` | `createTag`, `deleteTag`, `getTags`, `getAllTags` | Tag management |
|
|
244
244
|
| `update-index` | `stageFiles` | Stage files |
|
|
245
245
|
| `update-ref` | `updateRef`, `deleteRef` | Ref updates |
|
|
246
246
|
| `var` | `getAuthorIdentity` | Git var queries |
|
|
@@ -257,6 +257,8 @@ try {
|
|
|
257
257
|
| `Branch` | class | Branch with upstream tracking info |
|
|
258
258
|
| `BranchType` | enum | `Local` or `Remote` |
|
|
259
259
|
| `AppFileStatusKind` | enum | `New`, `Modified`, `Deleted`, `Renamed`, `Copied`, `Conflicted`, `Untracked` |
|
|
260
|
+
| `appFileStatusToString` | fn | Converts `AppFileStatus` to human-readable string |
|
|
261
|
+
| `FlatFileChange` | type | `{ path: string; statusKind: AppFileStatusKind; oldPath?: string }` |
|
|
260
262
|
| `FileChange` | class | Base file change model |
|
|
261
263
|
| `WorkingDirectoryFileChange` | class | Uncommitted file change with diff selection |
|
|
262
264
|
| `CommittedFileChange` | class | File change from a commit |
|
package/dist/git/index.d.ts
CHANGED
package/dist/git/index.js
CHANGED
package/dist/git/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,4BAA4B,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAEjH,uBAAuB;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,4BAA4B,EAAE,SAAS,EAAyB,MAAM,WAAW,CAAC;AAEjH,uBAAuB;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA"}
|
package/dist/git/log.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CommittedFileChange } from '../models/status.js';
|
|
1
|
+
import { CommittedFileChange, AppFileStatusKind } from '../models/status.js';
|
|
2
2
|
import { Repository } from '../models/repository.js';
|
|
3
3
|
import { Commit } from '../models/commit.js';
|
|
4
4
|
import { CommitIdentity } from '../models/commit-identity.js';
|
|
@@ -15,6 +15,22 @@ export interface IChangesetData {
|
|
|
15
15
|
/** Number of lines deleted in the changeset. */
|
|
16
16
|
readonly linesDeleted: number;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* A flattened file change record, suitable for serialization or UI lists.
|
|
20
|
+
*/
|
|
21
|
+
export type FlatFileChange = {
|
|
22
|
+
path: string;
|
|
23
|
+
statusKind: AppFileStatusKind;
|
|
24
|
+
oldPath?: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* A flattened variant of `getChangedFiles` that returns simple objects
|
|
28
|
+
* instead of `CommittedFileChange` class instances.
|
|
29
|
+
*
|
|
30
|
+
* Consumers that just need path + status kind + optional old path can use
|
|
31
|
+
* this instead of mapping `CommittedFileChange.status` themselves.
|
|
32
|
+
*/
|
|
33
|
+
export declare function getChangedFilesFlat(repository: Repository, sha: string): Promise<ReadonlyArray<FlatFileChange>>;
|
|
18
34
|
/** Get the files that were changed in the given commit. */
|
|
19
35
|
export declare function getChangedFiles(repository: Repository, sha: string): Promise<IChangesetData>;
|
|
20
36
|
/**
|
package/dist/git/log.js
CHANGED
|
@@ -142,6 +142,23 @@ export async function getCommits(repository, revisionRange, limit, skip, additio
|
|
|
142
142
|
parseRawUnfoldedTrailers(commit.trailers.toString(), ':'), tags);
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* A flattened variant of `getChangedFiles` that returns simple objects
|
|
147
|
+
* instead of `CommittedFileChange` class instances.
|
|
148
|
+
*
|
|
149
|
+
* Consumers that just need path + status kind + optional old path can use
|
|
150
|
+
* this instead of mapping `CommittedFileChange.status` themselves.
|
|
151
|
+
*/
|
|
152
|
+
export async function getChangedFilesFlat(repository, sha) {
|
|
153
|
+
const { files } = await getChangedFiles(repository, sha);
|
|
154
|
+
return files.map(f => ({
|
|
155
|
+
path: f.path,
|
|
156
|
+
statusKind: f.status.kind,
|
|
157
|
+
...('oldPath' in f.status && f.status.oldPath !== undefined
|
|
158
|
+
? { oldPath: f.status.oldPath }
|
|
159
|
+
: {}),
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
145
162
|
/** Get the files that were changed in the given commit. */
|
|
146
163
|
export async function getChangedFiles(repository, sha) {
|
|
147
164
|
// opt-in for rename detection (-M) and copies detection (-C)
|
package/dist/git/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/git/log.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/git/log.ts"],"names":[],"mappings":"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"}
|
package/dist/git/show.d.ts
CHANGED
|
@@ -16,6 +16,17 @@ import { Repository } from '../models/repository.js';
|
|
|
16
16
|
* root from where to read the blob contents
|
|
17
17
|
*/
|
|
18
18
|
export declare const getBlobContents: (repository: Repository, commitish: string, path: string) => Promise<Buffer<ArrayBufferLike>>;
|
|
19
|
+
/**
|
|
20
|
+
* Get the text contents of a file at a specific commit, using a path string.
|
|
21
|
+
*
|
|
22
|
+
* Returns the file contents as a string, or throws if the file doesn't
|
|
23
|
+
* exist in the given commit.
|
|
24
|
+
*
|
|
25
|
+
* @param repoPath - The repository path on disk
|
|
26
|
+
* @param sha - The commit SHA to read the file from
|
|
27
|
+
* @param file - The file path relative to the repository root
|
|
28
|
+
*/
|
|
29
|
+
export declare function getFileAtCommit(repoPath: string, sha: string, file: string): Promise<string>;
|
|
19
30
|
/**
|
|
20
31
|
* Retrieve some or all binary contents of a blob from the repository
|
|
21
32
|
* at a given reference, commit, or tree. This is almost identical
|
package/dist/git/show.js
CHANGED
|
@@ -21,6 +21,23 @@ export const getBlobContents = (repository, commitish, path) => git(['show', `${
|
|
|
21
21
|
successExitCodes: new Set([0, 1]),
|
|
22
22
|
encoding: 'buffer',
|
|
23
23
|
}).then(r => r.stdout);
|
|
24
|
+
/**
|
|
25
|
+
* Get the text contents of a file at a specific commit, using a path string.
|
|
26
|
+
*
|
|
27
|
+
* Returns the file contents as a string, or throws if the file doesn't
|
|
28
|
+
* exist in the given commit.
|
|
29
|
+
*
|
|
30
|
+
* @param repoPath - The repository path on disk
|
|
31
|
+
* @param sha - The commit SHA to read the file from
|
|
32
|
+
* @param file - The file path relative to the repository root
|
|
33
|
+
*/
|
|
34
|
+
export async function getFileAtCommit(repoPath, sha, file) {
|
|
35
|
+
const result = await git(['show', `${sha}:${file}`], repoPath, 'getFileAtCommit', { successExitCodes: new Set([0, 1]) });
|
|
36
|
+
if (result.exitCode !== 0) {
|
|
37
|
+
throw new Error(`File '${file}' not found at commit ${sha}`);
|
|
38
|
+
}
|
|
39
|
+
return result.stdout;
|
|
40
|
+
}
|
|
24
41
|
/**
|
|
25
42
|
* Retrieve some or all binary contents of a blob from the repository
|
|
26
43
|
* at a given reference, commit, or tree. This is almost identical
|
package/dist/git/show.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/git/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,EAAE,CACF,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE;IACxE,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,MAAc;IAEd,OAAO,uCAAuC,CAC5C,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,MAAc;IAEd,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;IAE7C,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,yCAAyC,EAAE;QAC3E,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACzD,QAAQ,EAAE,QAAQ;KACnB,CAAC;SACC,IAAI,CAAC,CAAC,CAAC,EAAE,CACR,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAChE;SACA,KAAK,CAAC,CAAC,CAAC,EAAE,CACT,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3E,CAAA;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/git/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,EAAE,CACF,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE;IACxE,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,GAAW,EACX,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,EAC1B,QAAQ,EACR,iBAAiB,EACjB,EAAE,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CACtC,CAAA;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,yBAAyB,GAAG,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,MAAc;IAEd,OAAO,uCAAuC,CAC5C,UAAU,EACV,SAAS,EACT,IAAI,EACJ,MAAM,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,UAAsB,EACtB,SAAiB,EACjB,IAAY,EACZ,MAAc;IAEd,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;IAE7C,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,yCAAyC,EAAE;QAC3E,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACzD,QAAQ,EAAE,QAAQ;KACnB,CAAC;SACC,IAAI,CAAC,CAAC,CAAC,EAAE,CACR,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAChE;SACA,KAAK,CAAC,CAAC,CAAC,EAAE,CACT,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAC3E,CAAA;AACL,CAAC"}
|
package/dist/git/stash.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ import { IStashEntry } from '../models/stash-entry.js';
|
|
|
3
3
|
import { WorkingDirectoryFileChange, CommittedFileChange } from '../models/status.js';
|
|
4
4
|
import { Branch } from '../models/branch.js';
|
|
5
5
|
export declare const DesktopStashEntryMarker = "!!GitHub_Desktop";
|
|
6
|
-
|
|
6
|
+
/** The result of listing stash entries. */
|
|
7
|
+
export type StashResult = {
|
|
7
8
|
/** The stash entries created by Desktop */
|
|
8
9
|
readonly desktopEntries: ReadonlyArray<IStashEntry>;
|
|
9
10
|
/**
|
|
@@ -12,6 +13,12 @@ type StashResult = {
|
|
|
12
13
|
*/
|
|
13
14
|
readonly stashEntryCount: number;
|
|
14
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Get the list of stash entries for a repository path.
|
|
18
|
+
* Uses the default ordering of refs (which is LIFO ordering),
|
|
19
|
+
* as well as the total amount of stash entries.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getStashesByPath(path: string): Promise<StashResult>;
|
|
15
22
|
/**
|
|
16
23
|
* Get the list of stash entries created by Desktop in the current repository
|
|
17
24
|
* using the default ordering of refs (which is LIFO ordering),
|
|
@@ -50,4 +57,3 @@ export declare function dropDesktopStashEntry(repository: Repository, stashSha:
|
|
|
50
57
|
export declare function popStashEntry(repository: Repository, stashSha: string): Promise<void>;
|
|
51
58
|
/** Get the files that were changed in the given stash commit */
|
|
52
59
|
export declare function getStashedFiles(repository: Repository, stashSha: string): Promise<ReadonlyArray<CommittedFileChange>>;
|
|
53
|
-
export {};
|
package/dist/git/stash.js
CHANGED
|
@@ -14,11 +14,11 @@ export const DesktopStashEntryMarker = '!!GitHub_Desktop';
|
|
|
14
14
|
*/
|
|
15
15
|
const desktopStashEntryMessageRe = /!!GitHub_Desktop<(.+)>$/;
|
|
16
16
|
/**
|
|
17
|
-
* Get the list of stash entries
|
|
18
|
-
*
|
|
17
|
+
* Get the list of stash entries for a repository path.
|
|
18
|
+
* Uses the default ordering of refs (which is LIFO ordering),
|
|
19
19
|
* as well as the total amount of stash entries.
|
|
20
20
|
*/
|
|
21
|
-
export async function
|
|
21
|
+
export async function getStashesByPath(path) {
|
|
22
22
|
const { formatArgs, parse } = createLogParser({
|
|
23
23
|
name: '%gD',
|
|
24
24
|
stashSha: '%H',
|
|
@@ -26,9 +26,7 @@ export async function getStashes(repository) {
|
|
|
26
26
|
tree: '%T',
|
|
27
27
|
parents: '%P',
|
|
28
28
|
});
|
|
29
|
-
const result = await git(['log', '-g', ...formatArgs, 'refs/stash', '--'],
|
|
30
|
-
// There's no refs/stashes reflog in the repository or it's not
|
|
31
|
-
// even a repository. In either case we don't care
|
|
29
|
+
const result = await git(['log', '-g', ...formatArgs, 'refs/stash', '--'], path, 'getStashEntries', { successExitCodes: new Set([0, 128]) });
|
|
32
30
|
if (result.exitCode === 128) {
|
|
33
31
|
return { desktopEntries: [], stashEntryCount: 0 };
|
|
34
32
|
}
|
|
@@ -50,6 +48,14 @@ export async function getStashes(repository) {
|
|
|
50
48
|
}
|
|
51
49
|
return { desktopEntries, stashEntryCount: entries.length - 1 };
|
|
52
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the list of stash entries created by Desktop in the current repository
|
|
53
|
+
* using the default ordering of refs (which is LIFO ordering),
|
|
54
|
+
* as well as the total amount of stash entries.
|
|
55
|
+
*/
|
|
56
|
+
export async function getStashes(repository) {
|
|
57
|
+
return getStashesByPath(repository.path);
|
|
58
|
+
}
|
|
53
59
|
/**
|
|
54
60
|
* Moves a stash entry to a different branch by means of creating
|
|
55
61
|
* a new stash entry associated with the new branch and dropping the old
|
package/dist/git/stash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/git/stash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAEL,wBAAwB,GAEzB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"stash.js","sourceRoot":"","sources":["../../src/git/stash.ts"],"names":[],"mappings":"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"}
|
package/dist/git/tag.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Repository } from '../models/repository.js';
|
|
2
2
|
import { IRemote } from '../models/remote.js';
|
|
3
|
+
/** A tag with its name and the commit SHA it points to. */
|
|
4
|
+
export type TagEntry = {
|
|
5
|
+
name: string;
|
|
6
|
+
sha: string;
|
|
7
|
+
};
|
|
3
8
|
/**
|
|
4
9
|
* Create a new tag on the given target commit.
|
|
5
10
|
*
|
|
@@ -15,6 +20,13 @@ export declare function createTag(repository: Repository, name: string, targetCo
|
|
|
15
20
|
* @param name - The name of the tag to delete.
|
|
16
21
|
*/
|
|
17
22
|
export declare function deleteTag(repository: Repository, name: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Get all tags in the repository at the given path.
|
|
25
|
+
*
|
|
26
|
+
* Returns an array of tag entries. Uses the same normalization as
|
|
27
|
+
* `getAllTags` (resolving annotated tag ^{} suffixes).
|
|
28
|
+
*/
|
|
29
|
+
export declare function getTags(path: string): Promise<ReadonlyArray<TagEntry>>;
|
|
18
30
|
/**
|
|
19
31
|
* Gets all the local tags. Returns a Map with the tag name and the commit it points to.
|
|
20
32
|
*
|
package/dist/git/tag.js
CHANGED
|
@@ -21,6 +21,29 @@ export async function deleteTag(repository, name) {
|
|
|
21
21
|
const args = ['tag', '-d', name];
|
|
22
22
|
await git(args, repository.path, 'deleteTag');
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Get all tags in the repository at the given path.
|
|
26
|
+
*
|
|
27
|
+
* Returns an array of tag entries. Uses the same normalization as
|
|
28
|
+
* `getAllTags` (resolving annotated tag ^{} suffixes).
|
|
29
|
+
*/
|
|
30
|
+
export async function getTags(path) {
|
|
31
|
+
const result = await git(['show-ref', '--tags', '-d'], path, 'getTags', {
|
|
32
|
+
successExitCodes: new Set([0, 1, 128]),
|
|
33
|
+
});
|
|
34
|
+
if (result.exitCode !== 0 || result.stdout.trim().length === 0) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
const tagMap = new Map();
|
|
38
|
+
for (const line of result.stdout.trim().split('\n')) {
|
|
39
|
+
const [sha, ref] = line.split(' ');
|
|
40
|
+
if (!sha || !ref)
|
|
41
|
+
continue;
|
|
42
|
+
const name = ref.replace(/^refs\/tags\//, '').replace(/\^\{\}$/, '');
|
|
43
|
+
tagMap.set(name, sha);
|
|
44
|
+
}
|
|
45
|
+
return Array.from(tagMap, ([name, sha]) => ({ name, sha }));
|
|
46
|
+
}
|
|
24
47
|
/**
|
|
25
48
|
* Gets all the local tags. Returns a Map with the tag name and the commit it points to.
|
|
26
49
|
*
|
package/dist/git/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/git/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/git/tag.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export * from './worktree.js';
|
|
|
15
15
|
export * from './diff/index.js';
|
|
16
16
|
export { ComputedAction } from './computed-action.js';
|
|
17
17
|
export type { RebaseInternalState, RebaseProgressOptions } from './rebase.js';
|
|
18
|
-
export { AppFileStatusKind, CommittedFileChange, WorkingDirectoryFileChange, WorkingDirectoryStatus, FileChange, isConflictedFileStatus, isConflictWithMarkers, GitStatusEntry, UnmergedEntrySummary, } from './status.js';
|
|
18
|
+
export { AppFileStatusKind, CommittedFileChange, WorkingDirectoryFileChange, WorkingDirectoryStatus, FileChange, appFileStatusToString, isConflictedFileStatus, isConflictWithMarkers, GitStatusEntry, UnmergedEntrySummary, } from './status.js';
|
|
19
19
|
export type { AppFileStatus } from './status.js';
|
|
20
20
|
export type { SubmoduleStatus } from './status.js';
|
|
21
21
|
export type { SubmoduleEntry } from './submodule.js';
|
package/dist/models/index.js
CHANGED
|
@@ -16,5 +16,5 @@ export * from './diff/index.js';
|
|
|
16
16
|
// computed-action and rebase both export ComputedAction — use explicit exports
|
|
17
17
|
export { ComputedAction } from './computed-action.js';
|
|
18
18
|
// status and submodule both export SubmoduleStatus — use explicit exports
|
|
19
|
-
export { AppFileStatusKind, CommittedFileChange, WorkingDirectoryFileChange, WorkingDirectoryStatus, FileChange, isConflictedFileStatus, isConflictWithMarkers, GitStatusEntry, UnmergedEntrySummary, } from './status.js';
|
|
19
|
+
export { AppFileStatusKind, CommittedFileChange, WorkingDirectoryFileChange, WorkingDirectoryStatus, FileChange, appFileStatusToString, isConflictedFileStatus, isConflictWithMarkers, GitStatusEntry, UnmergedEntrySummary, } from './status.js';
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,YAAY,CAAA;AAC1B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAE/B,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,0EAA0E;AAC1E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,YAAY,CAAA;AAC1B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAE/B,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,0EAA0E;AAC1E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAA"}
|
package/dist/models/status.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export type UntrackedFileStatus = {
|
|
|
48
48
|
submoduleStatus?: SubmoduleStatus;
|
|
49
49
|
};
|
|
50
50
|
export type AppFileStatus = PlainFileStatus | CopiedOrRenamedFileStatus | ConflictedFileStatus | UntrackedFileStatus;
|
|
51
|
+
/**
|
|
52
|
+
* Convert an AppFileStatus to a human-readable string.
|
|
53
|
+
*
|
|
54
|
+
* Examples: "Added", "Modified", "Deleted", "Renamed", "Copied", "Conflicted", "Untracked"
|
|
55
|
+
*/
|
|
56
|
+
export declare function appFileStatusToString(status: AppFileStatus): string;
|
|
51
57
|
export type SubmoduleStatus = {
|
|
52
58
|
readonly commitChanged: boolean;
|
|
53
59
|
readonly modifiedChanges: boolean;
|
package/dist/models/status.js
CHANGED
|
@@ -27,6 +27,29 @@ export function isConflictedFileStatus(appFileStatus) {
|
|
|
27
27
|
export function isConflictWithMarkers(conflictedFileStatus) {
|
|
28
28
|
return 'conflictMarkerCount' in conflictedFileStatus;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Convert an AppFileStatus to a human-readable string.
|
|
32
|
+
*
|
|
33
|
+
* Examples: "Added", "Modified", "Deleted", "Renamed", "Copied", "Conflicted", "Untracked"
|
|
34
|
+
*/
|
|
35
|
+
export function appFileStatusToString(status) {
|
|
36
|
+
switch (status.kind) {
|
|
37
|
+
case AppFileStatusKind.New:
|
|
38
|
+
return 'Added';
|
|
39
|
+
case AppFileStatusKind.Modified:
|
|
40
|
+
return 'Modified';
|
|
41
|
+
case AppFileStatusKind.Deleted:
|
|
42
|
+
return 'Deleted';
|
|
43
|
+
case AppFileStatusKind.Renamed:
|
|
44
|
+
return 'Renamed';
|
|
45
|
+
case AppFileStatusKind.Copied:
|
|
46
|
+
return 'Copied';
|
|
47
|
+
case AppFileStatusKind.Conflicted:
|
|
48
|
+
return 'Conflicted';
|
|
49
|
+
case AppFileStatusKind.Untracked:
|
|
50
|
+
return 'Untracked';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
30
53
|
export var UnmergedEntrySummary;
|
|
31
54
|
(function (UnmergedEntrySummary) {
|
|
32
55
|
UnmergedEntrySummary["AddedByUs"] = "added-by-us";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/models/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,CAAN,IAAY,cAUX;AAVD,WAAY,cAAc;IACxB,gCAAc,CAAA;IACd,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,8BAAY,CAAA;IACZ,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,0CAAwB,CAAA;AAC1B,CAAC,EAVW,cAAc,KAAd,cAAc,QAUzB;AAED,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,4CAAuB,CAAA;AACzB,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AA6BD,MAAM,UAAU,sBAAsB,CACpC,aAA4B;IAE5B,OAAO,aAAa,CAAC,IAAI,KAAK,iBAAiB,CAAC,UAAU,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,oBAA0C;IAE1C,OAAO,qBAAqB,IAAI,oBAAoB,CAAA;AACtD,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/models/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,CAAN,IAAY,cAUX;AAVD,WAAY,cAAc;IACxB,gCAAc,CAAA;IACd,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,8BAAY,CAAA;IACZ,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,0CAAwB,CAAA;AAC1B,CAAC,EAVW,cAAc,KAAd,cAAc,QAUzB;AAED,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,gCAAW,CAAA;IACX,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,4CAAuB,CAAA;AACzB,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AA6BD,MAAM,UAAU,sBAAsB,CACpC,aAA4B;IAE5B,OAAO,aAAa,CAAC,IAAI,KAAK,iBAAiB,CAAC,UAAU,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,oBAA0C;IAE1C,OAAO,qBAAqB,IAAI,oBAAoB,CAAA;AACtD,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,GAAG;YACxB,OAAO,OAAO,CAAA;QAChB,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,OAAO,UAAU,CAAA;QACnB,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,SAAS,CAAA;QAClB,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,SAAS,CAAA;QAClB,KAAK,iBAAiB,CAAC,MAAM;YAC3B,OAAO,QAAQ,CAAA;QACjB,KAAK,iBAAiB,CAAC,UAAU;YAC/B,OAAO,YAAY,CAAA;QACrB,KAAK,iBAAiB,CAAC,SAAS;YAC9B,OAAO,WAAW,CAAA;IACtB,CAAC;AACH,CAAC;AAwBD,MAAM,CAAN,IAAY,oBAQX;AARD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,qDAA6B,CAAA;IAC7B,qDAA6B,CAAA;IAC7B,yDAAiC,CAAA;IACjC,oDAA4B,CAAA;IAC5B,gDAAwB,CAAA;IACxB,sDAA8B,CAAA;AAChC,CAAC,EARW,oBAAoB,KAApB,oBAAoB,QAQ/B;AAiDD,MAAM,OAAO,UAAU;IAIH;IACA;IAJF,EAAE,CAAQ;IAE1B,YACkB,IAAY,EACZ,MAAqB;QADrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAe;QAErC,IACE,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,OAAO;YACzC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,EACxC,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;QACpC,CAAC;IACH,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,OAAO,CAAA;IACvD,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,GAAG,CAAA;IACnD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,QAAQ,CAAA;IACxD,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IAItC;IAHlB,YACE,IAAY,EACZ,MAAqB,EACL,SAAwB;QAExC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAFH,cAAS,GAAT,SAAS,CAAe;IAG1C,CAAC;IAEM,cAAc,CAAC,OAAgB;QACpC,MAAM,YAAY,GAAG,OAAO;YAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;YAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAA;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACzC,CAAC;IAEM,aAAa,CAAC,SAAwB;QAC3C,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,iBAAiB,CAAC,GAAG,CAAA;IACpE,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,iBAAiB,CAAC,IAAI,CAAA;IACrE,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAI/B;IACA;IAJlB,YACE,IAAY,EACZ,MAAqB,EACL,SAAiB,EACjB,eAAuB;QAEvC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAHH,cAAS,GAAT,SAAS,CAAQ;QACjB,oBAAe,GAAf,eAAe,CAAQ;IAGzC,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IAUf;IACA;IAVX,MAAM,CAAC,SAAS,CACrB,KAAgD;QAEhD,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,CAAC;IAEgB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvD,YACkB,KAAgD,EAChD,aAA6B,IAAI;QADjC,UAAK,GAAL,KAAK,CAA2C;QAChD,eAAU,GAAV,UAAU,CAAuB;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAEM,mBAAmB,CAAC,UAAmB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QAClE,OAAO,IAAI,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACzD,CAAC;IAEM,cAAc,CAAC,EAAU;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAEM,iBAAiB,CAAC,EAAU;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAClC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,KAAgD;IAEhD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,iBAAiB,CAAC,GAAG,CAC9D,CAAA;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,iBAAiB,CAAC,IAAI,CAC/D,CAAA;IAED,IAAI,WAAW;QAAE,OAAO,IAAI,CAAA;IAC5B,IAAI,YAAY;QAAE,OAAO,KAAK,CAAA;IAC9B,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,11 @@ import {
|
|
|
11
11
|
addRemote, removeRemote, setRemoteURL,
|
|
12
12
|
merge, MergeResult,
|
|
13
13
|
rebase, RebaseResult,
|
|
14
|
-
getStashes,
|
|
14
|
+
getStashes, getStashesByPath,
|
|
15
|
+
createDesktopStashEntry, popStashEntry,
|
|
16
|
+
getTags, getFileAtCommit,
|
|
17
|
+
getChangedFilesFlat, getChangedFiles,
|
|
18
|
+
appFileStatusToString, AppFileStatusKind,
|
|
15
19
|
} from '../index.js'
|
|
16
20
|
import {
|
|
17
21
|
setupFixtureRepo, cleanupFixtureRepo, git,
|
|
@@ -160,6 +164,181 @@ describe('Tag operations', () => {
|
|
|
160
164
|
expect(tags.size).toBeGreaterThanOrEqual(1)
|
|
161
165
|
expect(tags.has('v0.1.0')).toBe(true)
|
|
162
166
|
})
|
|
167
|
+
|
|
168
|
+
it('getTags returns the same tags as getAllTags', async () => {
|
|
169
|
+
const tags = await getTags(repoPath)
|
|
170
|
+
expect(tags.length).toBeGreaterThanOrEqual(1)
|
|
171
|
+
|
|
172
|
+
const v010 = tags.find(t => t.name === 'v0.1.0')
|
|
173
|
+
expect(v010).toBeTruthy()
|
|
174
|
+
expect(v010!.sha).toMatch(/^[a-f0-9]{40}$/)
|
|
175
|
+
|
|
176
|
+
// Verify consistency with getAllTags
|
|
177
|
+
const allTags = await getAllTags(repo)
|
|
178
|
+
expect(tags.length).toBe(allTags.size)
|
|
179
|
+
for (const t of tags) {
|
|
180
|
+
expect(allTags.get(t.name)).toBe(t.sha)
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
it('getTags returns empty array for a tag-less repo', async () => {
|
|
185
|
+
const noTagPath = mkdtempSync(join(tmpdir(), 'gcctest-notags-'))
|
|
186
|
+
execSync(`git init ${noTagPath}`, { stdio: 'pipe' })
|
|
187
|
+
execSync(
|
|
188
|
+
`git -C ${noTagPath} commit --allow-empty -m 'init'`,
|
|
189
|
+
{ stdio: 'pipe' }
|
|
190
|
+
)
|
|
191
|
+
const tags = await getTags(noTagPath)
|
|
192
|
+
expect(tags).toEqual([])
|
|
193
|
+
execSync(`rm -rf ${noTagPath}`)
|
|
194
|
+
})
|
|
195
|
+
|
|
196
|
+
it('getTags returns empty array for a non-repo path', async () => {
|
|
197
|
+
const nonRepoPath = mkdtempSync(join(tmpdir(), 'gcctest-nonrepo-'))
|
|
198
|
+
const tags = await getTags(nonRepoPath)
|
|
199
|
+
expect(tags).toEqual([])
|
|
200
|
+
execSync(`rm -rf ${nonRepoPath}`)
|
|
201
|
+
})
|
|
202
|
+
})
|
|
203
|
+
|
|
204
|
+
describe('getFileAtCommit', () => {
|
|
205
|
+
it('reads README.md at HEAD', async () => {
|
|
206
|
+
const content = await getFileAtCommit(repoPath, 'HEAD', 'README.md')
|
|
207
|
+
expect(content).toContain('# Test Repo')
|
|
208
|
+
})
|
|
209
|
+
|
|
210
|
+
it('reads a file at the initial commit', async () => {
|
|
211
|
+
const commits = await getCommits(repo, 'HEAD', 10)
|
|
212
|
+
const initialSha = commits[commits.length - 1].sha
|
|
213
|
+
const content = await getFileAtCommit(repoPath, initialSha, 'README.md')
|
|
214
|
+
expect(content).toContain('# Test Repo')
|
|
215
|
+
})
|
|
216
|
+
|
|
217
|
+
it('reads src/index.js at a commit where it exists', async () => {
|
|
218
|
+
// The second commit adds src/index.js with 'console.log("hi")'
|
|
219
|
+
const commits = await getCommits(repo, 'HEAD', 10)
|
|
220
|
+
// Second-to-last commit has the initial version
|
|
221
|
+
const secondCommit = commits[commits.length - 2].sha
|
|
222
|
+
const content = await getFileAtCommit(repoPath, secondCommit, 'src/index.js')
|
|
223
|
+
expect(content.trim()).toBe('console.log("hi")')
|
|
224
|
+
})
|
|
225
|
+
|
|
226
|
+
it('throws for a file that does not exist at the given commit', async () => {
|
|
227
|
+
await expect(
|
|
228
|
+
getFileAtCommit(repoPath, 'HEAD', 'nonexistent-file.txt')
|
|
229
|
+
).rejects.toThrow()
|
|
230
|
+
})
|
|
231
|
+
})
|
|
232
|
+
|
|
233
|
+
describe('getChangedFilesFlat', () => {
|
|
234
|
+
it('returns flat file changes for the merge commit', async () => {
|
|
235
|
+
const commits = await getCommits(repo, 'HEAD', 10)
|
|
236
|
+
// The merge commit merged feature/one (which added feature-one.txt)
|
|
237
|
+
const mergeSha = commits[0].sha
|
|
238
|
+
const flat = await getChangedFilesFlat(repo, mergeSha)
|
|
239
|
+
|
|
240
|
+
expect(flat.length).toBeGreaterThanOrEqual(1)
|
|
241
|
+
|
|
242
|
+
// Each entry should have path and statusKind
|
|
243
|
+
for (const f of flat) {
|
|
244
|
+
expect(f).toHaveProperty('path')
|
|
245
|
+
expect(f).toHaveProperty('statusKind')
|
|
246
|
+
expect(Object.values(AppFileStatusKind)).toContain(f.statusKind)
|
|
247
|
+
// oldPath should only be present for Renamed/Copied files
|
|
248
|
+
if (f.statusKind === AppFileStatusKind.Renamed || f.statusKind === AppFileStatusKind.Copied) {
|
|
249
|
+
expect(f.oldPath).toBeTruthy()
|
|
250
|
+
} else {
|
|
251
|
+
expect(f.oldPath).toBeUndefined()
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
})
|
|
255
|
+
|
|
256
|
+
it('matches structure from getChangedFiles', async () => {
|
|
257
|
+
const commits = await getCommits(repo, 'HEAD', 10)
|
|
258
|
+
const mergeSha = commits[0].sha
|
|
259
|
+
|
|
260
|
+
const [flat, full] = await Promise.all([
|
|
261
|
+
getChangedFilesFlat(repo, mergeSha),
|
|
262
|
+
getChangedFiles(repo, mergeSha),
|
|
263
|
+
])
|
|
264
|
+
|
|
265
|
+
expect(flat.length).toBe(full.files.length)
|
|
266
|
+
|
|
267
|
+
for (let i = 0; i < flat.length; i++) {
|
|
268
|
+
expect(flat[i].path).toBe(full.files[i].path)
|
|
269
|
+
expect(flat[i].statusKind).toBe(full.files[i].status.kind)
|
|
270
|
+
|
|
271
|
+
if (
|
|
272
|
+
full.files[i].status.kind === AppFileStatusKind.Renamed ||
|
|
273
|
+
full.files[i].status.kind === AppFileStatusKind.Copied
|
|
274
|
+
) {
|
|
275
|
+
expect(flat[i].oldPath).toBe(full.files[i].status.oldPath)
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
it('throws for an unborn HEAD', async () => {
|
|
281
|
+
const unbornPath = mkdtempSync(join(tmpdir(), 'gcctest-unborn-'))
|
|
282
|
+
execSync(`git init ${unbornPath}`, { stdio: 'pipe' })
|
|
283
|
+
const unbornRepo = new Repository(unbornPath, 1)
|
|
284
|
+
// Cannot get changed files for a commit that doesn't exist
|
|
285
|
+
await expect(
|
|
286
|
+
getChangedFilesFlat(unbornRepo, 'HEAD')
|
|
287
|
+
).rejects.toThrow()
|
|
288
|
+
execSync(`rm -rf ${unbornPath}`)
|
|
289
|
+
})
|
|
290
|
+
})
|
|
291
|
+
|
|
292
|
+
describe('getStashesByPath', () => {
|
|
293
|
+
it('returns empty stashes when no stash exists', async () => {
|
|
294
|
+
const result = await getStashesByPath(repoPath)
|
|
295
|
+
expect(result.desktopEntries).toEqual([])
|
|
296
|
+
expect(result.stashEntryCount).toBe(0)
|
|
297
|
+
})
|
|
298
|
+
|
|
299
|
+
it('returns same result as getStashes after creating a stash', async () => {
|
|
300
|
+
// Create a working directory change
|
|
301
|
+
writeFileSync(join(repoPath, 'stash-by-path-test.txt'), 'stash me')
|
|
302
|
+
git(repoPath, 'add stash-by-path-test.txt')
|
|
303
|
+
|
|
304
|
+
await createDesktopStashEntry(repo, 'main', [], null)
|
|
305
|
+
|
|
306
|
+
const byPath = await getStashesByPath(repoPath)
|
|
307
|
+
const byRepo = await getStashes(repo)
|
|
308
|
+
|
|
309
|
+
expect(byPath.desktopEntries.length).toBe(byRepo.desktopEntries.length)
|
|
310
|
+
expect(byPath.stashEntryCount).toBe(byRepo.stashEntryCount)
|
|
311
|
+
|
|
312
|
+
// Verify the entry has expected fields
|
|
313
|
+
const entry = byPath.desktopEntries[0]
|
|
314
|
+
expect(entry.branchName).toBe('main')
|
|
315
|
+
expect(entry.stashSha).toMatch(/^[a-f0-9]{40}$/)
|
|
316
|
+
|
|
317
|
+
// Clean up: pop the stash, unstage, and remove the test file
|
|
318
|
+
await popStashEntry(repo, entry.stashSha)
|
|
319
|
+
git(repoPath, 'reset HEAD -- stash-by-path-test.txt')
|
|
320
|
+
execSync(`rm -f ${join(repoPath, 'stash-by-path-test.txt')}`)
|
|
321
|
+
})
|
|
322
|
+
|
|
323
|
+
it('returns empty for a non-repo path', async () => {
|
|
324
|
+
const nonRepoPath = mkdtempSync(join(tmpdir(), 'gcctest-nonrepo-'))
|
|
325
|
+
const result = await getStashesByPath(nonRepoPath)
|
|
326
|
+
expect(result.desktopEntries).toEqual([])
|
|
327
|
+
expect(result.stashEntryCount).toBe(0)
|
|
328
|
+
execSync(`rm -rf ${nonRepoPath}`)
|
|
329
|
+
})
|
|
330
|
+
})
|
|
331
|
+
|
|
332
|
+
describe('appFileStatusToString', () => {
|
|
333
|
+
it('maps each status kind to a human-readable string', () => {
|
|
334
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.New })).toBe('Added')
|
|
335
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Modified })).toBe('Modified')
|
|
336
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Deleted })).toBe('Deleted')
|
|
337
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Renamed })).toBe('Renamed')
|
|
338
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Copied })).toBe('Copied')
|
|
339
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Conflicted })).toBe('Conflicted')
|
|
340
|
+
expect(appFileStatusToString({ kind: AppFileStatusKind.Untracked })).toBe('Untracked')
|
|
341
|
+
})
|
|
163
342
|
})
|
|
164
343
|
|
|
165
344
|
describe('getRepositorySummary', () => {
|