diff --git a/Gemfile b/Gemfile
index 5c43015e52c6457e7fd281b6a2acf71fb6a9fc68..1fc1be9e2724c71ec3e725d2e3661ee75094c27f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -52,7 +52,7 @@ gem 'browser', '~> 2.2'
 
 # Extracting information from a git repository
 # Provide access to Gitlab::Git library
-gem 'gitlab_git', '~> 10.2'
+gem "gitlab_git", '~> 10.2', path: "~/src/Gitlab/gitlab_git"
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
diff --git a/Gemfile.lock b/Gemfile.lock
index f8018e58a5e794d6106e0efc3ed0fe6d3bb429a2..d65616ad766588d8bc2d3bb633526c7f33f89718 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,3 +1,12 @@
+PATH
+  remote: ~/src/Gitlab/gitlab_git
+  specs:
+    gitlab_git (10.3.0)
+      activesupport (~> 4.0)
+      charlock_holmes (~> 0.7.3)
+      github-linguist (~> 4.7.0)
+      rugged (~> 0.24.0)
+
 GEM
   remote: https://rubygems.org/
   specs:
@@ -279,6 +288,9 @@ GEM
       charlock_holmes (~> 0.7.3)
       github-linguist (~> 4.7.0)
       rugged (~> 0.24.0)
+    gitlab_emoji (0.3.1)
+      gemojione (~> 2.2, >= 2.2.1)
+>>>>>>> refactors blob_controller
     gitlab_meta (7.0)
     gitlab_omniauth-ldap (1.2.1)
       net-ldap (~> 0.9)
@@ -389,6 +401,7 @@ GEM
     mail_room (0.8.0)
     method_source (0.8.2)
     mime-types (2.99.2)
+    mime-types-data (3.2016.0521)
     mimemagic (0.3.0)
     mini_portile2 (2.1.0)
     minitest (5.7.0)
@@ -862,6 +875,7 @@ DEPENDENCIES
   github-markup (~> 1.3.1)
   gitlab-flowdock-git-hook (~> 1.0.1)
   gitlab_git (~> 10.2)
+  gitlab_emoji (~> 0.3.0)
   gitlab_meta (= 7.0)
   gitlab_omniauth-ldap (~> 1.2.1)
   gollum-lib (~> 4.1.0)
diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb
index 036805306f25b444e7db4ecf1daf67ad1e890fa6..a3731b45df0afaf06194239b05b5838e02c8c676 100644
--- a/app/controllers/concerns/creates_commit.rb
+++ b/app/controllers/concerns/creates_commit.rb
@@ -12,8 +12,16 @@ module CreatesCommit
       previous_path: @previous_path
     )
 
+    puts "#" * 10
+    puts @previous_path
+    puts "#" * 10
+
     result = service.new(@tree_edit_project, current_user, commit_params).execute
 
+    puts "#" * 30
+    puts result[:status]
+    puts "#" * 30
+
     if result[:status] == :success
       update_flash_notice(success_notice)
 
diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb
index fc608399fcb20cb99e68dcaf8c972153e9c90419..4d8bb5be20bb544d7822983f8c3fe566e0fbc5a6 100644
--- a/app/controllers/projects/blob_controller.rb
+++ b/app/controllers/projects/blob_controller.rb
@@ -43,7 +43,7 @@ class Projects::BlobController < Projects::ApplicationController
         diffs_namespace_project_merge_request_path(from_merge_request.target_project.namespace, from_merge_request.target_project, from_merge_request) +
           "#file-path-#{hexdigest(@path)}"
       else
-        unless params[:file_name] == @path
+        unless params[:file_name].empty?
           @previous_path = @path
           @path = params[:file_name]
         end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 709b5edd31e8068a7dec0265dc21a7e079c42bb4..36f51da8875c5c278ed3ed2c5ee33a2ada306634 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -742,22 +742,25 @@ class Repository
         branch: ref,
       }
 
-      if previous_path
-        options[:file] = {
-          path: previous_path
-        }
-
-
-        Gitlab::Git::Blob.remove(raw_repository, options)
-      end
-
       options[:file] = {
         content: content,
         path: path,
         update: update
       }
 
-      Gitlab::Git::Blob.commit(raw_repository, options)
+      if previous_path
+        options[:file].merge!(previous_path: previous_path)
+
+        puts "#" * 90
+        puts "Hello"
+        puts "#" * 90
+        Gitlab::Git::Blob.rename(raw_repository, options)
+      else
+        puts "#" * 90
+        puts "World"
+        puts "#" * 90
+        Gitlab::Git::Blob.commit(raw_repository, options)
+      end
     end
   end