Since you can't use ng-if in 1.0.8 here are two variations that solve the problem.  They both wrap 3 items into a table-row div
The outer loop counts off in groups of three, so it fires once per outer table-row div.  The second approach uses a filter to control the loop range but it should have better performance.  The first approach doesn't require a new filter.  
Then the inner ng-repeat loops through the 3 items within a row.  It uses slice to get just the 3 array items needed for that particular row.
Here's a fiddle with both of the variations working:  http://jsfiddle.net/f8D8q/4/
Option 1: Solution without a new filter:
   <div ng-repeat='itemtmp in items|limitTo:(items.length/3)+1'>
        <div class="table-row"> 
            <span ng-repeat='item in items.slice($index*3,($index*3+3))'>
              {{item.name}} - {{$index}}
            </span>
          </div>
   </div>
Option 2: More performant solution using range filter from http://www.yearofmoo.com/2012/10/more-angularjs-magic-to-supercharge-your-webapp.html#more-about-loops
   <div ng-repeat="n in [] | range:(items.length/3)+1">
        <div class="table-row">
            <span ng-repeat='item in items.slice($index*3,($index*3+3))'>
                {{item.name}} - {{$index}}
            </span>
        </div>
    </div>
and the associated range filter: 
 app.filter('range', function () {
    return function (input, total) {
        total = parseInt(total);
        for (var i = 0; i < total; i++) {
            input.push(i);
        }
        return input;
    };
});
Both are tested (down to 1.0.2) and work.