diff options
author | Mika Havela <mika.havela@gmail.com> | 2007-12-28 08:03:47 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2007-12-28 08:03:47 +0000 |
commit | 2d630eb04c2b455dd876e0d1b179c8aa601f57fb (patch) | |
tree | fbb1151eb7b6eb783f233de7b700031eda88181d /acfupdate-model.lua | |
parent | f3181ff851436318ffd9af96d5ca63713463f186 (diff) | |
download | acf-devtools-2d630eb04c2b455dd876e0d1b179c8aa601f57fb.tar.bz2 acf-devtools-2d630eb04c2b455dd876e0d1b179c8aa601f57fb.tar.xz |
Added diff and status functionallity, and now displaying STDERR when something goes wrong
git-svn-id: svn://svn.alpinelinux.org/acf/devtools/trunk@457 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'acfupdate-model.lua')
-rw-r--r-- | acfupdate-model.lua | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/acfupdate-model.lua b/acfupdate-model.lua index 88c819e..7923c01 100644 --- a/acfupdate-model.lua +++ b/acfupdate-model.lua @@ -29,11 +29,11 @@ update = function (self) for list in string.gmatch((querycmd("/usr/bin/svn list " .. svnurl )), "%S+") do local updateresult = "" if (list == "core/") then - updateresult = querycmd("/usr/bin/svn up /usr/share/acf/") + updateresult = querycmd("/usr/bin/svn up /usr/share/acf/ 2>&1") elseif ( fs.is_dir("/usr/share/acf/app/" .. list)) then - updateresult = querycmd("/usr/bin/svn up /usr/share/acf/app/" .. list) + updateresult = querycmd("/usr/bin/svn up /usr/share/acf/app/" .. list .. " 2>&1") elseif (list ~= "sandbox/") then - updateresult = querycmd("/usr/bin/svn co " .. svnurl .. list .."trunk/ /usr/share/acf/app/" .. list) + updateresult = querycmd("/usr/bin/svn co " .. svnurl .. list .."trunk/ /usr/share/acf/app/" .. list .. " 2>&1") end -- Hide projects without updates if (string.match(updateresult, "^At revision.*")) then updateresult = "" end @@ -42,3 +42,41 @@ update = function (self) updates.cmdresult = cmdresult return updates end + +diffs = function (self) + local svnurl = "svn://svn.alpinelinux.org/acf/" + local updates = {} + local cmdresult = {} + updates.svnurl = svnurl + for list in string.gmatch((querycmd("/usr/bin/svn list " .. svnurl )), "%S+") do + local updateresult = "" + if (list == "core/") then + updateresult = querycmd("/usr/bin/svn diff /usr/share/acf/ 2>&1") + elseif ( fs.is_dir("/usr/share/acf/app/" .. list)) then + updateresult = querycmd("/usr/bin/svn diff /usr/share/acf/app/" .. list .. " 2>&1") + end + table.insert(cmdresult, {name=list, updates=updateresult}) + end + updates.cmdresult = cmdresult + return updates +end + +status = function (self) + local svnurl = "svn://svn.alpinelinux.org/acf/" + local updates = {} + local cmdresult = {} + updates.svnurl = svnurl + for list in string.gmatch((querycmd("/usr/bin/svn list " .. svnurl )), "%S+") do + local updateresult = "" + if (list == "core/") then + updateresult = querycmd("/usr/bin/svn st -u /usr/share/acf/ 2>&1") + elseif ( fs.is_dir("/usr/share/acf/app/" .. list)) then + updateresult = querycmd("/usr/bin/svn st -u /usr/share/acf/app/" .. list .. " 2>&1") + end + -- Hide projects without diffs + if (string.match(updateresult, "^Status against revision.*")) then updateresult = "" end + table.insert(cmdresult, {name=list, updates=updateresult}) + end + updates.cmdresult = cmdresult + return updates +end |