lib/github_snapshot/repository.rb in github_snapshot-0.1.0 vs lib/github_snapshot/repository.rb in github_snapshot-0.1.1
- old
+ new
@@ -10,11 +10,11 @@
attr_reader :name, :folder, :wiki_folder, :ssh_url, :wiki_ssh_url,
:canonical_name, :pushed_at, :gh_has_wiki, :organization
def initialize(repo, organization)
@name = repo['name']
- @folder = "#{organization.folder}/#{@name}-#{GithubSnapshot.time_now}.git"
+ @folder = "#{@name}-#{GithubSnapshot.time_now}.git"
@wiki_folder = @folder.gsub('.git', '.wiki.git')
@ssh_url = repo['ssh_url']
@wiki_ssh_url = @ssh_url.gsub('.git', '.wiki.git')
@canonical_name = "#{organization.name}/#{@name}"
@pushed_at = repo['pushed_at']
@@ -33,13 +33,15 @@
unless pushed_at
GithubSnapshot.logger.info "#{canonical_name} is empty"
return nil
end
+ Dir.chdir "#{organization.name}"
clone
clone_wiki if self.has_wiki?
prune_old_backups
+ Dir.chdir ".."
GithubSnapshot.logger.info "#{canonical_name} - success"
end
private
@@ -64,16 +66,16 @@
GithubSnapshot.exec "rm -rf #{wiki_folder}"
end
def prune_old_backups
GithubSnapshot.logger.info "#{canonical_name} - pruning old backups"
- file_regex = "#{organization.folder}/#{name}*"
+ file_regex = "#{name}*"
zipped_bkps = FileList[file_regex].exclude(/wiki/)
zipped_bkps.sort[0..-(GithubSnapshot.releases_to_keep + 1)].each do |file|
File.delete file
end if zipped_bkps.length > GithubSnapshot.releases_to_keep
- wiki_regex = "#{organization.name}/#{name}*wiki*"
+ wiki_regex = "#{name}*wiki*"
zipped_wikis = FileList[wiki_regex]
zipped_wikis.sort[0..-(GithubSnapshot.releases_to_keep + 1)].each do |file|
File.delete file
end if zipped_wikis.length > GithubSnapshot.releases_to_keep
end