YDCLFNEJZCXIHV6SS2XC7WPBPA5QTSLRMVVDLZ3XRJ7QDAISEGHQC
L44OILGKTGXSLQ3A4UQH44AMJXAVZSFISAB6ICHCDB6D42NKUWBQC
BIEL6Z5JDBIC7ODKOW2FW65S2EW5U4ARAPWSD6FQLM2GKTEB6IBQC
H3GAPFUC4TCMSLC3O4LUNQNHRANRNVIOQJRTZT4XQ3AUXFHTW4CAC
B4SKYP3Y5R7UPPGLLZV7OK3SIN4TRAJ3IL6FS3T7ZFZF5HTEQARQC
MU6ZNUYZBFX4HUTJO7HEXCEJ5KTQAMCR4MUKSUDM2MYUFCEAHRDAC
ZGMIJNFVDK7R6AF56FNCA23W5KV3HVBUBPTWMLQADCEPB3MOPELQC
ILH3GIVTVMKSU5TH5ZZSPB3URX622JA2BNBOO6K7ZTF4ISYDTJLAC
3N3RS66TMPGMAKX3CP2HWWGAB24Z5FZEWFPKTJEWULC7CHHMWTGAC
ZI7ORD4PDRUZOODUMZEPNYLHS3JH6XKYV545LLAD3T4S6IP4FR2QC
NCBEWRYEEJMJO37SHY7XCNFZYWLT5HUHCKN47UGSEY3FFWFX6QFQC
}
/**
* Returns adn clears the message in the record input box if one is present,
* presents the user with an input box otherwise.
*/
private async getChangeMessage (): Promise<string | undefined> {
let message: string | undefined = this.sourceControl.inputBox.value;
// Clear message
this.sourceControl.inputBox.value = '';
if (!message) {
message = await window.showInputBox({
placeHolder: 'Change Message',
prompt: 'Please include a message describing what has changed',
ignoreFocusOut: true
});
}
return message;
}
/**
* Record all diffs in the given resources as a new change
* @param resourceStates The files which will have their changes recorded
* @param message The message for the new change
*/
async recordChanges (resourceStates: SourceControlResourceState[], message? : string): Promise<void> {
if (!message) {
message = await this.getChangeMessage();
}
if (message) {
await this.repository.recordChanges(resourceStates.map(r => r.resourceUri), message);
} else {
window.showErrorMessage('Change was not recorded, no message was provided');
}
message = this.sourceControl.inputBox.value;
// Clear message
this.sourceControl.inputBox.value = '';
if (!message) {
message = await window.showInputBox({
placeHolder: 'Change Message',
prompt: 'Please include a message describing what has changed',
ignoreFocusOut: true
});
}
message = await this.getChangeMessage();
* Record all diffs in the given files as a new change
* @param files The files that will be inlcuded in the new change
* @param message The message for the new change
*/
async recordChanges (files: Uri[], message: string): Promise<void> {
await this._pijul.exec(this.repositoryRoot, ['record', ...files.map(f => f.fsPath), '-a', '-m', message], { input: 'test' });
}
/**
* Create a new change with all of the currently unrecorded
* changes
* Create a new change with the unrecorded changes in the given files
* @param repository The repository to record in
* @param resourceStates The files to record changes for
*/
@command('pijul.record', { repository: true })
async record (repository: Repository, ...resourceStates: SourceControlResourceState[]): Promise<void> {
await repository.recordChanges(resourceStates);
await repository.refreshStatus();
}
/**
* Create a new change with all of the currently unrecorded changes