summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormhasbini <mohammad.hasbini@gmail.com>2017-04-01 18:55:14 +0300
committermhasbini <mohammad.hasbini@gmail.com>2017-04-02 14:42:37 +0300
commited5d59d4c4b6ac092223774a859fbaa3bf9c3699 (patch)
tree67d210b7949d5a92b09e459b6ca67afc351c68aa
parent9fc17f6f4abdb04f3cf1b60b87bd67b894a19c39 (diff)
downloadgitlab-ce-ed5d59d4c4b6ac092223774a859fbaa3bf9c3699.tar.gz
Fix symlink icon in project tree
-rw-r--r--changelogs/unreleased/22303-symbolic-in-tree.yml4
-rw-r--r--lib/api/entities.rb2
-rw-r--r--lib/gitlab/git/tree.rb2
-rw-r--r--spec/lib/gitlab/git/tree_spec.rb1
4 files changed, 7 insertions, 2 deletions
diff --git a/changelogs/unreleased/22303-symbolic-in-tree.yml b/changelogs/unreleased/22303-symbolic-in-tree.yml
new file mode 100644
index 00000000000..02444f571d0
--- /dev/null
+++ b/changelogs/unreleased/22303-symbolic-in-tree.yml
@@ -0,0 +1,4 @@
+---
+title: Fix symlink icon in project tree
+merge_request: 9780
+author: mhasbini
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 5954aea8041..485590316bd 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -204,7 +204,7 @@ module API
expose :id, :name, :type, :path
expose :mode do |obj, options|
- filemode = obj.mode.to_s(8)
+ filemode = obj.mode
filemode = "0" + filemode if filemode.length < 6
filemode
end
diff --git a/lib/gitlab/git/tree.rb b/lib/gitlab/git/tree.rb
index f7450e8b58f..b722d8a9f56 100644
--- a/lib/gitlab/git/tree.rb
+++ b/lib/gitlab/git/tree.rb
@@ -33,7 +33,7 @@ module Gitlab
root_id: root_tree.oid,
name: entry[:name],
type: entry[:type],
- mode: entry[:filemode],
+ mode: entry[:filemode].to_s(8),
path: path ? File.join(path, entry[:name]) : entry[:name],
commit_id: sha,
)
diff --git a/spec/lib/gitlab/git/tree_spec.rb b/spec/lib/gitlab/git/tree_spec.rb
index 83d2ff8f9b3..82685712b5b 100644
--- a/spec/lib/gitlab/git/tree_spec.rb
+++ b/spec/lib/gitlab/git/tree_spec.rb
@@ -19,6 +19,7 @@ describe Gitlab::Git::Tree, seed_helper: true do
it { expect(dir.commit_id).to eq(SeedRepo::Commit::ID) }
it { expect(dir.name).to eq('encoding') }
it { expect(dir.path).to eq('encoding') }
+ it { expect(dir.mode).to eq('40000') }
context :subdir do
let(:subdir) { Gitlab::Git::Tree.where(repository, SeedRepo::Commit::ID, 'files').first }