Added snapshot
This commit is contained in:
@@ -12,6 +12,7 @@ PROJECTS_STRUCTURE = {
|
||||
:SRCPRP => "srcprp",
|
||||
:SIGNED => "signed",
|
||||
:SRC => "src",
|
||||
:SNAP => "snapshot",
|
||||
}
|
||||
|
||||
class ProjectsActions
|
||||
@@ -71,6 +72,11 @@ class ProjectsActions
|
||||
File.join(proj_path, PROJECTS_STRUCTURE[:REPO])
|
||||
end
|
||||
|
||||
def get_project_snap(id, snap)
|
||||
proj_path = get_project_path(id)
|
||||
File.join(proj_path, PROJECTS_STRUCTURE[:SNAP], snap)
|
||||
end
|
||||
|
||||
def get_project_path_git(id, gitname)
|
||||
proj_path = get_project_path(id)
|
||||
File.join(proj_path, PROJECTS_STRUCTURE[:SRC], gitname)
|
||||
@@ -474,4 +480,47 @@ class ProjectsActions
|
||||
repoman = RepoManager.new(repo_path)
|
||||
repoman.create_repo
|
||||
end
|
||||
|
||||
def get_snap_list(id)
|
||||
proj_path = get_project_path(id)
|
||||
snap_path = File.join(proj_path, PROJECTS_STRUCTURE[:SNAP])
|
||||
|
||||
unless Dir.exist?(snap_path)
|
||||
FileUtils.mkdir_p(snap_path)
|
||||
end
|
||||
|
||||
snap_list = Dir.glob(File.join(snap_path, "*")).select { |path| File.directory?(path) }.map { |dir| File.basename(dir) }
|
||||
|
||||
return snap_list
|
||||
end
|
||||
|
||||
def create_snapshot(id)
|
||||
proj_path = get_project_path(id)
|
||||
snap_path = File.join(proj_path, PROJECTS_STRUCTURE[:SNAP])
|
||||
repo_path = File.join(proj_path, PROJECTS_STRUCTURE[:REPO])
|
||||
|
||||
unless Dir.exist?(snap_path)
|
||||
FileUtils.mkdir_p(snap_path)
|
||||
end
|
||||
|
||||
date_str = Time.now.strftime("%Y-%m-%d")
|
||||
snapshot_dir = "#{date_str}_0"
|
||||
|
||||
while Dir.exist?(File.join(snap_path, snapshot_dir))
|
||||
num = snapshot_dir.split("_").last.to_i
|
||||
num += 1
|
||||
snapshot_dir = "#{date_str}_#{num}"
|
||||
end
|
||||
|
||||
snapshot_full_path = File.join(snap_path, snapshot_dir)
|
||||
FileUtils.cp_r(repo_path, snapshot_full_path)
|
||||
end
|
||||
|
||||
def delete_snapshot(id, snap)
|
||||
snap_path = get_project_snap(id, snap)
|
||||
|
||||
if File.exist?(snap_path)
|
||||
FileUtils.rm_rf(snap_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user