Sharing remake projects across systems?
Hi,
I have a project that is shared across my personal machines via dropbox - I am the single user.
However, when I build the project, each machine seems to want to build every target - as in, it doubles up on work.
Is this the intended behaviour? Or should I be able to share remake projects across machines?
Which platforms? Remake does track session metadata, though I do not remember the exact place in the code, and I do not know if/how that factors into build decisions.
At one point, I thought I was having a similar problem traceable to eddelbuettel/digest#64, but digest ended up being correct. Maybe Dropbox changes how line breaks are encoded when you download flat files? What happens if you do a simpler copy without going through Dropbox?
As for whether targets on a different system should remain up to date, I can see arguments for both sides. For wlandau-lilly/drake#6, it was a difficult decision. I ended up erring on the side of simplicity and platform independence, and I verified that a built copy of drake's basic example stays up to date when transferred from Red Hat Linux to Windows 7 if the imported packages have the same versions on both platforms. But I am still not certain if this behavior is desired.
Transferring the files for this particular project will take 60 hours, so I won't bother with that. I'm pretty sure Dropbox doesn't change line endings but it changes some file metadata which could get picked up somewhere in remake.
Since remake doesn't currently account for package versions, I wouldn't want it to try and police that. I would hope it would eventually incorporate packrat to handle that particular issue.
@kendonB you make a good point about reacting to changes in packages. Now that I think it over again, I think I will offload that part of drake to packrat.
Back to your original issue, are there any targets at all that remain up to date after the transfer?