threads / discuss / 26866

shell script calling git fails when called from scheduler

Subject: shell script calling git fails when called from scheduler

## tl;dr

3 messages between Mar 25, 2011 and Mar 25, 2011.

replies: 2people: 2as markdown or json

Markus Heller· Mar 25, 2011, 22:04 UTC · lore
Hi all,
I have the following batch shell script (org-git-synch.bat):
@ECHO OFF

REM get date and time for /f "delims=" %%a in ('date/t') do @set mydate=%%a for /f "delims=" %%a in ('time/t') do @set mytime=%%a set fvar=%mydate%%mytime%

REM add all new files call git add . call git commit -a -m "Automated commit by org-git-sync.bat on %fvar%"

The script resides in h:/org/; and I have a working git repository in this directory (in h:/org/.git).

I can run the script from the command line no problem, but when I try to run it from the Windoze scheduler, all I get is a cmd window saying:

fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git

I did re-initialize the repository, but that didn't matter, since git status and everything else works fine from the command line. I'm on Win 7 Pro 64 bit SP 1.

Any ideas?

Thanks and Cheers Markus

Matt Harrison· Mar 25, 2011, 22:19 UTC · re: Markus Heller · lore

Re: shell script calling git fails when called from scheduler

On Fri, Mar 25, 2011 at 03:04:05PM -0700, Markus Heller wrote:
Show 32 quoted lines
> Hi all,
> 
> I have the following batch shell script (org-git-synch.bat):
> 
> @ECHO OFF
> 
> REM get date and time
> for /f "delims=" %%a in ('date/t') do @set mydate=%%a
> for /f "delims=" %%a in ('time/t') do @set mytime=%%a
> set fvar=%mydate%%mytime%
> 
> REM add all new files
> call git add .
> call git commit -a -m "Automated commit by org-git-sync.bat on %fvar%"
> 
> The script resides in h:/org/; and I have a working git repository in
> this directory (in h:/org/.git).
> 
> I can run the script from the command line no problem, but when I try to
> run it from the Windoze scheduler, all I get is a cmd window saying:
> 
> fatal: not a git repository (or any of the parent directories): .git
> fatal: not a git repository (or any of the parent directories): .git
> 
> I did re-initialize the repository, but that didn't matter, since git
> status and everything else works fine from the command line.  I'm on Win
> 7 Pro 64 bit SP 1.
> 
> Any ideas?
> 
> Thanks and Cheers
> Markus

At a guess (I dont use the windows scheduler), the working directory of the batch file is not being set to h:/org

I dont know if there is a way to tell the windows scheduler what the working directory should be, so maybe try cd'ing to h:/org at the start of your script?

HTH
Matt
Markus Heller· Mar 25, 2011, 23:03 UTC · re: Matt Harrison · lore

Re: shell script calling git fails when called from scheduler

Matt Harrison <iwasinnamuknow@genestate.com> writes:
Show 39 quoted lines
> On Fri, Mar 25, 2011 at 03:04:05PM -0700, Markus Heller wrote:
>> Hi all,
>> 
>> I have the following batch shell script (org-git-synch.bat):
>> 
>> @ECHO OFF
>> 
>> REM get date and time
>> for /f "delims=" %%a in ('date/t') do @set mydate=%%a
>> for /f "delims=" %%a in ('time/t') do @set mytime=%%a
>> set fvar=%mydate%%mytime%
>> 
>> REM add all new files
>> call git add .
>> call git commit -a -m "Automated commit by org-git-sync.bat on %fvar%"
>> 
>> The script resides in h:/org/; and I have a working git repository in
>> this directory (in h:/org/.git).
>> 
>> I can run the script from the command line no problem, but when I try to
>> run it from the Windoze scheduler, all I get is a cmd window saying:
>> 
>> fatal: not a git repository (or any of the parent directories): .git
>> fatal: not a git repository (or any of the parent directories): .git
>> 
>> I did re-initialize the repository, but that didn't matter, since git
>> status and everything else works fine from the command line.  I'm on Win
>> 7 Pro 64 bit SP 1.
>> 
>> Any ideas?
>> 
>> Thanks and Cheers
>> Markus
>
> At a guess (I dont use the windows scheduler), the working directory of the batch file
> is not being set to h:/org
>
> I dont know if there is a way to tell the windows scheduler what the working directory
> should be, so maybe try cd'ing to h:/org at the start of your script?
Thanks Matt,

this was the problem. U can specify the directory where the script should be run in the scheduler.

Cheers Markus

← back to recent threads