[BaseX 9.6.4 on Mac through BaseX GUI]

I’m trying to automate syncing a database with content from a git repo that is 
locally cloned.

My approach is to use proc:exec() to pull the repo and then use git diff-tree 
to see what files changed:

let $pullResult := proc:execute($gitCmd,('pull', '-v'), map{'dir' : $repoPath})
let $changeList := proc:execute($gitCmd, ('diff-tree', '--no-commit-id', 
'--name-status', 'HEAD'), map{'dir' : $repoPath})

However, the result returned for “diff-tree” appears to get truncated.

Here’s a typical result, where I’m echoing out the $pullResult and $changeList 
values created above:

Pull result:
<result>
  <output>Already up to date.
</output>
  <error>From code.devsnc.com:doc/dita-now
= [up to date]          master                  -&gt; origin/master
= [up to date]          dita-now                -&gt; origin/dita-now
= [up to date]          rtprn                   -&gt; origin/rtprn
= [up to date]          sanfransokyo            -&gt; origin/sanfransokyo
= [up to date]          scodefreeze             -&gt; origin/scodefreeze
= [up to date]          scratc/table_issues_fix -&gt; 
origin/scratc/table_issues_fix
= [up to date]          scratch/fix_canvas_issue -&gt; 
origin/scratch/fix_canvas_issue
= [up to date]          scratch/newDitavals2022 -&gt; 
origin/scratch/newDitavals2022
= [up to date]          scratch/simplifyDitavals -&gt; 
origin/scratch/simplifyDitavals
= [up to date]          scratch/table_name_issue -&gt; 
origin/scratch/table_name_issue
</error>
  <code>0</code>
</result>
Change list:
<result>
  <output>M       doc
</output>
  <code>0</code>
</result>

Note that the pull response looks as expected but the change list response is 
just “M\tdoc” where “doc” is the first directory in what should be a path to a 
file.

Here’s the same result from the command line:


dita-now % git diff-tree --no-commit-id --name-status -r HEAD

M    doc/source/product/rpa-studio/task/use-datareader-queryexcel.dita

M    doc/source/product/rpa-studio/task/use-datetime-add.dita

M    doc/source/product/rpa-studio/task/use-datetime-compare.dita
…

I can’t see anything I’m doing wrong or options to the execute() or system() 
functions that would affect the result.

Any idea what might be causing this or how I could work around it?

Thanks,

Eliot


_____________________________________________
Eliot Kimber
Sr Staff Content Engineer
O: 512 554 9368
M: 512 554 9368
servicenow.com<https://www.servicenow.com>
LinkedIn<https://www.linkedin.com/company/servicenow> | 
Twitter<https://twitter.com/servicenow> | 
YouTube<https://www.youtube.com/user/servicenowinc> | 
Facebook<https://www.facebook.com/servicenow>

Reply via email to