isomorphic-git 1.38.10 → 1.39.0

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/index.cjs CHANGED
@@ -3745,6 +3745,16 @@ class CommitNotFetchedError extends BaseError {
3745
3745
  /** @type {'CommitNotFetchedError'} */
3746
3746
  CommitNotFetchedError.code = 'CommitNotFetchedError';
3747
3747
 
3748
+ class EmptyCommitError extends BaseError {
3749
+ constructor() {
3750
+ super('Cannot create an empty commit when disallowEmpty is true.');
3751
+ this.code = this.name = EmptyCommitError.code;
3752
+ this.data = {};
3753
+ }
3754
+ }
3755
+ /** @type {'EmptyCommitError'} */
3756
+ EmptyCommitError.code = 'EmptyCommitError';
3757
+
3748
3758
  class EmptyServerResponseError extends BaseError {
3749
3759
  constructor() {
3750
3760
  super(`Empty response from git server.`);
@@ -4063,6 +4073,7 @@ var Errors = /*#__PURE__*/Object.freeze({
4063
4073
  CherryPickMergeCommitError: CherryPickMergeCommitError,
4064
4074
  CherryPickRootCommitError: CherryPickRootCommitError,
4065
4075
  CommitNotFetchedError: CommitNotFetchedError,
4076
+ EmptyCommitError: EmptyCommitError,
4066
4077
  EmptyServerResponseError: EmptyServerResponseError,
4067
4078
  FastForwardError: FastForwardError,
4068
4079
  GitPushError: GitPushError,
@@ -5976,6 +5987,8 @@ async function _readCommit({ fs, cache, gitdir, oid }) {
5976
5987
 
5977
5988
  // @ts-check
5978
5989
 
5990
+ const EMPTY_TREE_OID = '4b825dc642cb6eb9a060e54bf8d69288fbee4904';
5991
+
5979
5992
  /**
5980
5993
  *
5981
5994
  * @param {Object} args
@@ -5998,6 +6011,7 @@ async function _readCommit({ fs, cache, gitdir, oid }) {
5998
6011
  * @param {boolean} [args.amend = false]
5999
6012
  * @param {boolean} [args.dryRun = false]
6000
6013
  * @param {boolean} [args.noUpdateBranch = false]
6014
+ * @param {boolean} [args.disallowEmpty = false]
6001
6015
  * @param {string} [args.ref]
6002
6016
  * @param {string[]} [args.parent]
6003
6017
  * @param {string} [args.tree]
@@ -6016,6 +6030,7 @@ async function _commit({
6016
6030
  amend = false,
6017
6031
  dryRun = false,
6018
6032
  noUpdateBranch = false,
6033
+ disallowEmpty = false,
6019
6034
  ref,
6020
6035
  parent,
6021
6036
  tree,
@@ -6103,6 +6118,15 @@ async function _commit({
6103
6118
  );
6104
6119
  }
6105
6120
 
6121
+ if (
6122
+ disallowEmpty &&
6123
+ !amend &&
6124
+ ((initialCommit && tree === EMPTY_TREE_OID) ||
6125
+ (!initialCommit && tree === refCommit.commit.tree))
6126
+ ) {
6127
+ throw new EmptyCommitError()
6128
+ }
6129
+
6106
6130
  // Determine message of this commit
6107
6131
  if (!message) {
6108
6132
  if (!amend) {
@@ -9499,8 +9523,8 @@ function filterCapabilities(server, client) {
9499
9523
 
9500
9524
  const pkg = {
9501
9525
  name: 'isomorphic-git',
9502
- version: '1.38.10',
9503
- agent: 'git/isomorphic-git@1.38.10',
9526
+ version: '1.39.0',
9527
+ agent: 'git/isomorphic-git@1.39.0',
9504
9528
  };
9505
9529
 
9506
9530
  class FIFO {
@@ -10487,6 +10511,7 @@ async function clone({
10487
10511
  * @param {boolean} [args.amend = false] - If true, replaces the last commit pointed to by `ref` with a new commit.
10488
10512
  * @param {boolean} [args.dryRun = false] - If true, simulates making a commit so you can test whether it would succeed. Implies `noUpdateBranch`.
10489
10513
  * @param {boolean} [args.noUpdateBranch = false] - If true, does not update the branch pointer after creating the commit.
10514
+ * @param {boolean} [args.disallowEmpty = false] - If true, throws an error instead of creating a commit with no staged changes.
10490
10515
  * @param {string} [args.ref] - The fully expanded name of the branch to commit to. Default is the current branch pointed to by HEAD. (TODO: fix it so it can expand branch names without throwing if the branch doesn't exist yet.)
10491
10516
  * @param {string[]} [args.parent] - The SHA-1 object ids of the commits to use as parents. If not specified, the commit pointed to by `ref` is used.
10492
10517
  * @param {string} [args.tree] - The SHA-1 object id of the tree to use. If not specified, a new tree object is created from the current git index.
@@ -10519,6 +10544,7 @@ async function commit({
10519
10544
  amend = false,
10520
10545
  dryRun = false,
10521
10546
  noUpdateBranch = false,
10547
+ disallowEmpty = false,
10522
10548
  ref,
10523
10549
  parent,
10524
10550
  tree,
@@ -10547,6 +10573,7 @@ async function commit({
10547
10573
  amend,
10548
10574
  dryRun,
10549
10575
  noUpdateBranch,
10576
+ disallowEmpty,
10550
10577
  ref,
10551
10578
  parent,
10552
10579
  tree,
package/index.d.cts CHANGED
@@ -633,6 +633,7 @@ export var Errors: Readonly<{
633
633
  CherryPickMergeCommitError: typeof CherryPickMergeCommitError;
634
634
  CherryPickRootCommitError: typeof CherryPickRootCommitError;
635
635
  CommitNotFetchedError: typeof CommitNotFetchedError;
636
+ EmptyCommitError: typeof EmptyCommitError;
636
637
  EmptyServerResponseError: typeof EmptyServerResponseError;
637
638
  FastForwardError: typeof FastForwardError;
638
639
  GitPushError: typeof GitPushError;
@@ -1128,6 +1129,7 @@ export function clone({ fs, http, onProgress, onMessage, onAuth, onAuthSuccess,
1128
1129
  * @param {boolean} [args.amend = false] - If true, replaces the last commit pointed to by `ref` with a new commit.
1129
1130
  * @param {boolean} [args.dryRun = false] - If true, simulates making a commit so you can test whether it would succeed. Implies `noUpdateBranch`.
1130
1131
  * @param {boolean} [args.noUpdateBranch = false] - If true, does not update the branch pointer after creating the commit.
1132
+ * @param {boolean} [args.disallowEmpty = false] - If true, throws an error instead of creating a commit with no staged changes.
1131
1133
  * @param {string} [args.ref] - The fully expanded name of the branch to commit to. Default is the current branch pointed to by HEAD. (TODO: fix it so it can expand branch names without throwing if the branch doesn't exist yet.)
1132
1134
  * @param {string[]} [args.parent] - The SHA-1 object ids of the commits to use as parents. If not specified, the commit pointed to by `ref` is used.
1133
1135
  * @param {string} [args.tree] - The SHA-1 object id of the tree to use. If not specified, a new tree object is created from the current git index.
@@ -1148,7 +1150,7 @@ export function clone({ fs, http, onProgress, onMessage, onAuth, onAuthSuccess,
1148
1150
  * console.log(sha)
1149
1151
  *
1150
1152
  */
1151
- export function commit({ fs: _fs, onSign, dir, gitdir, message, author, committer, signingKey, amend, dryRun, noUpdateBranch, ref, parent, tree, cache, }: {
1153
+ export function commit({ fs: _fs, onSign, dir, gitdir, message, author, committer, signingKey, amend, dryRun, noUpdateBranch, disallowEmpty, ref, parent, tree, cache, }: {
1152
1154
  fs: FsClient;
1153
1155
  onSign?: SignCallback | undefined;
1154
1156
  dir?: string | undefined;
@@ -1170,6 +1172,7 @@ export function commit({ fs: _fs, onSign, dir, gitdir, message, author, committe
1170
1172
  amend?: boolean | undefined;
1171
1173
  dryRun?: boolean | undefined;
1172
1174
  noUpdateBranch?: boolean | undefined;
1175
+ disallowEmpty?: boolean | undefined;
1173
1176
  ref?: string | undefined;
1174
1177
  parent?: string[] | undefined;
1175
1178
  tree?: string | undefined;
@@ -4029,6 +4032,16 @@ declare namespace CommitNotFetchedError {
4029
4032
  let code_5: "CommitNotFetchedError";
4030
4033
  export { code_5 as code };
4031
4034
  }
4035
+ declare class EmptyCommitError extends BaseError {
4036
+ constructor();
4037
+ code: "EmptyCommitError";
4038
+ name: "EmptyCommitError";
4039
+ data: {};
4040
+ }
4041
+ declare namespace EmptyCommitError {
4042
+ let code_6: "EmptyCommitError";
4043
+ export { code_6 as code };
4044
+ }
4032
4045
  declare class EmptyServerResponseError extends BaseError {
4033
4046
  constructor();
4034
4047
  code: "EmptyServerResponseError";
@@ -4036,8 +4049,8 @@ declare class EmptyServerResponseError extends BaseError {
4036
4049
  data: {};
4037
4050
  }
4038
4051
  declare namespace EmptyServerResponseError {
4039
- let code_6: "EmptyServerResponseError";
4040
- export { code_6 as code };
4052
+ let code_7: "EmptyServerResponseError";
4053
+ export { code_7 as code };
4041
4054
  }
4042
4055
  declare class FastForwardError extends BaseError {
4043
4056
  constructor();
@@ -4046,8 +4059,8 @@ declare class FastForwardError extends BaseError {
4046
4059
  data: {};
4047
4060
  }
4048
4061
  declare namespace FastForwardError {
4049
- let code_7: "FastForwardError";
4050
- export { code_7 as code };
4062
+ let code_8: "FastForwardError";
4063
+ export { code_8 as code };
4051
4064
  }
4052
4065
  declare class GitPushError extends BaseError {
4053
4066
  /**
@@ -4063,8 +4076,8 @@ declare class GitPushError extends BaseError {
4063
4076
  };
4064
4077
  }
4065
4078
  declare namespace GitPushError {
4066
- let code_8: "GitPushError";
4067
- export { code_8 as code };
4079
+ let code_9: "GitPushError";
4080
+ export { code_9 as code };
4068
4081
  }
4069
4082
  declare class HttpError extends BaseError {
4070
4083
  /**
@@ -4082,8 +4095,8 @@ declare class HttpError extends BaseError {
4082
4095
  };
4083
4096
  }
4084
4097
  declare namespace HttpError {
4085
- let code_9: "HttpError";
4086
- export { code_9 as code };
4098
+ let code_10: "HttpError";
4099
+ export { code_10 as code };
4087
4100
  }
4088
4101
  declare class InternalError extends BaseError {
4089
4102
  /**
@@ -4097,8 +4110,8 @@ declare class InternalError extends BaseError {
4097
4110
  };
4098
4111
  }
4099
4112
  declare namespace InternalError {
4100
- let code_10: "InternalError";
4101
- export { code_10 as code };
4113
+ let code_11: "InternalError";
4114
+ export { code_11 as code };
4102
4115
  }
4103
4116
  declare class InvalidFilepathError extends BaseError {
4104
4117
  /**
@@ -4112,8 +4125,8 @@ declare class InvalidFilepathError extends BaseError {
4112
4125
  };
4113
4126
  }
4114
4127
  declare namespace InvalidFilepathError {
4115
- let code_11: "InvalidFilepathError";
4116
- export { code_11 as code };
4128
+ let code_12: "InvalidFilepathError";
4129
+ export { code_12 as code };
4117
4130
  }
4118
4131
  declare class InvalidOidError extends BaseError {
4119
4132
  /**
@@ -4127,8 +4140,8 @@ declare class InvalidOidError extends BaseError {
4127
4140
  };
4128
4141
  }
4129
4142
  declare namespace InvalidOidError {
4130
- let code_12: "InvalidOidError";
4131
- export { code_12 as code };
4143
+ let code_13: "InvalidOidError";
4144
+ export { code_13 as code };
4132
4145
  }
4133
4146
  declare class InvalidRefNameError extends BaseError {
4134
4147
  /**
@@ -4145,8 +4158,8 @@ declare class InvalidRefNameError extends BaseError {
4145
4158
  };
4146
4159
  }
4147
4160
  declare namespace InvalidRefNameError {
4148
- let code_13: "InvalidRefNameError";
4149
- export { code_13 as code };
4161
+ let code_14: "InvalidRefNameError";
4162
+ export { code_14 as code };
4150
4163
  }
4151
4164
  declare class MaxDepthError extends BaseError {
4152
4165
  /**
@@ -4160,8 +4173,8 @@ declare class MaxDepthError extends BaseError {
4160
4173
  };
4161
4174
  }
4162
4175
  declare namespace MaxDepthError {
4163
- let code_14: "MaxDepthError";
4164
- export { code_14 as code };
4176
+ let code_15: "MaxDepthError";
4177
+ export { code_15 as code };
4165
4178
  }
4166
4179
  declare class MergeNotSupportedError extends BaseError {
4167
4180
  constructor();
@@ -4170,8 +4183,8 @@ declare class MergeNotSupportedError extends BaseError {
4170
4183
  data: {};
4171
4184
  }
4172
4185
  declare namespace MergeNotSupportedError {
4173
- let code_15: "MergeNotSupportedError";
4174
- export { code_15 as code };
4186
+ let code_16: "MergeNotSupportedError";
4187
+ export { code_16 as code };
4175
4188
  }
4176
4189
  declare class MergeConflictError extends BaseError {
4177
4190
  /**
@@ -4191,8 +4204,8 @@ declare class MergeConflictError extends BaseError {
4191
4204
  };
4192
4205
  }
4193
4206
  declare namespace MergeConflictError {
4194
- let code_16: "MergeConflictError";
4195
- export { code_16 as code };
4207
+ let code_17: "MergeConflictError";
4208
+ export { code_17 as code };
4196
4209
  }
4197
4210
  declare class MissingNameError extends BaseError {
4198
4211
  /**
@@ -4206,8 +4219,8 @@ declare class MissingNameError extends BaseError {
4206
4219
  };
4207
4220
  }
4208
4221
  declare namespace MissingNameError {
4209
- let code_17: "MissingNameError";
4210
- export { code_17 as code };
4222
+ let code_18: "MissingNameError";
4223
+ export { code_18 as code };
4211
4224
  }
4212
4225
  declare class MissingParameterError extends BaseError {
4213
4226
  /**
@@ -4221,8 +4234,8 @@ declare class MissingParameterError extends BaseError {
4221
4234
  };
4222
4235
  }
4223
4236
  declare namespace MissingParameterError {
4224
- let code_18: "MissingParameterError";
4225
- export { code_18 as code };
4237
+ let code_19: "MissingParameterError";
4238
+ export { code_19 as code };
4226
4239
  }
4227
4240
  declare class MultipleGitError extends BaseError {
4228
4241
  /**
@@ -4238,8 +4251,8 @@ declare class MultipleGitError extends BaseError {
4238
4251
  errors: Error[];
4239
4252
  }
4240
4253
  declare namespace MultipleGitError {
4241
- let code_19: "MultipleGitError";
4242
- export { code_19 as code };
4254
+ let code_20: "MultipleGitError";
4255
+ export { code_20 as code };
4243
4256
  }
4244
4257
  declare class NoRefspecError extends BaseError {
4245
4258
  /**
@@ -4253,8 +4266,8 @@ declare class NoRefspecError extends BaseError {
4253
4266
  };
4254
4267
  }
4255
4268
  declare namespace NoRefspecError {
4256
- let code_20: "NoRefspecError";
4257
- export { code_20 as code };
4269
+ let code_21: "NoRefspecError";
4270
+ export { code_21 as code };
4258
4271
  }
4259
4272
  declare class NotFoundError extends BaseError {
4260
4273
  /**
@@ -4268,8 +4281,8 @@ declare class NotFoundError extends BaseError {
4268
4281
  };
4269
4282
  }
4270
4283
  declare namespace NotFoundError {
4271
- let code_21: "NotFoundError";
4272
- export { code_21 as code };
4284
+ let code_22: "NotFoundError";
4285
+ export { code_22 as code };
4273
4286
  }
4274
4287
  declare class ObjectTypeError extends BaseError {
4275
4288
  /**
@@ -4289,8 +4302,8 @@ declare class ObjectTypeError extends BaseError {
4289
4302
  };
4290
4303
  }
4291
4304
  declare namespace ObjectTypeError {
4292
- let code_22: "ObjectTypeError";
4293
- export { code_22 as code };
4305
+ let code_23: "ObjectTypeError";
4306
+ export { code_23 as code };
4294
4307
  }
4295
4308
  declare class ParseError extends BaseError {
4296
4309
  /**
@@ -4306,8 +4319,8 @@ declare class ParseError extends BaseError {
4306
4319
  };
4307
4320
  }
4308
4321
  declare namespace ParseError {
4309
- let code_23: "ParseError";
4310
- export { code_23 as code };
4322
+ let code_24: "ParseError";
4323
+ export { code_24 as code };
4311
4324
  }
4312
4325
  declare class PushRejectedError extends BaseError {
4313
4326
  /**
@@ -4321,8 +4334,8 @@ declare class PushRejectedError extends BaseError {
4321
4334
  };
4322
4335
  }
4323
4336
  declare namespace PushRejectedError {
4324
- let code_24: "PushRejectedError";
4325
- export { code_24 as code };
4337
+ let code_25: "PushRejectedError";
4338
+ export { code_25 as code };
4326
4339
  }
4327
4340
  declare class RemoteCapabilityError extends BaseError {
4328
4341
  /**
@@ -4338,8 +4351,8 @@ declare class RemoteCapabilityError extends BaseError {
4338
4351
  };
4339
4352
  }
4340
4353
  declare namespace RemoteCapabilityError {
4341
- let code_25: "RemoteCapabilityError";
4342
- export { code_25 as code };
4354
+ let code_26: "RemoteCapabilityError";
4355
+ export { code_26 as code };
4343
4356
  }
4344
4357
  declare class SmartHttpError extends BaseError {
4345
4358
  /**
@@ -4355,8 +4368,8 @@ declare class SmartHttpError extends BaseError {
4355
4368
  };
4356
4369
  }
4357
4370
  declare namespace SmartHttpError {
4358
- let code_26: "SmartHttpError";
4359
- export { code_26 as code };
4371
+ let code_27: "SmartHttpError";
4372
+ export { code_27 as code };
4360
4373
  }
4361
4374
  declare class UnknownTransportError extends BaseError {
4362
4375
  /**
@@ -4374,8 +4387,8 @@ declare class UnknownTransportError extends BaseError {
4374
4387
  };
4375
4388
  }
4376
4389
  declare namespace UnknownTransportError {
4377
- let code_27: "UnknownTransportError";
4378
- export { code_27 as code };
4390
+ let code_28: "UnknownTransportError";
4391
+ export { code_28 as code };
4379
4392
  }
4380
4393
  declare class UnsafeFilepathError extends BaseError {
4381
4394
  /**
@@ -4389,8 +4402,8 @@ declare class UnsafeFilepathError extends BaseError {
4389
4402
  };
4390
4403
  }
4391
4404
  declare namespace UnsafeFilepathError {
4392
- let code_28: "UnsafeFilepathError";
4393
- export { code_28 as code };
4405
+ let code_29: "UnsafeFilepathError";
4406
+ export { code_29 as code };
4394
4407
  }
4395
4408
  declare class UrlParseError extends BaseError {
4396
4409
  /**
@@ -4404,8 +4417,8 @@ declare class UrlParseError extends BaseError {
4404
4417
  };
4405
4418
  }
4406
4419
  declare namespace UrlParseError {
4407
- let code_29: "UrlParseError";
4408
- export { code_29 as code };
4420
+ let code_30: "UrlParseError";
4421
+ export { code_30 as code };
4409
4422
  }
4410
4423
  declare class UserCanceledError extends BaseError {
4411
4424
  constructor();
@@ -4414,8 +4427,8 @@ declare class UserCanceledError extends BaseError {
4414
4427
  data: {};
4415
4428
  }
4416
4429
  declare namespace UserCanceledError {
4417
- let code_30: "UserCanceledError";
4418
- export { code_30 as code };
4430
+ let code_31: "UserCanceledError";
4431
+ export { code_31 as code };
4419
4432
  }
4420
4433
  declare class UnmergedPathsError extends BaseError {
4421
4434
  /**
@@ -4429,8 +4442,8 @@ declare class UnmergedPathsError extends BaseError {
4429
4442
  };
4430
4443
  }
4431
4444
  declare namespace UnmergedPathsError {
4432
- let code_31: "UnmergedPathsError";
4433
- export { code_31 as code };
4445
+ let code_32: "UnmergedPathsError";
4446
+ export { code_32 as code };
4434
4447
  }
4435
4448
  declare class IndexResetError extends BaseError {
4436
4449
  /**
@@ -4444,8 +4457,8 @@ declare class IndexResetError extends BaseError {
4444
4457
  };
4445
4458
  }
4446
4459
  declare namespace IndexResetError {
4447
- let code_32: "IndexResetError";
4448
- export { code_32 as code };
4460
+ let code_33: "IndexResetError";
4461
+ export { code_33 as code };
4449
4462
  }
4450
4463
  declare class NoCommitError extends BaseError {
4451
4464
  /**
@@ -4459,8 +4472,8 @@ declare class NoCommitError extends BaseError {
4459
4472
  };
4460
4473
  }
4461
4474
  declare namespace NoCommitError {
4462
- let code_33: "NoCommitError";
4463
- export { code_33 as code };
4475
+ let code_34: "NoCommitError";
4476
+ export { code_34 as code };
4464
4477
  }
4465
4478
  /**
4466
4479
  * @typedef {Object} GitProgressEvent