@andrebuzeli/git-mcp 2.27.4 → 2.28.1
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/dist/client.d.ts +306 -306
- package/dist/client.js +298 -298
- package/dist/config.d.ts +310 -310
- package/dist/config.js +392 -392
- package/dist/index.d.ts +22 -22
- package/dist/index.js +89 -89
- package/dist/providers/base-provider.d.ts +160 -156
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +274 -260
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/error-handler.d.ts +50 -50
- package/dist/providers/error-handler.js +175 -175
- package/dist/providers/gitea-provider.d.ts +97 -97
- package/dist/providers/gitea-provider.js +1001 -1001
- package/dist/providers/github-provider.d.ts +104 -104
- package/dist/providers/github-provider.js +1234 -1234
- package/dist/providers/index.d.ts +12 -12
- package/dist/providers/index.js +40 -40
- package/dist/providers/provider-factory.d.ts +74 -74
- package/dist/providers/provider-factory.js +311 -311
- package/dist/providers/types.d.ts +318 -298
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +6 -6
- package/dist/server.d.ts +76 -76
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +306 -305
- package/dist/server.js.map +1 -1
- package/dist/tools/gh-actions.d.ts +252 -252
- package/dist/tools/gh-actions.js +389 -389
- package/dist/tools/gh-analytics.d.ts +263 -263
- package/dist/tools/gh-analytics.js +401 -401
- package/dist/tools/gh-code-review.d.ts +304 -304
- package/dist/tools/gh-code-review.js +512 -512
- package/dist/tools/gh-codespaces.d.ts +138 -138
- package/dist/tools/gh-codespaces.js +282 -282
- package/dist/tools/gh-deployments.d.ts +300 -300
- package/dist/tools/gh-deployments.js +367 -367
- package/dist/tools/gh-gists.d.ts +174 -174
- package/dist/tools/gh-gists.js +321 -321
- package/dist/tools/gh-projects.d.ts +205 -205
- package/dist/tools/gh-projects.js +358 -358
- package/dist/tools/gh-security.d.ts +274 -274
- package/dist/tools/gh-security.js +395 -395
- package/dist/tools/gh-sync.d.ts +213 -213
- package/dist/tools/gh-sync.js +378 -378
- package/dist/tools/gh-workflows.d.ts +290 -290
- package/dist/tools/gh-workflows.js +432 -432
- package/dist/tools/git-archive.d.ts +165 -165
- package/dist/tools/git-archive.js +233 -233
- package/dist/tools/git-branches.d.ts +430 -430
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +627 -530
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-bundle.d.ts +171 -171
- package/dist/tools/git-bundle.js +241 -241
- package/dist/tools/git-cherry-pick.d.ts +158 -158
- package/dist/tools/git-cherry-pick.js +224 -224
- package/dist/tools/git-commits.d.ts +485 -485
- package/dist/tools/git-commits.d.ts.map +1 -1
- package/dist/tools/git-commits.js +735 -625
- package/dist/tools/git-commits.js.map +1 -1
- package/dist/tools/git-config.d.ts +140 -140
- package/dist/tools/git-config.js +268 -268
- package/dist/tools/git-files.d.ts +486 -486
- package/dist/tools/git-files.js +607 -607
- package/dist/tools/git-issues.d.ts +571 -571
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +740 -693
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +694 -694
- package/dist/tools/git-pulls.js +732 -732
- package/dist/tools/git-rebase.d.ts +137 -137
- package/dist/tools/git-rebase.js +213 -213
- package/dist/tools/git-releases.d.ts +487 -487
- package/dist/tools/git-releases.js +557 -557
- package/dist/tools/git-remote.d.ts +138 -138
- package/dist/tools/git-remote.js +274 -274
- package/dist/tools/git-repositories.d.ts +483 -483
- package/dist/tools/git-repositories.js +640 -640
- package/dist/tools/git-reset.d.ts +130 -130
- package/dist/tools/git-reset.js +223 -223
- package/dist/tools/git-revert.d.ts +149 -149
- package/dist/tools/git-revert.js +198 -198
- package/dist/tools/git-stash.d.ts +140 -140
- package/dist/tools/git-stash.js +269 -269
- package/dist/tools/git-submodule.d.ts +152 -152
- package/dist/tools/git-submodule.js +289 -289
- package/dist/tools/git-sync.d.ts +178 -166
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +312 -117
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +411 -411
- package/dist/tools/git-tags.js +485 -485
- package/dist/tools/git-webhooks.d.ts +470 -482
- package/dist/tools/git-webhooks.d.ts.map +1 -1
- package/dist/tools/git-webhooks.js +543 -555
- package/dist/tools/git-webhooks.js.map +1 -1
- package/dist/tools/git-worktree.d.ts +159 -159
- package/dist/tools/git-worktree.js +269 -269
- package/dist/tools/repositories.d.ts +405 -405
- package/dist/tools/repositories.js +569 -569
- package/dist/tools/users.d.ts +372 -372
- package/dist/tools/users.js +499 -499
- package/dist/tools/validator.d.ts +170 -170
- package/dist/tools/validator.js +194 -194
- package/dist/tools/version-control.d.ts +136 -136
- package/dist/tools/version-control.js +164 -164
- package/dist/utils/terminal-controller.d.ts +80 -80
- package/dist/utils/terminal-controller.js +345 -345
- package/dist/utils/user-detection.d.ts +24 -24
- package/dist/utils/user-detection.js +53 -53
- package/package.json +59 -59
package/dist/tools/git-revert.js
CHANGED
|
@@ -1,199 +1,199 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.gitRevertTool = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const terminal_controller_js_1 = require("../utils/terminal-controller.js");
|
|
6
|
-
/**
|
|
7
|
-
* Tool: git-revert
|
|
8
|
-
*
|
|
9
|
-
* DESCRIÇÃO:
|
|
10
|
-
* Gerenciamento de revert Git (GitHub + Gitea) com múltiplas ações
|
|
11
|
-
*
|
|
12
|
-
* FUNCIONALIDADES:
|
|
13
|
-
* - Reverter commit específico
|
|
14
|
-
* - Reverter merge commit
|
|
15
|
-
* - Reverter range de commits
|
|
16
|
-
* - Reverter com mensagem customizada
|
|
17
|
-
* - Reverter sem commit automático
|
|
18
|
-
*
|
|
19
|
-
* USO:
|
|
20
|
-
* - Para desfazer commits de forma segura
|
|
21
|
-
* - Para reverter mudanças em branches compartilhadas
|
|
22
|
-
* - Para criar commits de reversão
|
|
23
|
-
* - Para manter histórico limpo
|
|
24
|
-
*
|
|
25
|
-
* RECOMENDAÇÕES:
|
|
26
|
-
* - Use revert em vez de reset para branches compartilhadas
|
|
27
|
-
* - Teste reversões em branches locais primeiro
|
|
28
|
-
* - Documente motivos da reversão
|
|
29
|
-
*/
|
|
30
|
-
const GitRevertInputSchema = zod_1.z.object({
|
|
31
|
-
action: zod_1.z.enum(['revert-commit', 'revert-merge', 'revert-range']),
|
|
32
|
-
// owner: obtido automaticamente do provider,
|
|
33
|
-
repo: zod_1.z.string(),
|
|
34
|
-
provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
|
|
35
|
-
projectPath: zod_1.z.string().describe('Local project path for git operations'),
|
|
36
|
-
// Para revert-commit
|
|
37
|
-
commit_hash: zod_1.z.string().optional(),
|
|
38
|
-
message: zod_1.z.string().optional(),
|
|
39
|
-
no_commit: zod_1.z.boolean().optional(),
|
|
40
|
-
// Para revert-merge
|
|
41
|
-
merge_commit_hash: zod_1.z.string().optional(),
|
|
42
|
-
mainline: zod_1.z.number().optional(),
|
|
43
|
-
// Para revert-range
|
|
44
|
-
commit_range: zod_1.z.string().optional(),
|
|
45
|
-
strategy: zod_1.z.enum(['ours', 'theirs']).optional(),
|
|
46
|
-
});
|
|
47
|
-
const GitRevertResultSchema = zod_1.z.object({
|
|
48
|
-
success: zod_1.z.boolean(),
|
|
49
|
-
action: zod_1.z.string(),
|
|
50
|
-
message: zod_1.z.string(),
|
|
51
|
-
data: zod_1.z.any().optional(),
|
|
52
|
-
error: zod_1.z.string().optional()
|
|
53
|
-
});
|
|
54
|
-
exports.gitRevertTool = {
|
|
55
|
-
name: 'git-revert',
|
|
56
|
-
description: 'tool: Gerencia operações Git revert para desfazer mudanças de forma segura\n──────────────\naction revert-commit: reverte commit específico\naction revert-commit requires: repo, commit_hash, message, no_commit, provider, projectPath\n───────────────\naction revert-merge: reverte merge commit\naction revert-merge requires: repo, merge_commit_hash, mainline, message, provider, projectPath\n───────────────\naction revert-range: reverte range de commits\naction revert-range requires: repo, commit_range, strategy, message, provider, projectPath',
|
|
57
|
-
inputSchema: {
|
|
58
|
-
type: 'object',
|
|
59
|
-
properties: {
|
|
60
|
-
action: {
|
|
61
|
-
type: 'string',
|
|
62
|
-
enum: ['revert-commit', 'revert-merge', 'revert-range'],
|
|
63
|
-
description: 'Action to perform on revert'
|
|
64
|
-
},
|
|
65
|
-
owner: { type: 'string', description: 'Repository owner' },
|
|
66
|
-
repo: { type: 'string', description: 'Repository name' },
|
|
67
|
-
provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
|
|
68
|
-
projectPath: { type: 'string', description: 'Local project path for git operations' },
|
|
69
|
-
commit_hash: { type: 'string', description: 'Commit hash to revert' },
|
|
70
|
-
message: { type: 'string', description: 'Custom revert message' },
|
|
71
|
-
no_commit: { type: 'boolean', description: 'Do not commit automatically' },
|
|
72
|
-
merge_commit_hash: { type: 'string', description: 'Merge commit hash to revert' },
|
|
73
|
-
mainline: { type: 'number', description: 'Mainline for merge revert' },
|
|
74
|
-
commit_range: { type: 'string', description: 'Commit range to revert' },
|
|
75
|
-
strategy: { type: 'string', enum: ['ours', 'theirs'], description: 'Revert strategy' }
|
|
76
|
-
},
|
|
77
|
-
required: ['action', 'repo', 'provider', 'projectPath']
|
|
78
|
-
},
|
|
79
|
-
async handler(input) {
|
|
80
|
-
try {
|
|
81
|
-
const validatedInput = GitRevertInputSchema.parse(input);
|
|
82
|
-
switch (validatedInput.action) {
|
|
83
|
-
case 'revert-commit':
|
|
84
|
-
return await this.revertCommit(validatedInput);
|
|
85
|
-
case 'revert-merge':
|
|
86
|
-
return await this.revertMerge(validatedInput);
|
|
87
|
-
case 'revert-range':
|
|
88
|
-
return await this.revertRange(validatedInput);
|
|
89
|
-
default:
|
|
90
|
-
throw new Error(`Ação não suportada: ${validatedInput.action}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
return {
|
|
95
|
-
success: false,
|
|
96
|
-
action: input.action,
|
|
97
|
-
message: 'Erro na operação de revert',
|
|
98
|
-
error: error instanceof Error ? error.message : String(error)
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
async revertCommit(params) {
|
|
103
|
-
try {
|
|
104
|
-
if (!params.commit_hash) {
|
|
105
|
-
throw new Error('commit_hash é obrigatório para revert-commit');
|
|
106
|
-
}
|
|
107
|
-
let gitCommand = `revert ${params.commit_hash}`;
|
|
108
|
-
if (params.no_commit) {
|
|
109
|
-
gitCommand += ' --no-commit';
|
|
110
|
-
}
|
|
111
|
-
if (params.message) {
|
|
112
|
-
gitCommand += ` -m "${params.message}"`;
|
|
113
|
-
}
|
|
114
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de commit');
|
|
115
|
-
if (result.exitCode !== 0) {
|
|
116
|
-
throw new Error(`Falha no revert de commit: ${result.output}`);
|
|
117
|
-
}
|
|
118
|
-
return {
|
|
119
|
-
success: true,
|
|
120
|
-
action: 'revert-commit',
|
|
121
|
-
message: `Commit ${params.commit_hash} revertido com sucesso`,
|
|
122
|
-
data: {
|
|
123
|
-
commit_hash: params.commit_hash,
|
|
124
|
-
message: params.message,
|
|
125
|
-
no_commit: params.no_commit,
|
|
126
|
-
output: result.output
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
throw new Error(`Falha ao executar revert de commit: ${error instanceof Error ? error.message : String(error)}`);
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
async revertMerge(params) {
|
|
135
|
-
try {
|
|
136
|
-
if (!params.merge_commit_hash) {
|
|
137
|
-
throw new Error('merge_commit_hash é obrigatório para revert-merge');
|
|
138
|
-
}
|
|
139
|
-
if (!params.mainline) {
|
|
140
|
-
throw new Error('mainline é obrigatório para revert de merge');
|
|
141
|
-
}
|
|
142
|
-
let gitCommand = `revert -m ${params.mainline} ${params.merge_commit_hash}`;
|
|
143
|
-
if (params.message) {
|
|
144
|
-
gitCommand += ` -m "${params.message}"`;
|
|
145
|
-
}
|
|
146
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de merge');
|
|
147
|
-
if (result.exitCode !== 0) {
|
|
148
|
-
throw new Error(`Falha no revert de merge: ${result.output}`);
|
|
149
|
-
}
|
|
150
|
-
return {
|
|
151
|
-
success: true,
|
|
152
|
-
action: 'revert-merge',
|
|
153
|
-
message: `Merge commit ${params.merge_commit_hash} revertido com sucesso`,
|
|
154
|
-
data: {
|
|
155
|
-
merge_commit_hash: params.merge_commit_hash,
|
|
156
|
-
mainline: params.mainline,
|
|
157
|
-
message: params.message,
|
|
158
|
-
output: result.output
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
throw new Error(`Falha ao executar revert de merge: ${error instanceof Error ? error.message : String(error)}`);
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
async revertRange(params) {
|
|
167
|
-
try {
|
|
168
|
-
if (!params.commit_range) {
|
|
169
|
-
throw new Error('commit_range é obrigatório para revert-range');
|
|
170
|
-
}
|
|
171
|
-
let gitCommand = `revert ${params.commit_range}`;
|
|
172
|
-
if (params.strategy) {
|
|
173
|
-
gitCommand += ` -X ${params.strategy}`;
|
|
174
|
-
}
|
|
175
|
-
if (params.message) {
|
|
176
|
-
gitCommand += ` -m "${params.message}"`;
|
|
177
|
-
}
|
|
178
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de range');
|
|
179
|
-
if (result.exitCode !== 0) {
|
|
180
|
-
throw new Error(`Falha no revert de range: ${result.output}`);
|
|
181
|
-
}
|
|
182
|
-
return {
|
|
183
|
-
success: true,
|
|
184
|
-
action: 'revert-range',
|
|
185
|
-
message: `Range ${params.commit_range} revertido com sucesso`,
|
|
186
|
-
data: {
|
|
187
|
-
commit_range: params.commit_range,
|
|
188
|
-
strategy: params.strategy,
|
|
189
|
-
message: params.message,
|
|
190
|
-
output: result.output
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
throw new Error(`Falha ao executar revert de range: ${error instanceof Error ? error.message : String(error)}`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gitRevertTool = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const terminal_controller_js_1 = require("../utils/terminal-controller.js");
|
|
6
|
+
/**
|
|
7
|
+
* Tool: git-revert
|
|
8
|
+
*
|
|
9
|
+
* DESCRIÇÃO:
|
|
10
|
+
* Gerenciamento de revert Git (GitHub + Gitea) com múltiplas ações
|
|
11
|
+
*
|
|
12
|
+
* FUNCIONALIDADES:
|
|
13
|
+
* - Reverter commit específico
|
|
14
|
+
* - Reverter merge commit
|
|
15
|
+
* - Reverter range de commits
|
|
16
|
+
* - Reverter com mensagem customizada
|
|
17
|
+
* - Reverter sem commit automático
|
|
18
|
+
*
|
|
19
|
+
* USO:
|
|
20
|
+
* - Para desfazer commits de forma segura
|
|
21
|
+
* - Para reverter mudanças em branches compartilhadas
|
|
22
|
+
* - Para criar commits de reversão
|
|
23
|
+
* - Para manter histórico limpo
|
|
24
|
+
*
|
|
25
|
+
* RECOMENDAÇÕES:
|
|
26
|
+
* - Use revert em vez de reset para branches compartilhadas
|
|
27
|
+
* - Teste reversões em branches locais primeiro
|
|
28
|
+
* - Documente motivos da reversão
|
|
29
|
+
*/
|
|
30
|
+
const GitRevertInputSchema = zod_1.z.object({
|
|
31
|
+
action: zod_1.z.enum(['revert-commit', 'revert-merge', 'revert-range']),
|
|
32
|
+
// owner: obtido automaticamente do provider,
|
|
33
|
+
repo: zod_1.z.string(),
|
|
34
|
+
provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
|
|
35
|
+
projectPath: zod_1.z.string().describe('Local project path for git operations'),
|
|
36
|
+
// Para revert-commit
|
|
37
|
+
commit_hash: zod_1.z.string().optional(),
|
|
38
|
+
message: zod_1.z.string().optional(),
|
|
39
|
+
no_commit: zod_1.z.boolean().optional(),
|
|
40
|
+
// Para revert-merge
|
|
41
|
+
merge_commit_hash: zod_1.z.string().optional(),
|
|
42
|
+
mainline: zod_1.z.number().optional(),
|
|
43
|
+
// Para revert-range
|
|
44
|
+
commit_range: zod_1.z.string().optional(),
|
|
45
|
+
strategy: zod_1.z.enum(['ours', 'theirs']).optional(),
|
|
46
|
+
});
|
|
47
|
+
const GitRevertResultSchema = zod_1.z.object({
|
|
48
|
+
success: zod_1.z.boolean(),
|
|
49
|
+
action: zod_1.z.string(),
|
|
50
|
+
message: zod_1.z.string(),
|
|
51
|
+
data: zod_1.z.any().optional(),
|
|
52
|
+
error: zod_1.z.string().optional()
|
|
53
|
+
});
|
|
54
|
+
exports.gitRevertTool = {
|
|
55
|
+
name: 'git-revert',
|
|
56
|
+
description: 'tool: Gerencia operações Git revert para desfazer mudanças de forma segura\n──────────────\naction revert-commit: reverte commit específico\naction revert-commit requires: repo, commit_hash, message, no_commit, provider, projectPath\n───────────────\naction revert-merge: reverte merge commit\naction revert-merge requires: repo, merge_commit_hash, mainline, message, provider, projectPath\n───────────────\naction revert-range: reverte range de commits\naction revert-range requires: repo, commit_range, strategy, message, provider, projectPath',
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
properties: {
|
|
60
|
+
action: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
enum: ['revert-commit', 'revert-merge', 'revert-range'],
|
|
63
|
+
description: 'Action to perform on revert'
|
|
64
|
+
},
|
|
65
|
+
owner: { type: 'string', description: 'Repository owner' },
|
|
66
|
+
repo: { type: 'string', description: 'Repository name' },
|
|
67
|
+
provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
|
|
68
|
+
projectPath: { type: 'string', description: 'Local project path for git operations' },
|
|
69
|
+
commit_hash: { type: 'string', description: 'Commit hash to revert' },
|
|
70
|
+
message: { type: 'string', description: 'Custom revert message' },
|
|
71
|
+
no_commit: { type: 'boolean', description: 'Do not commit automatically' },
|
|
72
|
+
merge_commit_hash: { type: 'string', description: 'Merge commit hash to revert' },
|
|
73
|
+
mainline: { type: 'number', description: 'Mainline for merge revert' },
|
|
74
|
+
commit_range: { type: 'string', description: 'Commit range to revert' },
|
|
75
|
+
strategy: { type: 'string', enum: ['ours', 'theirs'], description: 'Revert strategy' }
|
|
76
|
+
},
|
|
77
|
+
required: ['action', 'repo', 'provider', 'projectPath']
|
|
78
|
+
},
|
|
79
|
+
async handler(input) {
|
|
80
|
+
try {
|
|
81
|
+
const validatedInput = GitRevertInputSchema.parse(input);
|
|
82
|
+
switch (validatedInput.action) {
|
|
83
|
+
case 'revert-commit':
|
|
84
|
+
return await this.revertCommit(validatedInput);
|
|
85
|
+
case 'revert-merge':
|
|
86
|
+
return await this.revertMerge(validatedInput);
|
|
87
|
+
case 'revert-range':
|
|
88
|
+
return await this.revertRange(validatedInput);
|
|
89
|
+
default:
|
|
90
|
+
throw new Error(`Ação não suportada: ${validatedInput.action}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
action: input.action,
|
|
97
|
+
message: 'Erro na operação de revert',
|
|
98
|
+
error: error instanceof Error ? error.message : String(error)
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
async revertCommit(params) {
|
|
103
|
+
try {
|
|
104
|
+
if (!params.commit_hash) {
|
|
105
|
+
throw new Error('commit_hash é obrigatório para revert-commit');
|
|
106
|
+
}
|
|
107
|
+
let gitCommand = `revert ${params.commit_hash}`;
|
|
108
|
+
if (params.no_commit) {
|
|
109
|
+
gitCommand += ' --no-commit';
|
|
110
|
+
}
|
|
111
|
+
if (params.message) {
|
|
112
|
+
gitCommand += ` -m "${params.message}"`;
|
|
113
|
+
}
|
|
114
|
+
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de commit');
|
|
115
|
+
if (result.exitCode !== 0) {
|
|
116
|
+
throw new Error(`Falha no revert de commit: ${result.output}`);
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
action: 'revert-commit',
|
|
121
|
+
message: `Commit ${params.commit_hash} revertido com sucesso`,
|
|
122
|
+
data: {
|
|
123
|
+
commit_hash: params.commit_hash,
|
|
124
|
+
message: params.message,
|
|
125
|
+
no_commit: params.no_commit,
|
|
126
|
+
output: result.output
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
throw new Error(`Falha ao executar revert de commit: ${error instanceof Error ? error.message : String(error)}`);
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
async revertMerge(params) {
|
|
135
|
+
try {
|
|
136
|
+
if (!params.merge_commit_hash) {
|
|
137
|
+
throw new Error('merge_commit_hash é obrigatório para revert-merge');
|
|
138
|
+
}
|
|
139
|
+
if (!params.mainline) {
|
|
140
|
+
throw new Error('mainline é obrigatório para revert de merge');
|
|
141
|
+
}
|
|
142
|
+
let gitCommand = `revert -m ${params.mainline} ${params.merge_commit_hash}`;
|
|
143
|
+
if (params.message) {
|
|
144
|
+
gitCommand += ` -m "${params.message}"`;
|
|
145
|
+
}
|
|
146
|
+
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de merge');
|
|
147
|
+
if (result.exitCode !== 0) {
|
|
148
|
+
throw new Error(`Falha no revert de merge: ${result.output}`);
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
success: true,
|
|
152
|
+
action: 'revert-merge',
|
|
153
|
+
message: `Merge commit ${params.merge_commit_hash} revertido com sucesso`,
|
|
154
|
+
data: {
|
|
155
|
+
merge_commit_hash: params.merge_commit_hash,
|
|
156
|
+
mainline: params.mainline,
|
|
157
|
+
message: params.message,
|
|
158
|
+
output: result.output
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
throw new Error(`Falha ao executar revert de merge: ${error instanceof Error ? error.message : String(error)}`);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
async revertRange(params) {
|
|
167
|
+
try {
|
|
168
|
+
if (!params.commit_range) {
|
|
169
|
+
throw new Error('commit_range é obrigatório para revert-range');
|
|
170
|
+
}
|
|
171
|
+
let gitCommand = `revert ${params.commit_range}`;
|
|
172
|
+
if (params.strategy) {
|
|
173
|
+
gitCommand += ` -X ${params.strategy}`;
|
|
174
|
+
}
|
|
175
|
+
if (params.message) {
|
|
176
|
+
gitCommand += ` -m "${params.message}"`;
|
|
177
|
+
}
|
|
178
|
+
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de range');
|
|
179
|
+
if (result.exitCode !== 0) {
|
|
180
|
+
throw new Error(`Falha no revert de range: ${result.output}`);
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
success: true,
|
|
184
|
+
action: 'revert-range',
|
|
185
|
+
message: `Range ${params.commit_range} revertido com sucesso`,
|
|
186
|
+
data: {
|
|
187
|
+
commit_range: params.commit_range,
|
|
188
|
+
strategy: params.strategy,
|
|
189
|
+
message: params.message,
|
|
190
|
+
output: result.output
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
throw new Error(`Falha ao executar revert de range: ${error instanceof Error ? error.message : String(error)}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
199
|
//# sourceMappingURL=git-revert.js.map
|