Page 2 of 3

Re: Development Builds

Posted: Fri Nov 11, 2016 12:09 pm
by Ivan Denisov
Robert, I fond one line command for your goal for linux.

Code: Select all

git ls-files -z | xargs -0 -n1 -I{} -- git log -1 --format="%ai {}" {}
http://serverfault.com/questions/401437 ... repository

Re: Development Builds

Posted: Sat Nov 12, 2016 8:43 am
by Josef Templ
Robert, it seems to me that you are trying to use git in a way it is not intended to be used.
If you are interested in the history of files you can use git's log feature.

Under TortoiseGit you can select a single file or a directory and activate the Show log menu item.
It shows you all the changes that have been applied to the file (or directory).
It also shows the commit dates and times. This gives you much more information about the history.

File dates are known to be a notorious problem in older version control systems
because of inconsistencies between different computers, because of timezone
differences, because of operating system differences, etc.
In order to get a more robust and deterministic behavior git does not use file
dates for efficiently detecting file changes but uses an SHA hash code instead.

- Josef

Re: Development Builds

Posted: Sat Nov 12, 2016 3:32 pm
by Robert
Robert wrote: but Cut-&-Paste from the Forum "CODE:" box did not work ...
Found some clues on the internet.
Copy: <Ctrl> + <Insert>
Paste: <Shift> + <Insert>.

Code: Select all

$ git ls-files -z | xargs -0 -n1 -I{} -- git log -1 --format="%ai {}" {}
Wow, magic!
I added "> Dates.txt" to the end, and can collect the results in a file. Is it possible, or rather how do I, specify the directory of the output file?

Re: Development Builds

