4 ms·
I think what bugs me the most is that `tup` has been around for years now (The v0.1 release was in 2009), and it is almost exactly what I want - it keeps a very
by DSMan195276 9y ago
I think what bugs me the most is that `tup` has been around for years now (The v0.1 release was in 2009), and it is almost exactly what I want - it keeps a very similar setup to `make`, but much better support for the stuff `make` makes a bit painful to do. If it had support for `tup clean` and for defining phony targets like `install` I would likely be using Tupfiles for all of my projects.
- rkangel 9y agoFor what use case do you need to perform a 'clean'? Every time I have needed to clean a Makefile based project it has been due to imperfections of the build system, i.e. needing to do a full rebuild. In theory (I've never used tup in anger) you should never need to do that with tup because the dependecy gathering is so robust.
- dilap 9y agomaybe you want to time a rebuild, maybe somehow something outside of tup's knowledge changed, maybe you want to tar the directory w/o build artifacts, maybe you simply need to quickly free up some hd space, &c &c
- jdonaldson 9y agoIt's extremely unlikely that Tup provides a "clean" command. They've expressed a philosophical opposition to it on a few occasions: https://github.com/gittup/tup/issues/120 https://github.com/gittup/tup/issues/120 They're make a really clear distinction between a build system, and a build support system. The "clean" command falls into build support, and the Tup team would argue this is better served with techniques like "git clean -xdf" The "make clean" command is not perfect. Even if someone writes this make phase correctly, it may break after you sync new makefile changes on a dirty project dir. What do you do in that case?
- dilap 9y agobut tup tracks what it built, so a clean command would come for free and in fact be reliable!
- justhelpingout 9y agoIn fact it is: sqlite3 .tup/db 'select name from node where type=4' | xargs echo rm -f [1]: https://github.com/gittup/tup/issues/120#issuecomment-64832104
- dilap 9y agoso silly this isn't included because of philosophical objections. tup is in some ways brilliant, and i give it kudos for actually improving on make in many ways (unlike 99% of the make-replacement-hopefuls), but man oh man do i value and prefer software devs with a more user-focused philosophy. (an excellent example of that would be homebrew, which arguably wasn't anything special from a pure-tech perspective, but had amazingly good product sense/user focus. imagine combining that attitude & ux skills w/ the technical brilliance of tup...)
- DSMan195276 9y agoI understand it's not going to happen - I linked one such conversation in my first comment. I think the reasoning is silly (His definitions might be "right", but he's the only one using those definitions), but I'm not arguing with them about it. And I agree that `make clean` isn't perfect, I think that is what makes the fact that `tup clean` doesn't exist even more annoying. A lot of people recommend including an auxiliary Makefile or script to do the cleaning, but it can never be as good as if `tup` just did it itself since it is aware of exactly what files it as created during the build process.