diff options
author | Dmitriy Zaporozhets <dzaporozhets@gitlab.com> | 2015-03-19 15:54:53 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dzaporozhets@gitlab.com> | 2015-03-19 15:54:53 +0000 |
commit | 479cf8927029f911b998091d8279612ff0cbfcef (patch) | |
tree | ed3c448db2b9636b851615aa349081e68e8c0623 | |
parent | c8a7e4c6c1406973b532d184e05f72e32f607326 (diff) | |
parent | d411a9e4d8063fdc9b6d0f74cad7345245a1fb0b (diff) | |
download | gitlab-ce-479cf8927029f911b998091d8279612ff0cbfcef.tar.gz |
Merge branch 'rake_backup' into 'master'
Backup repo with tar instead of git bundle
Fixes gitlab/gitlab-ee#246
See merge request !1723
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | lib/backup/repository.rb | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index b6c39ae5f71..e0b15e93c6b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -86,6 +86,7 @@ v 7.9.0 (unreleased) - Ability to unsubscribe/subscribe to issue or merge request - Delete deploy key when last connection to a project is destroyed. - Fix invalid Atom feeds when using emoji, horizontal rules, or images (Christian Walther) + - Backup of repositories with tar instead of git bundle (only now are git-annex files included in the backup) v 7.8.4 - Fix issue_tracker_id substitution in custom issue trackers diff --git a/lib/backup/repository.rb b/lib/backup/repository.rb index e18bc804437..dfb2da9f84e 100644 --- a/lib/backup/repository.rb +++ b/lib/backup/repository.rb @@ -16,7 +16,7 @@ module Backup if project.empty_repo? $progress.puts "[SKIPPED]".cyan else - cmd = %W(git --git-dir=#{path_to_repo(project)} bundle create #{path_to_bundle(project)} --all) + cmd = %W(tar -cf #{path_to_bundle(project)} -C #{path_to_repo(project)} .) output, status = Gitlab::Popen.popen(cmd) if status.zero? $progress.puts "[DONE]".green @@ -64,7 +64,8 @@ module Backup project.namespace.ensure_dir_exist if project.namespace if File.exists?(path_to_bundle(project)) - cmd = %W(git clone --bare #{path_to_bundle(project)} #{path_to_repo(project)}) + FileUtils.mkdir_p(path_to_repo(project)) + cmd = %W(tar -xf #{path_to_bundle(project)} -C #{path_to_repo(project)}) else cmd = %W(git init --bare #{path_to_repo(project)}) end |