Posted: Mon Nov 28, 2016 11:25 am
by Robert
I have written a BlackBox module that takes the "Dates.txt" file (see my previous post), and corrects all the file date stamps in a given version of BlackBox (eg build #741) to reflect when that file was last modified. See below:

There is probably a 1 line Unix command that does this!

The Docu file (in the pac coding below) gives detailed instructions to do all this.

I would like this "FileDates.txt" file to be routinely produced by the build engine (if this is possible), and made available, maybe in the same place as the "buildlog.html" file.

I am thinking of putting these detailed instructions about how to correct the file datestamps on a Wiki page.

Code: Select all

MODULE  RdcTimeStamp;	(*  Author :  Robert D Campbell   *)
	(*  Stamp  :    *)

	(* StdLog *)

IMPORT  
        Dates, Dialog, Files, HostFiles, Strings, Api := WinApi, StdLog, SYSTEM;


CONST
  dates  =  "FileDates.txt";


TYPE
  Str48   =  ARRAY   48  OF  CHAR;
  Str64   =  ARRAY   64  OF  CHAR;
  Str128  =  ARRAY  128  OF  CHAR;

  Dlg     =  RECORD
               path*, name-  :  Str48;
               update*       :  BOOLEAN
             END;

VAR
  dlg*  :  Dlg;



PROCEDURE  FileSetDateTime (IN fullName : ARRAY OF CHAR;
                            IN date : Dates.Date; IN time : Dates.Time) : BOOLEAN;
  VAR
    fi       :  Api.HANDLE;
    sysTime  :  Api.SYSTEMTIME;
    fiTime   :  Api.FILETIME;
  BEGIN
    sysTime.wYear    :=  SHORT (date.year);
    sysTime.wMonth   :=  SHORT (date.month);
    sysTime.wDay     :=  SHORT (date.day);    sysTime.wDayOfWeek     :=  0;
    sysTime.wHour    :=  SHORT (time.hour);
    sysTime.wMinute  :=  SHORT (time.minute);
    sysTime.wSecond  :=  SHORT (time.second); sysTime.wMilliseconds  :=  0;
    ASSERT (Api.SystemTimeToFileTime (sysTime, fiTime) # Api.FALSE, 20);
    fi  :=  Api.CreateFileW (fullName, Api.FILE_WRITE_ATTRIBUTES,
                             Api.FILE_SHARE_WRITE, NIL, Api.OPEN_EXISTING, {}, 0);
    RETURN  (Api.SetFileTime (fi, NIL, NIL, fiTime) # Api.FALSE)
         &  (Api.CloseHandle (fi) # Api.FALSE)
  END  FileSetDateTime;


PROCEDURE  ExtractInt (IN str : ARRAY OF CHAR; beg : INTEGER) : INTEGER;
  VAR
    n    :  INTEGER;	(*  TRAPs on overflow  *)
    chr  :  CHAR;
    neg  :  BOOLEAN;
  BEGIN
    WHILE  str [beg] = ' '  DO  INC (beg)  END;
    neg  :=  FALSE;
    CASE  str [beg]  OF
      '+'      : INC (beg)
    | '-', '−' : INC (beg); neg  :=  TRUE	(*  Ascii or Unicode  *)
    ELSE
    END;
    n  :=  0; chr  :=  str [beg];
    WHILE  ('0' <= chr) & (chr <= '9')  DO
      ASSERT (n <= 214748364, 30);
      n  :=  10 * n  +  ORD (chr)  - ORD ('0');
      ASSERT ((n >= 0)  OR  ((n = MIN (INTEGER)) & neg), 31);
      INC (beg); chr  :=  str [beg]
    END;
    IF  neg  THEN  n  :=  -n  END;
    RETURN  n
  END  ExtractInt;


PROCEDURE  OffsetTime (offsetQ : INTEGER; VAR date : Dates.Date; VAR time : Dates.Time);
  VAR
    dd  :  INTEGER;
  BEGIN
    IF  offsetQ  =  0  THEN  RETURN  END;

    ASSERT (ABS (offsetQ) <= 47, 20);
    INC (time.minute, 15 * (offsetQ MOD 4));
    INC (time.hour, ASH (offsetQ, -2));
    IF   time.minute  >=  60  THEN  DEC (time.minute, 60); INC (time.hour)  END;
    IF     time.hour  <    0  THEN  dd  :=  -1; INC (time.hour, 24); 
    ELSIF  time.hour  >=  24  THEN  dd  :=   1; DEC (time.hour, 24); 
                              ELSE  dd  :=   0  END;
    IF  dd  #  0  THEN  Dates.DayToDate (Dates.Day (date) + dd, date)  END
  END  OffsetTime;


PROCEDURE  ReadLine (rd : Files.Reader; OUT str : ARRAY OF CHAR);
(*  Censors characters below ASCII 32 (space)            *)
(*  Uses  <lf>, <cr>, or <cr, lf> as end of line marker  *)
(*  <lf, cr> counts as two end of line markers           *)
  CONST
    lf  =  0AX;
    cr  =  0DX;
  VAR
    k    :  INTEGER;
    chr  :  SHORTCHAR;
  BEGIN
    ASSERT (~rd.eof, 20);
    k  :=  0;
    LOOP
      rd.ReadByte (SYSTEM.VAL (BYTE, chr));
      IF  chr  =  cr  THEN
        rd.ReadByte (SYSTEM.VAL (BYTE, chr));
        IF  chr  #  lf  THEN  rd.SetPos (rd.Pos () - 1)  END;
        EXIT
      END;
      IF  (chr = lf)  OR  rd.eof  THEN  EXIT  END;
      IF  chr  >=  ' '  THEN  str [k]  :=  chr; INC (k)  END
    END;
    str [k]  :=  0X
  END  ReadLine;


PROCEDURE  Read (loc : Files.Locator; IN name : Files.Name);
  VAR
    rd      :  Files.Reader;
    str     :  Str128;
    txt     :  Str64;
    n, utc  :  INTEGER;
    date    :  Dates.Date;
    time    :  Dates.Time;
  BEGIN
    rd  :=  Files.dir.Old (loc, name, Files.shared).NewReader (NIL);
    n   :=  0;
    WHILE  ~rd.eof  DO
      ReadLine (rd, str);
      IF  str [0]  #  0X  THEN
        date.year    :=  ExtractInt (str,  0);
        date.month   :=  ExtractInt (str,  5);
        date.day     :=  ExtractInt (str,  8);
        time.hour    :=  ExtractInt (str, 11);
        time.minute  :=  ExtractInt (str, 14);
        time.second  :=  ExtractInt (str, 17);
        utc          :=  ExtractInt (str, 20);
        ASSERT (utc MOD 100 = 0, 55);
        OffsetTime (-utc DIV 25, date, time);
        Strings.Extract (str, 26, 999, str);

StdLog.IntForm (n, StdLog.decimal, 5, ' ', FALSE);
Dates.DateToString (date, Dates.abbreviated, txt);
StdLog.String ('  |  ' + txt  + '  @  ');
Dates.TimeToString (time, txt);
StdLog.String (txt + '  |');
StdLog.IntForm (utc, StdLog.decimal, 6, ' ', FALSE);
StdLog.String ('  |  ' + str);
        INC (n);
        IF  dlg.update  THEN
          str  :=  dlg.path + '/' + str;
          IF  ~FileSetDateTime (str, date, time)  THEN
            StdLog.String('   Not found')
          END
        END;
StdLog.Ln
      END
    END
  END  Read;


PROCEDURE  Look*;
  VAR
    loc   :  Files.Locator;
    name  :  Files.Name;
  BEGIN
    loc  :=  Files.dir.This (dlg.path);
    Dialog.GetIntSpec ('txt', loc, name);
    IF  loc  #  NIL  THEN
      dlg.path  :=  loc(HostFiles.Locator).path$;
      dlg.name  :=  name$;
      Dialog.Update (dlg);
      Read (loc, name)
    END
  END  Look;




BEGIN

  dlg.path  :=  Files.dir.This ('')(HostFiles.Locator).path$;
  dlg.name  :=  dates
END  RdcTimeStamp.

Code: Select all

PacCoder.Decode /.:G....PEo..1oQ........F..u.0w.EU/g.42.Mk/f.26.Pk/s.3k.IU/Y
.4:.9k/2.4w.Mk/p.0w.J./d.4o.NE/H.5E.ME/h.5..9U/j.4E.Mk....4:1OC5NYbG.HhBMaQV
m67wPu.UyEKS:h:MCcBc:cBkCV5:VQFHyFY80klbrW.0Y61J6L0xjNZ11EoZB1Z.03Pym5Ro1VHz
/8Q5tD1u3vqyBH8.M4mUL0Dz.4E5Ps1m0aETLs8mERiC96akVm/gEVr4zvVItcEeI66:UFFSKmMU
UwY.7vmE:G.S4Xa/8ao3evhPxeo3Gx/sEEoFFB:qW1aXKEMhcUqFDTc.ENIbOV3aj/d6x/:QV.go
46G224UMXwVo.Pu11o5rE5CIu.TuhOgNa.4Mrj.8UcEaO0gW6Cikf73.fekV786JbOwEkXkU2/wP
k5Qca.W186/jE76ZsycMMaw.v/21LY6u6MlO6G470kgqPztb6V.W7n4gcb.WFZMROGEcaY5iFyEj
OINYDTG15RrEpZqrZRkkvclxr5niLrR0IRlEd6S:t3Lnm3ri4LR10DQzl0BfjoSW0MsEkEF4CH2Q
7caG8YiYKCXWM/CCBRzHoU9GzXMkYM3VgQG/6oQE6GvY7m:H/kJ/DzrOkOXUxfOssngoQ86sHllG
xfcsLc6/PY/U1fyvG88lEssK7X8HdOC3DUkn8z00noxUMccs5ScCSC0rwXUFrgMWqFmdrp5.LsnB
/YQ4gKV6MJEyYZVrXew3QHImDw4lVMRaJfgO8Qq6yVm3gMy:.gRjMbsGMHP4MUYcwXY2U1rKWFtN
pqciP62dKl6pRWIW9xgOchhm2Jq:jQzvMm2B1ykTjja1Mvq0v05M6zMH8SykboFd:Sq7krCkGQoJ
k7gDMoisPME/hijq0mkDNq.XwmFq/ywYBCk2yl2hPJg1FbuqxVTr7skq9LxURRWCIqjyT0qQo52J
a16TMHZcf2Dq/tq7.rff:BnSk0v2Xv2L:81RVQ9XBhRq.qbgFPVgR1xjFq1pibfRcN4/qsEyMNn1
v0mE5O/ivKdTnwktlaDHCfESkm:eRcB/RFZqCIxvPEVJtJ7GlrNo53rRcYFVQkpn3THiXh0k5sG/
JgV:C:8vEt6IkqykWRa.oEkqMCrw45/vKVPVcRyhbn/3/UcHzy6KfgnxKuVeu9KdTHdZvxgWehFM
MkPRR2JRW8vICHw:D3W:8DHniFERtYuaOFQkyPSjV1XtbULdmZdagv7e9igmofzXtqhiDqeOdWzo
vrQnB5EP3X7Vx2S5zE:PJZYYBwhy80zceXnqXOCKHYjOgIyL5Tcbn6PaTebkOVGgpFuq1ZKeLrin
9FNebOw9WTtKtTbNH8bQuQqs22jgyzZ6Em1guCJ1pzbH8CGBeBZ4YzUSVCea2QV9lexGDjpuzg5g
WQXrI/XRicmvUW79.sXS7nnJhldjgGKqgQR7w/EMs08STTL29iSnuhBcxphNQp/enTkq/ByctyX/
oGruyZb6Kw494F7Nt2zlBcn87lgCPqpnozy.bY9IYSe7mwI:rtwwmvYYDr5VwwDwznXvIKzCVDbX
NHwuuWwnbwnh80wUi9L:rE4SMDp7GKDzXG:.BKexpELyRafDvm2gGB2uY3yjSMx9EQ0YZc8RYYOf
Go7KDY1Cm/fSeT64DY1t9Vf7Ioh.gQOKVSN7O.B8VQKfMrl4E1j65JplReMC:onb7m/QzQGk7O51
qxZ7xlp0RThniwHmhPY0nkTJt.XZZXgkR3rc8KUPhrbqROfKSRpGFhO/4YBKhp:ywj4nSboov2nf
whI8tssmfTLO1Kg9a4uJO1qEVB/F1me2/ldJG83kbY/JXlT4XX6c8azh12Xe.hGvXf3Lprzgphlu
Ddy4PSNPYgvBT.xaq9Ih1IjfT2TPIgJ6kjzX6EO4dM60dd:pxLiQDTNqM1WqXPZWpHXMjD9uqirJ
G.:LxLy50K5eK6O/9iv3P1x6M1Ue8ypZrRXPvfhO5hZNvw2jUxQk9d5PrSGkQ8uhL012oaDGHSW.
QxZU7LoBr5Eova6/aq0cmzMU5/pel9f82NM5qKWNTOHm9Gv08E6FP:fkfzGSWakVGCPKe0Rckmui
I5iMdDqFuGXXMIZl5H/jZyKn42n91k.BTjSqyVTT7Ezzv:CjpFOLsw5WIzsZFN7:cKhJBlNblcBU
/pkvRD2VeOWw6Y0g6ecZ9VVu2jT8dtpb0iI8wKaujLktCJt8eMr1UhKrvz3.LpQ4Ze79Dc5:6DCQ
VH6.hLPDt/TGKPnwjZDr49cIJQFIJtJBguxLiR5JG2UBMTeox3nqdrgUzKM3Ng9BMOyP70rdNSBT
tCzhDDjvzEFu.GQv7Uf5mgPNrHFFx2jniFG.QSZIwQ:N7Fzq0hYn0smoQ3bKySE4P1PdLKv83Cn9
8zmnjnDSyjmI/ZNqJIC.FBYITS1stprda1lLXdcpxRUaUO.znHbDxWMFfHHc5CCcCHKjvoqqGIcM
T7Xr/UF9Omfy1ctwsmsK1tnTdRwbj35rCRKso/j5G5M1P3jhfUg.:ucgXnsYO6VrOLCGyP1ptnK1
lgMuB9CaNdv:v6BlmjfxhzoUBFkaww8PPpYOPTn70LCLNWhYqvwG7nZCwyHdgMyIzeTDNa46MBXe
22fdfxcdm/z45Q8bXa1toVPLVwtysxQldu1NGz2muqPWpcxhsl5Kl1knIMBq5s42SvChxpiL3x0Q
fyeMl4OCQjk6jdyfIbOXCtdllcxuXVsy:nctm4XYW3BmPHOUIGuaKfhLweCfEGpQtKZwLcfnd3pf
ODSB:4kZqVJLWjD.VwlsgqtFaECd/JPYS8Iqe:Yt3:h2XjnMFKzfa973HQmxu9ocKqQT2L4IkVa/
h6OWVXLBy/GfcQCu6FgRgl29SmRM6dLDpPtOrW2onbVttal5yJZdOeXp/yqd.SJcjftEX/F3VW4J
OPTkf7fFMr285RMlqinE5thR0kiqH:JfLEKbHLsQZPHoFZXRHXTSS1DUl/uwQJVyemOgn4NKTzaJ
DwbJh0SnYYPt9X9I6U67ySK0nDV8QMeTSH0Fro6eoxMM87U3nHhFMUYgMucrX5jn/lzqX3FQZPSD
0LNqMyvxyNoKJtQpt7chPGuQeoBet.XHRHlaGuCcKvpjY/VfDq/QHi2cxljrofGpQj5h4chGx3LF
BMPzguCMLe6BkmfLa4FN2wWim7y7wV23lHlhf1pkoyQsY9Icoyy7oUaHW1f1KvtgTmltcxqRgtxa
SoBRz/jWbxyCDIwXePn3qclf/Sf23/aYrVK/EXN0du6pJoxskzbEdRGTyNyKEGyxC::upZ.isd0K
T7KTMHd3/6sTZFKnpuuxLLkxhxCKy0tR15a/Q2QTT.XnequqgDysSh9Rvvj4SvxFEU0iBTsmuDea
qNWqNREpMuiYTR5YYBh:dtUlZ:DYgK2ISZnIXMWzz/UIaT6t4qG:VgUaSPDY6iNElMQjv:sqsUQD
lPV7LEmT5Q1BcFyr3BByqu7BySvRTIfK5UgjKfQOJKRJ6RzzQ51gh7vP95o8eWXM:QBNpCtXJ:wM
y8OdxRNlSeNwhvo866YKy7cgrZJb:vKx6GRjXFbwzUl3/V9Zl8lobL5iNQGMJ3CIPEjRT:7IemtD
OrpOzci4/N6S1zk.jDkOj4vxFqtnJ.JGioVmi0geyRo:muDBCZWr1KQy9PlxIhnzBNKTp1uol5hh
QTN7:52P.jlDy4zR22LoxWRQD8yfhzfvBjjNX2B8H2Z:xcP.xaNee5VZwXj.bal1/YD90Kzt24iC
9OFmNF5Dl4uiOeklgMv7h3z9hf63TacqtZP6jqb9UdHW0Ri2acEdt72.:3.qyrUnQBn49nC5Tj:j
ys:U.5jz:xxjxKG.tyLs4hC5ugprLXttjnS8UK/DS7PupMDXMuQzOCQ7JPyQFqN9FBVNv.83UNjn
rvebpOUSwOMUp1Dco.07gvm:dtYJbKhJTHLixmKONxP6OrRpf4wvJvmdS9qvPkipgKrq6ZjGsBs2
jkgTmWZ7i5UvmpB7aVgkbFHERdvajHyLzb3WsgzTtbkjmkI0:IwqHQk6MrdvIquH2zDLBV:rBrXj
hzEp9kMWyx0qyd4v3wOYcDTTid3v8L4azhSHLXoIGZXXhz:0Re3CfeiFZ4kKp8Im82KKehwJ8QmB
GYbCd7XK8z.P4f4Hy:XKISgyneXf/qy2bQvbz3sx6lycjyJtDvX8/oBQ:SUI6VMpQDO9XvvxzCPN
bwbssd/mDn56Ti/qRYu1a8zDtlmqrlS1aFXC4bfyZC7n4mo0MIjJlwfrSCxecyXet5yut8R1Bojr
iXvwS6oZf/YkTZWE/n6MU6jFybvPTR7OXj29B17spteqyyIHpfZc6PDqKLKGk3QwFli0jTIHrKKF
SniTvByPWJqxzYKrXlnVyD:pNwTy2ccntX9MkVz3HXNbXVTYlGRXXzsGHXHD37c2xq3zeysd7ChW
PWYk1Tdmg9BdbMd7fDx8Q74eSvSE:9oy/yGFIJCUWvZuMNSZ8zlGTCoH8VaUipBrqlGIJn9kXwBW
4QnB/hKlFiY.Pdy:DcMPdoTjNOR7tHqMQTfzzy/2.1c.9k/0.4k.ME/X.4g.EU/j.5U.L./G.4E.
Mk.j.2o.Pk/Y.0w.J./d.4o.NE/H.5E.ME/h.5..9U/j.4E.Mk....2zdsCKNYbG.QRTNwEVm67w
Pu.UyEKS:h:MCcBc:cBkCV5:VQFHyFY80klbrW.0Y61J6L0xjNZ11EoZB1Z.03Pym5Ro1VHz/8Q5
tD1u3vqyBH8.M4mUL0Dz.4E5Ps1mSiEhLs8mERiC96akVm/gEVr4zvVItcEeI66:UFFSKmMUUwY.
6koiez6.a961grrLwPy8ZzXkcVcWoONjo5B4fclPx/Y0Szw.UEdCt0945903a673/:IV.e6:EY66
B.lBt70.no450Q:6JGlMEDG6HNMyS2.Og68ko6HyUfEW1rfoo6l:EjeQV7:6SX:6GRqVD5nt7srf
y266FCdVekDX/TJh2iq0Ei/UGUKYRUna1KM/89/Xg5nvrOQizcYwPycC/3eSOrk14oYNGkCgd9Mh
/T8qdZ:z8HiIhib84dzzNEwmULL8M/qe3ZowcHNFvmVcfKI8JFZ9f8.fvL874XiM1XNF:ud:cX8y
K.v83vv8Hqf8:zPz8B0U1.H82tcO0OKpNZYrZ9581blZ2hChdNmUwjeh7FTLkbhT8cHoh9Hm1xTD
7GC7SMiH9mldRtKHm1fh6Pm5P2j7.XomjLrOcpfZlt/LReJ/oPinWayLYv.NvwyPhQEwZizMEBu:
zozhHVGCxgyll5bO3agVGdzgqpZvUxg7u3Y4f:oxew3XJlRVRV0m6gKkEgVbfv1hzP3tNE2TNvH8
tt9:hxbphkNE00.49qK.4EfU3zXp2/SSxYYLyppKBGxDxV7JalpRfgsXkPMlyZ4Tky.ogGDtvyBU
B8BvypxCXdMWKHGin9HGOJm9Sn7oexohK6a7oy4F0uKXypibjPMrGXezCi:uPGlzqi7dNpvK3od0
TyoRuIGpMeejzxR8pOz9dKP8vR8i9ahS5Gm9muKVy1Gm/WfRM992vK2rSDGVhK8QBNp2q5GmPWR8
jDfcZ54OK5jtOzCLdB9fTGizqXuJnuL1:Kbgwi7gQodaWtTG5EiznP9ZP6OKP:Kc4Z4:gnmpeSD0
lM7.MjQ/pqCqZ9rjOIBEOqlnGklWnq4l/B8q/:Fobqoen5muJzOCqsrM2:B843192pat93pik4oH
M2jpBIylCj8a/p40tDoovJMqlRj42h4yPL2ZX.8G7ej6cMGjlahWx3HVukcgKo0slMkHoHg.MGLs
lTYq2Xu:FBVDmRlUaTfM:a34M90HvjqjIDxV5q4jKHvz/MH07Dq3k5PdV0UWrSDWb/b2O9DDf6TM
LcnBwXiy/w3u69m/lip7VfbppZxghEk:o99Jf21B5hBxBs5hNYLaZ6J2QonvZp2vxuniYh.O2Eqz
kzTewnoF0jdHSBQdtfEUeqteocWXdpvK6dthXV2bCSEkWDCB5W6jdnDxg7ScV0cgxakUDp78IJ6n
LEdiUW.5aeLjRmlYC/Y:7FfeY7Si:6mX4P/ZSH9lLm0224NgCMwfdUoRW8yYkVu3bI29U4my6J7T
Zb3hVLpCOmt6F54ulylrBS/kl4B3DnBHEGpUokntvuQYBF1x/cNO4zoJsDtt:4fqDXVc4DUwGNg3
qP6TbpKnMkB31nxcBJvYUaxbFtgQcEIuMJShPlxhXDRak:6B4h6OnSx66RtC9RzNet9NBejxZSQn
z8vDfNWpHnLS4hkSOraeyfL7Wj6pBXDM5LaglnB60NgFfhaXvwqDzRoLl7Bgoi7KMwohM08p:Emf
P4RpeE2nLCL2a4ckDBiGPyon5:/Fn8G5zH4Z1wrg2YDXrUNhbpv.O0S3yiNWkMnSMLyDxeoPSOqq
JnO24cxvwm8xtJcV31QmDpk5dUuDwO9RZuStaIHLjwzZK/wqTESek8YfDuZMhp6dTbEIp8x3UIId
buRndjY6S8mLgKIK1.yoic6TewqINS7PP5ZdDDuIa/zYi4TQN7W.zXwYCUft0P:04TEhBv0ffxt:
.rtU8BaJQM6jNQ26iPPggP.zZgmT4qBdGZYGvHFwmdpddv:caN9hWyCbGBUX/LQtUYIY3UQYv31Y
BdoTh7iEnWy6YthfbtkIC85xc0CPkyM7BB8aBs8SXyuv:SM7IUULfgM7Eyxe.ktxmFrRJnPX8sv3
91UKqxI9wTzfjUa0uSMNCM4rdcCWtUVSoSTimuNa9xv0vLt6zVv.ta9pYM5/zzqDn3DNheLhYyG9
jcOunicfwz9jQblZyRRC:JafgUShxJll7wZ4TOfbqkpFBNPHqec:H7XqiCEzLekUH3VReWJgtJTO
2NYHBfsCjGXlKwTMO56xzcQ97Po/wxoiRgBzKOf:d2e10wzjIp8a9FxsVr0QGRpfm35:aU7Sl2K1
9JnpfVEu7fgYIPE0btHaTiz1dzeG/tNV2LYnnCT74H7zF83vZDmO1Z1SoSoPrtrPndQoQLipXMjY
nlxElH:bqjW:8lj7m/OX1j8c:0doiNpibmyTPYqxq18XcGlDJnR2BT7Xm6ul8YX01vMbBiHjiU1W
nrsiyDOJBffkiCK8wGQ9ZV3FO5OufKehXDtxgITNsLc54DO4p8OpuNqp9Us98fTNf5pQ5tJOMV8H
wpymebThLiTXZGitorDeP73OEl0seUmJag1xMKF2LHldqdQbTbCprrUwDXdus6jh7PzDhaH2ae7n
lfbRNqQa5DpDcDXSjZVNZvnKTYI2CTLa/D8U8vsIx46v.RymVb2mgujXSGNV:Q4kZgPLs:1oF:aB
cDV7fO8a:8QDkvCSxWtz/gKjgIjFCggT4TIq:VI/XC2zvpFH7E8O9vQ4EFzwtmbHUQLz:Nyfftvc
swONxNj5fBq1h:ZFLd.7zap26Oi9Jea1IW7k5Ghf4GC7uv:FwFOCIop5gEKzxLKv2jUWXsm3VXxw
jR3RHs9qMTEVxtDObtvQcjYQ4zPOCI.CDoBBfaTc2yRNyMyOCP5vBqlm.W7gixB2WFETl:l3oql8
Ze8pr3nnZ.VRVzh64iuL2ya1KD3PTzOvbPaMLRy1T2hr2k.WHcvBJvDLb7ijNGOQGZ7rf3EHnKon
hyp2wtwvwG1h2EilThHttg91PtzVu6wGKwnp3H4vIxiEYOGXU8HTR9ritlPT3TMyvvD4NqFLZEHb
kIrO.6WWkEc4Wl/nXMhsYYFROii2qleIJlp:kb/tft9ovFKPmEyB8TOLfyvyJLRPcOvYfy5/Wve1
1m4PLLGbK:6Ut78cMDabl.nOnOD2iR8jry8dY4a5vhffegteX/NuEup:UNSH0vbq5MsZ8qqJ5Hwd
GSx/xatURyiElf2EPNW0ljimzMR8ZO2x8F:k4lyR.UkhNRCbSIpNbH/gShRXDhVT7sczn/aShblb
I6eTkTGd9VbBJiavo8CB.jopDp21ymK0d6bQLf5oaj2ojdMww2U/GjrE980gEgL0Y:7iskLVDhSZ
zKSLaSf5fSMbO0VZrGreTmlS/L74xr73s9sLJQbULR2qcyXHaPMpXjUQNvpdjtWRuN69f/CxpUGg
7SonS3i8p6Q51Qsxegh5OJgCsMNWnuWkFep5nxS0/znzBawrp0DeTL/Zpm9P5xKuCgFbGN.3OkqQ
MVjJKYd6.hSXKZzYZORGQReJhzz24t7XIbNwzIGJqg6olJ69YHlzHwwc/RLpkgG01nh/8cNDYxMj
CcePekN32XW.0bTrfm/uxmxLl.oK:HtWsOVNWQijeXzRDjwdfbTaXZinH9hX3OQ48k:yiU/LSw7B
GES7GIuuhorJjMrmuaoEp6ETeKyylsW8nrRQybB8KCxXa8ET1M9y5NEdjy6q4tzsmEdlzL6SUvhZ
ly4:F5dYLLEltXmFWs1:estrv4WwR4xtMdxpt7BYhj9yEUxuxJ3zv02mqsjKdIMXjlp.Fk3Y37VB
Mkd7M0IWVtZBEj1lM1rVuQKQB93157QlTIUL5cEtSHcRkTvhKEtDuivMfVjGUae6a11Jge0sRxXB
WGpXvnH2MTE8ONdfooiiSn.QVVOl8prxWe84eC9Yfs7zYwKdRlu.hinvrjSbDsn2GQz74HM/J7qd
T3wOEFcTwo0q3cO7LBiajZPp4mI4:aTN5r.Jz9E908vMfp3.pdFNxPR1pmxM08TIBvkFaxUtKzeW
K.asbJN7H:N.wIBgVQ:lWJQRtdStchdeCHxK1okTrMtre.xvubNwV6JsPaJ1ek1sIpoPL/4H4lXq
ptFwTEEgdRzHBkvx4sO/hM/O.LFfWZ9GwiIHXfKCe:Wi:gyiPnJ6k3xDnOZkfIQJTp5cmCdX/MyV
S5QQvwzkGFgQ7GRDiRVHYoGMXJC/96KmzraUmvDqyCf6XnplbrGZmQkV2sTW.ipamyJZoNksz7cG
Yva8VuHg:Wo:6IO0gd1gtO6p9Enn5GmMju.MyCJLFh6nQSvK6gh3byNaqnh3CjRJ45t5FFCwltrH
5poouHR7t/l9C0T4D465VIdXd/3aziVpM4FhUuwaS51yI2TIr7HnvnSZ9kysQb7yCqj97hiKLRw3
9H8zaU8OsVOtS0Kp4DrMaikP5xmIoN/u77Is7/03xdMwe5VsiqXOoaQeMJz9ymh.e2BVi3bWkxIn
5wftlOnu38cBuulHuSUxl55JyQ7OvqHHuyuzD9B51oBe7HnYve.oFzdKohgM7Lxd.f.J18pOHler
bbGOfS8UuN/Qwa4qLZG1LhMZoxSzNw2RmKeYOmGhgnmH:ZCed0RSI6q2egpuKbePoa246oDzSgvx
ux7IHWTup:X6SWSGhQXLw2.Dku7sktBCH6yfdFJeHSD2ZTWlw5ZG5NQjene0ZNe:7iH6RKyMkZYM
wyNt/N0xFd7UPnzZiHaS4icWHBeg5ONIKHg5f69pMfEBBNS7aPpSDEhumx8QjvIkdzjbzyvLTMyi
.PYLioIa8LvCf4DsgcSZ3.0a6efyXKQXqVsyUkvIkcp:3eF2rjXTOdUO/gbBDSal82MvmdW8MZXl
Xzq1aIr7Fyp:7hU/JmCEksUj3HVlpBHlPUKoZaD2IdcH0xGWI9U737s/:GGBzdUMbKKa7WV/3RB5
zzx2.1c.9k/0.4k.ME/X.4g.EU/j.5U.L./G.4E.Mk.j.36.Qk/m.4:.9k/I.4Y.PE/Z.3:.R./V
.4o.Q..i.4w.N./X.....HFBjP1HGB6/as7lmm56Ubljc01t/NsmolUuUqUmUr.u2Qm3l3Dt4Ec9
14TS6.8EUBIVQ9qxaI:B1GIoCI.6Jjv6RrEC3Dw2dkTYwDcLjPsp:c/UP8/Q6zw.N.RjUB:U8jkJ
YUvQQKFBUfgXMF1iBzr0dX6VIYEEMUWzyKmMUEwW.7tm6LWX00.HFW3cmjfmEFbDpwB2KHHBwUtc
pHN3jY4m7vTU0/0YwI6gC9qbLuHEH/cE8O127000E:JSIGUB3/VdZ.DOt8/Fn8BNzyLjifL6cUbp
uWqpvEbO7RvKQcCGd894sZ21D69188HBPoLZ3HZsLoR:I4am3B5145JNf6nl4n0BtoO5T8ysM.q5
15Vkg/5JkMq:wtkQnYpb0hDnVraNo7lwscM/h5C6JeRO0NtDvC/qR9Tpb2koTY/i5t6ZPQu45NmM
hNkUCQY:tENk9MWnYFb/rC/xjihNxTRfS4ubrPXNrKsSb2k94rVsWKi./PWGrR2o9RqKu2M0r:3i
k3cqswhqlsB1ye//IWhie2u3dkeFDvJ/Ee3pLSy/mCeOc1JGOUf/O:jBtO7ZJ4EYL/I1P3E7hnNK
CFXj8F8DIXF6.Iqh3GGYOU/1IvxE6s8VJ6t2UOc33EYeUKyFI4ec1DJ2.wJ.zuk265RG.5.X8cfb
Ie7PM2xF.bDPqPs7oux4jB8PSoMi6Qas8xEJ5J6WU5hbu0QuOnx/Seoqy:jg876UGtR2Ugipn9rR
LjI3DIWKsVjiklb9YhmpmDn2l8J50ywaXDSLnNjapwee0VwsaKyPOCDUtlXaKzQVwDpjb6f7F3hY
ccy8qeR6Szul8/:qLfRhYaBHd:Y4PF09T76sCGT/8qD8mFunXYZMemEGkjbNKuT4puTPWgY03/7e
pYWKwOT70r78:rSGTbd.jbPGgt78N6MI6b7Tzzk
AtEndOfEncoding

Re: Development Builds

Posted: Mon Nov 28, 2016 12:40 pm
by Robert
What is the purpose of the top-level file "Empty.odc"?

Re: Development Builds

Posted: Tue Nov 29, 2016 2:58 am
by DGDanforth
Robert wrote:What is the purpose of the top-level file "Empty.odc"?
I believe it is used when one creates a new document (Ctrl-N).

Re: Development Builds

Posted: Tue Nov 29, 2016 5:57 am
by Ivan Denisov
DGDanforth wrote:
Robert wrote:What is the purpose of the top-level file "Empty.odc"?
I believe it is used when one creates a new document (Ctrl-N).
It does not used... it's just some example file...

Re: Development Builds

Posted: Tue Nov 29, 2016 5:58 am
by Ivan Denisov
Robert wrote:I would like this "FileDates.txt" file to be routinely produced by the build engine (if this is possible), and made available, maybe in the same place as the "buildlog.html" file.
Can we add this information just at the end of the "buildlog.html" file ?

Re: Development Builds

Posted: Tue Nov 29, 2016 6:09 am
by DGDanforth
Ivan Denisov wrote:
DGDanforth wrote:
Robert wrote:What is the purpose of the top-level file "Empty.odc"?
I believe it is used when one creates a new document (Ctrl-N).
It does not used... it's just some example file...
OK but there is more to it than that. I can't quite remember
but it has to do with opening a .odc file out side of BB.
Something like that.

Re: Development Builds

Posted: Tue Nov 29, 2016 8:39 am
by Robert
Ivan Denisov wrote:Can we add this information just at the end of the "buildlog.html" file ?
I understand this question in two different ways:

Q - Is it possible to add this information ...?
A - I don't know.

Q - Is that a suitable place to put it?
A - As far as I am concerned, Yes.