diff --git a/redo-always.py b/redo-always.py index ea8e343..a35213a 100755 --- a/redo-always.py +++ b/redo-always.py @@ -5,8 +5,10 @@ from log import err try: - me = state.File(name=vars.TARGET) - me.add_dep('m', state.ALWAYS) + me = os.path.join(vars.STARTDIR, + os.path.join(vars.PWD, vars.TARGET)) + f = state.File(name=me) + f.add_dep('m', state.ALWAYS) always = state.File(name=state.ALWAYS) always.stamp = state.STAMP_MISSING always.set_changed() diff --git a/redo-ifcreate.py b/redo-ifcreate.py index 183e686..25ffe0c 100755 --- a/redo-ifcreate.py +++ b/redo-ifcreate.py @@ -5,12 +5,14 @@ from log import err try: - me = state.File(name=vars.TARGET) + me = os.path.join(vars.STARTDIR, + os.path.join(vars.PWD, vars.TARGET)) + f = state.File(name=me) for t in sys.argv[1:]: if os.path.exists(t): err('redo-ifcreate: error: %r already exists\n' % t) sys.exit(1) else: - me.add_dep('c', t) + f.add_dep('c', t) except KeyboardInterrupt: sys.exit(200) diff --git a/redo-stamp.py b/redo-stamp.py index 81fdeaf..8e1ec63 100755 --- a/redo-stamp.py +++ b/redo-stamp.py @@ -33,7 +33,9 @@ csum = sh.hexdigest() if not vars.TARGET: sys.exit(0) -f = state.File(name=vars.TARGET) +me = os.path.join(vars.STARTDIR, + os.path.join(vars.PWD, vars.TARGET)) +f = state.File(name=me) changed = (csum != f.csum) debug2('%s: old = %s\n' % (f.name, f.csum)) debug2('%s: sum = %s (%s)\n' % (f.name, csum, diff --git a/t/always1.do b/t/always1.do index 14d62fc..8789de9 100644 --- a/t/always1.do +++ b/t/always1.do @@ -1,3 +1,4 @@ echo $$ >>always1.log echo $$ +cd .. redo-always diff --git a/t/alwaystest.do b/t/alwaystest.do index 85fdf8f..37bf270 100644 --- a/t/alwaystest.do +++ b/t/alwaystest.do @@ -1,6 +1,8 @@ rm -f always1 always1.log -redo always1 +cd .. +redo t/always1 +cd t [ "$(wc -l >stampy.log redo-ifchange inp bob cat inp -redo-stamp