use a pre-built commit message for when no user specified message exists
This commit is contained in:
parent
e08ce52a29
commit
44484cfc88
|
@ -24,7 +24,7 @@ export default {
|
|||
...mapState(['changedFiles', 'stagedFiles', 'currentActivityView', 'lastCommitMsg']),
|
||||
...mapState('commit', ['commitMessage', 'submitCommitLoading']),
|
||||
...mapGetters(['hasChanges']),
|
||||
...mapGetters('commit', ['discardDraftButtonDisabled']),
|
||||
...mapGetters('commit', ['discardDraftButtonDisabled', 'preBuiltCommitMessage']),
|
||||
overviewText() {
|
||||
return sprintf(
|
||||
__(
|
||||
|
@ -139,6 +139,7 @@ export default {
|
|||
</transition>
|
||||
<commit-message-field
|
||||
:text="commitMessage"
|
||||
:placeholder="preBuiltCommitMessage"
|
||||
@input="updateCommitMessage"
|
||||
/>
|
||||
<div class="clearfix prepend-top-15">
|
||||
|
|
|
@ -16,6 +16,10 @@ export default {
|
|||
type: String,
|
||||
required: true,
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -114,7 +118,7 @@ export default {
|
|||
</div>
|
||||
<textarea
|
||||
ref="textarea"
|
||||
:placeholder="__('Write a commit message...')"
|
||||
:placeholder="placeholder"
|
||||
:value="text"
|
||||
class="note-textarea ide-commit-message-textarea"
|
||||
name="commit-message"
|
||||
|
|
|
@ -103,12 +103,6 @@ export const updateFilesAfterCommit = ({ commit, dispatch, rootState }, { data }
|
|||
|
||||
export const commitChanges = ({ commit, state, getters, dispatch, rootState, rootGetters }) => {
|
||||
const newBranch = state.commitAction !== consts.COMMIT_TO_CURRENT_BRANCH;
|
||||
const payload = createCommitPayload({
|
||||
branch: getters.branchName,
|
||||
newBranch,
|
||||
state,
|
||||
rootState,
|
||||
});
|
||||
const stageFilesPromise = rootState.stagedFiles.length
|
||||
? Promise.resolve()
|
||||
: dispatch('stageAllChanges', null, { root: true });
|
||||
|
@ -116,7 +110,17 @@ export const commitChanges = ({ commit, state, getters, dispatch, rootState, roo
|
|||
commit(types.UPDATE_LOADING, true);
|
||||
|
||||
return stageFilesPromise
|
||||
.then(() => service.commit(rootState.currentProjectId, payload))
|
||||
.then(() => {
|
||||
const payload = createCommitPayload({
|
||||
branch: getters.branchName,
|
||||
newBranch,
|
||||
getters,
|
||||
state,
|
||||
rootState,
|
||||
});
|
||||
|
||||
return service.commit(rootState.currentProjectId, payload);
|
||||
})
|
||||
.then(({ data }) => {
|
||||
commit(types.UPDATE_LOADING, false);
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { sprintf, n__ } from '../../../../locale';
|
||||
import * as consts from './constants';
|
||||
|
||||
const BRANCH_SUFFIX_COUNT = 5;
|
||||
|
@ -25,5 +26,18 @@ export const branchName = (state, getters, rootState) => {
|
|||
return rootState.currentBranchId;
|
||||
};
|
||||
|
||||
export const preBuiltCommitMessage = (state, _, rootState) => {
|
||||
if (state.commitMessage) return state.commitMessage;
|
||||
|
||||
const files = (rootState.stagedFiles.length
|
||||
? rootState.stagedFiles
|
||||
: rootState.changedFiles
|
||||
).reduce((acc, val) => acc.concat(val.path), []);
|
||||
|
||||
return sprintf(n__('Update %{files}', 'Update %{files} files', files.length), {
|
||||
files: files.join(', '),
|
||||
});
|
||||
};
|
||||
|
||||
// prevent babel-plugin-rewire from generating an invalid default during karma tests
|
||||
export default () => {};
|
||||
|
|
|
@ -105,9 +105,9 @@ export const setPageTitle = title => {
|
|||
document.title = title;
|
||||
};
|
||||
|
||||
export const createCommitPayload = ({ branch, newBranch, state, rootState }) => ({
|
||||
export const createCommitPayload = ({ branch, getters, newBranch, state, rootState }) => ({
|
||||
branch,
|
||||
commit_message: state.commitMessage,
|
||||
commit_message: state.commitMessage || getters.preBuiltCommitMessage,
|
||||
actions: rootState.stagedFiles.map(f => ({
|
||||
action: f.tempFile ? 'create' : 'update',
|
||||
file_path: f.path,
|
||||
|
|
Loading…
Reference in New Issue