diff options
author | Denys Mishunov <dmishunov@gitlab.com> | 2019-09-10 09:50:23 +0200 |
---|---|---|
committer | Denys Mishunov <dmishunov@gitlab.com> | 2019-09-12 17:24:39 +0200 |
commit | 8cc9a7ea05743088238c237f9def3a7fc5fa130c (patch) | |
tree | a8f4130d250582296107858e1134a23960ce44e1 | |
parent | abf506ea42cf7f97a32c2db0c7ed67890bf4cf45 (diff) | |
download | gitlab-ce-66293-webide-renaming.tar.gz |
Cleaned file attributes66293-webide-renaming
After changing how the re-naming works, we don't need `moved` and
`movedPath` attributes on file. At the same time `prevPath` should
default to undefined to be more versatile
8 files changed, 7 insertions, 71 deletions
diff --git a/app/assets/javascripts/ide/components/ide_tree_list.vue b/app/assets/javascripts/ide/components/ide_tree_list.vue index 1af86a94482..95782b2c88a 100644 --- a/app/assets/javascripts/ide/components/ide_tree_list.vue +++ b/app/assets/javascripts/ide/components/ide_tree_list.vue @@ -30,9 +30,6 @@ export default { showLoading() { return !this.currentTree || this.currentTree.loading; }, - actualTreeList() { - return this.currentTree.tree.filter(entry => !entry.moved); - }, }, mounted() { this.updateViewer(this.viewerType); @@ -57,9 +54,9 @@ export default { <slot name="header"></slot> </header> <div class="ide-tree-body h-100"> - <template v-if="actualTreeList.length"> + <template v-if="currentTree.tree.length"> <file-row - v-for="file in actualTreeList" + v-for="file in currentTree.tree" :key="file.key" :file="file" :level="0" diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js index 7627b6e03af..5b7295d0441 100644 --- a/app/assets/javascripts/ide/stores/actions/file.js +++ b/app/assets/javascripts/ide/stores/actions/file.js @@ -186,11 +186,6 @@ export const discardFileChanges = ({ dispatch, state, commit, getters }, path) = dispatch('restoreTree', file.parentPath); } - if (file.movedPath) { - commit(types.DISCARD_FILE_CHANGES, file.movedPath); - commit(types.REMOVE_FILE_FROM_CHANGED, file.movedPath); - } - commit(types.DISCARD_FILE_CHANGES, path); commit(types.REMOVE_FILE_FROM_CHANGED, path); diff --git a/app/assets/javascripts/ide/stores/mutations/file.js b/app/assets/javascripts/ide/stores/mutations/file.js index 1442ea7dbfa..a6d27ba936b 100644 --- a/app/assets/javascripts/ide/stores/mutations/file.js +++ b/app/assets/javascripts/ide/stores/mutations/file.js @@ -138,8 +138,6 @@ export default { content: stagedFile ? stagedFile.content : state.entries[path].raw, changed: false, deleted: false, - moved: false, - movedPath: '', }); if (deleted) { diff --git a/app/assets/javascripts/ide/stores/utils.js b/app/assets/javascripts/ide/stores/utils.js index 71bc3ca2822..8bf14382ea7 100644 --- a/app/assets/javascripts/ide/stores/utils.js +++ b/app/assets/javascripts/ide/stores/utils.js @@ -50,9 +50,7 @@ export const dataStructure = () => ({ lastOpenedAt: 0, mrChange: null, deleted: false, - prevPath: '', - movedPath: '', - moved: false, + prevPath: undefined, }); export const decorateData = entity => { @@ -129,7 +127,7 @@ export const commitActionForFile = file => { export const getCommitFiles = stagedFiles => stagedFiles.reduce((acc, file) => { - if (file.moved || file.type === 'tree') return acc; + if (file.type === 'tree') return acc; return acc.concat({ ...file, @@ -148,8 +146,8 @@ export const createCommitPayload = ({ commit_message: state.commitMessage || getters.preBuiltCommitMessage, actions: getCommitFiles(rootState.stagedFiles).map(f => ({ action: commitActionForFile(f), - file_path: f.moved ? f.movedPath : f.path, - previous_path: f.prevPath === '' ? undefined : f.prevPath, + file_path: f.path, + previous_path: f.prevPath, content: f.prevPath && !f.changed ? null : f.content || undefined, encoding: f.base64 ? 'base64' : 'text', last_commit_id: diff --git a/app/assets/javascripts/vue_shared/components/file_row.vue b/app/assets/javascripts/vue_shared/components/file_row.vue index f49e69c473b..341c9534763 100644 --- a/app/assets/javascripts/vue_shared/components/file_row.vue +++ b/app/assets/javascripts/vue_shared/components/file_row.vue @@ -131,7 +131,7 @@ export default { </script> <template> - <div v-if="!file.moved"> + <div> <file-header v-if="file.isHeader" :path="file.path" /> <div v-else diff --git a/spec/javascripts/ide/components/ide_tree_list_spec.js b/spec/javascripts/ide/components/ide_tree_list_spec.js index 554bd1ae3b5..f63007c7dd2 100644 --- a/spec/javascripts/ide/components/ide_tree_list_spec.js +++ b/spec/javascripts/ide/components/ide_tree_list_spec.js @@ -58,20 +58,6 @@ describe('IDE tree list', () => { it('renders list of files', () => { expect(vm.$el.textContent).toContain('fileName'); }); - - it('does not render moved entries', done => { - const tree = [file('moved entry'), file('normal entry')]; - tree[0].moved = true; - store.state.trees['abcproject/master'].tree = tree; - const container = vm.$el.querySelector('.ide-tree-body'); - - vm.$nextTick(() => { - expect(container.children.length).toBe(1); - expect(vm.$el.textContent).not.toContain('moved entry'); - expect(vm.$el.textContent).toContain('normal entry'); - done(); - }); - }); }); describe('empty-branch state', () => { diff --git a/spec/javascripts/ide/stores/utils_spec.js b/spec/javascripts/ide/stores/utils_spec.js index 03de9bc71fb..b8f097d5417 100644 --- a/spec/javascripts/ide/stores/utils_spec.js +++ b/spec/javascripts/ide/stores/utils_spec.js @@ -237,31 +237,6 @@ describe('Multi-file store utils', () => { }); describe('getCommitFiles', () => { - it('returns list of files excluding moved files', () => { - const files = [ - { - path: 'a', - type: 'blob', - deleted: true, - }, - { - path: 'c', - type: 'blob', - moved: true, - }, - ]; - - const flattendFiles = utils.getCommitFiles(files); - - expect(flattendFiles).toEqual([ - { - path: 'a', - type: 'blob', - deleted: true, - }, - ]); - }); - it('filters out folders from the list', () => { const files = [ { diff --git a/spec/javascripts/vue_shared/components/file_row_spec.js b/spec/javascripts/vue_shared/components/file_row_spec.js index 6abcac5c0ff..7da69e3fa84 100644 --- a/spec/javascripts/vue_shared/components/file_row_spec.js +++ b/spec/javascripts/vue_shared/components/file_row_spec.js @@ -90,19 +90,6 @@ describe('File row component', () => { expect(vm.$el.querySelector('.js-file-row-header')).not.toBe(null); }); - it('is not rendered for `moved` entries in subfolders', () => { - createComponent({ - file: { - path: 't5', - moved: true, - tree: [], - }, - level: 2, - }); - - expect(vm.$el.nodeType).not.toEqual(1); - }); - describe('new dropdown', () => { beforeEach(() => { createComponent({ |