mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-13 11:07:42 +00:00
* Keyman for Windows 10.0 Open Source * Squashed 'windows/src/ext/jedi/jedi/' content from commit f444ad2 git-subtree-dir: windows/src/ext/jedi/jedi git-subtree-split: f444ad2da4693851e523f1ea6bd541f701904c24 * Squashed 'windows/src/ext/jedi/jcl/' content from commit d63d3c9fd git-subtree-dir: windows/src/ext/jedi/jcl git-subtree-split: d63d3c9fd9ff84efdd8159084ec6a60313644243 * Squashed 'windows/src/ext/jedi/jvcl/' content from commit bee19f3b4 git-subtree-dir: windows/src/ext/jedi/jvcl git-subtree-split: bee19f3b46909fde2fa92c06cd2706f41d99f6c3 * Add required .res files * Add required .res files * Add docbook files (forced) * Add required libxslt * Add required jedi files * Add installation files * Tweak .gitignore for open * CI * Remove KMW from Developer source (#122) * Remove KMW from Developer source (copies during build) * Remove KMW from Developer source (copies during build) * Remove KMW from Developer source (copies during build) * Fixup release build and copy license, readme from kmw during build * Remove obsolete build help documentation * Keyman Engine 10 on Windows regression for shift states (#129) * Improve #128 -- cleaner debug messages * Fixes #127, shift state now resets correctly; and more work for #128 * Fixes #130 (#131)
62 lines
1.3 KiB
ObjectPascal
62 lines
1.3 KiB
ObjectPascal
unit DevCheckSvnStatus;
|
|
|
|
interface
|
|
|
|
type
|
|
TCheckSvnStatus = class
|
|
class function Run: Boolean;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
DevUtils,
|
|
XmlDoc,
|
|
XmlIntf;
|
|
|
|
{ TCheckSvnStatus }
|
|
|
|
class function TCheckSvnStatus.Run: Boolean;
|
|
var
|
|
doc: IXMLDocument;
|
|
target: IXMLNode;
|
|
ec, i: Integer;
|
|
entry: IXMLNode;
|
|
wcstatus: IXMLNode;
|
|
path: string;
|
|
j: Integer;
|
|
item: string;
|
|
begin
|
|
if not DevUtils.CommandExecute('svn st -u --xml', 'c:\keyman\svnst.txt', 'c:\keyman\9.0\src', 0, ec, False, True) or (ec <> 0) then
|
|
Exit(False);
|
|
doc := LoadXmlDocument('c:\keyman\svnst.txt');
|
|
target := doc.DocumentElement.ChildNodes.FindNode('target');
|
|
|
|
Result := True;
|
|
|
|
for i := 0 to target.ChildNodes.Count-1 do
|
|
begin
|
|
entry := target.ChildNodes[i];
|
|
if entry.NodeName = 'entry' then
|
|
begin
|
|
if Result then
|
|
begin
|
|
writeln;
|
|
writeln('SVN is not up to date. Please resolve the following files:');
|
|
end;
|
|
Result := False;
|
|
path := entry.Attributes['path'];
|
|
for j := 0 to entry.ChildNodes.Count - 1 do
|
|
begin
|
|
wcstatus := entry.ChildNodes[j];
|
|
if wcstatus.NodeName = 'wc-status' then
|
|
begin
|
|
item := wcstatus.Attributes['item'];
|
|
writeln(' '+path+': '+item);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
end.
|