function cvs.fetch_source(info, sourcename)
local rc, re, e, src, cvsroot, workdir, argv
+ if scm.working_copy_available(info, sourcename) then
+ return true
+ end
+
e = err.new("fetching source failed: %s", sourcename)
src = source.sources[sourcename]
e = err.new("updating source '%s' failed", sourcename)
src = source.sources[sourcename]
+ rc, re = scm.working_copy_available(info, sourcename)
+ if not rc then
+ return false, e:cat(re)
+ end
+
workdir = e2lib.join(info.root, src:get_working())
argv = { "update", "-R" }
function git.fetch_source(info, sourcename)
local e, rc, re, src, git_dir, work_tree, id
+ if scm.working_copy_available(info, sourcename) then
+ return true
+ end
+
src = source.sources[sourcename]
e = err.new("fetching source failed: %s", sourcename)
local e, rc, re, src, git_dir, work_tree, id
+ if scm.working_copy_available(info, sourcename) then
+ return true
+ end
+
src = source.sources[sourcename]
e = err.new("fetching source failed: %s", sourcename)
return false, e:cat(re)
end
+ if scm.working_copy_available(info, sourcename) then
+ return true
+ end
+
local argv = { "checkout", svnurl, info.root .. "/" .. src:get_working() }
rc, re = svn_tool(argv)