Essentially what I want is to just copy one directory to another and then clean the .svn and some times .makepp directories.
However as you can see it doesn't always work out.
It seems to happen at a fairly random interval.
Is there anything I can do about it? I assume that makepp could be doing some scanning or similar?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1st: when using gnu tools, you should use find -print0 | xargs -0 rather than gawking!
2nd: .makepp is makepp's persistent knowledge about what it did and is just doing. It makes no sence to mess around in it, while makepp is working! As I mentioned before, the log file is also written to the original dir's .makepp and held open, so you can't delete it on some systems. Use mppc or rm -r outside of mpp to clean this up, if you must.
3rd: I don't know about your current problem. Mpp chdirs around as necessary, so it is not predictable when it is where, except while running a rule, it will be in that rule's dir. Now with -j several subprocesses are possibly in different dirs at the same time, but if you are still on Win, that explanation doesn't hold. Besides: cygwin rm says "Device or resource busy" when something is in the dir, so something else seems to be stalling.
Try to call "strace -fo somefile mpp ...", and then in somefile we will find what is really failing.
regards
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In the recent versions (last 3-4 months) makepp starts locking files at unappropriate times:
cp -r database ../out/Win32_x86/l/
find ../out/Win32_x86/l/ -name .svn | gawk '{ print "\""$0"\"" }' | xargs rm -rf
rm: cannot remove directory `../out/Win32_x86/l/database/.svn/text-base': Directory not empty
makepp: error: Failed to build target `/cygdrive/d/work/
makepp: error: aborted
Essentially what I want is to just copy one directory to another and then clean the .svn and some times .makepp directories.
However as you can see it doesn't always work out.
It seems to happen at a fairly random interval.
Is there anything I can do about it? I assume that makepp could be doing some scanning or similar?
Hi Henrik,
1st: when using gnu tools, you should use find -print0 | xargs -0 rather than gawking!
2nd: .makepp is makepp's persistent knowledge about what it did and is just doing. It makes no sence to mess around in it, while makepp is working! As I mentioned before, the log file is also written to the original dir's .makepp and held open, so you can't delete it on some systems. Use mppc or rm -r outside of mpp to clean this up, if you must.
3rd: I don't know about your current problem. Mpp chdirs around as necessary, so it is not predictable when it is where, except while running a rule, it will be in that rule's dir. Now with -j several subprocesses are possibly in different dirs at the same time, but if you are still on Win, that explanation doesn't hold. Besides: cygwin rm says "Device or resource busy" when something is in the dir, so something else seems to be stalling.
Try to call "strace -fo somefile mpp ...", and then in somefile we will find what is really failing.
regards
Daniel