Tag Info

New answers tagged

0

Actually, git is rather different from the concept you described. In a nutshell, this is how it works: It's repository stores compressed copies of entire files that have changed, as determined by the SHA-1 hash of the file, rather than some form of a diff patch. But if the hash for a file is already anywhere in the repository, even if found on some ...


1

Fossil and Veracity are two VCSs that are not just VCSs, they are full project management systems. In addition to VCS functionality, they also include bug tracking and documentation, among other things. Veracity specifically is based around the idea that there are two general "shapes" of data in project management: "file shape" (a tree of unstructured, ...


1

Image-based systems such as most Smalltalks, LISPs, but also the Intentional Domain Workbench and similar tools have VCSs that aren't based on text. In those systems, programs aren't text files, they are semantic graphs of rich objects. In image-based systems, "programming" actually means "mutating the live running program while it is executing". Their VCSs ...


3

I think you'll find all SCMs are roughly the same, though you could consider Visual Sourcesafe as an esoteric outlier :-) Nearly all work on diff deltas between commits, SVN for example has the same kind of diff+patch approach darcs does, only it doesn't try to pull in more revision history than you ask it to when merging (I'm not sure if Darcs trying to ...


1

You may want to consider only running tests that have recently failed. Given that the entire set takes 6-7 hours (i.e. is runnable nightly), you could base your tests set on the past few nights' results. If you mix in a few randomly selected tests for broader coverage over the course of the day, you should get a good chance of catching errors. This idea ...


1

TL;DR: Create a Dependency DAG from affected modules Identifying the tests that are impacted by a particular change is the same as identifying when to recompile/relink a object file. Create a dependency directed acyclic graph (DAG) starting at the modified module. You should be able to traverse all imports to identify the what needs to be tested. You can ...


7

There are certain static analysis tools that can help determine "test impact", which can then run the effected tests. But I can't help but feel that you're solving the symptom, not the problem. When I worked in QA, there was one overriding mantra that has helped me as a developer: "don't trust the developer". Even if I could determine "relevant", I wouldn't ...


1

If your unit tests are taking 6-7 hours to run, something is wrong. They should take a few minutes at most. Note that I say should - I know how difficult this can be in reality. Maybe it's time you start mocking out your objects so that you're not dependent on the filesystem or DB or whatever is slowing you down. You don't want to have to deal with working ...


0

Does over-reliance on tools imply that you are lazy? Generally speaking, 'No'; but there is one big caveat. I started programming in C++ at uni and loved it. In the next term we changed to VB6 and I hated it. I could not tell what was going on, you drag a button to a form and the ide writes the code for you. Yes, indeed. Your experience at ...



Top 50 recent answers are included