Using Mathematica 7, I got a solution
(* Commands 1*)
Clear[x, y];
DSolve[ y'[x] == x - y[x], y[x], x]
{{y[x] -> -1 + x + E^-x C[1]}}
The only time I was able to reproduce the "DSolve[True...." message was when I had the sequence of commands as follows,
Clear[x, y];
y'[x] = x - y[x];
DSolve[y'[x] == x - y[x], y[x], x]
What's happening is that y'[x] is known to be x- y[x], and the DSolve is doing a compare of y-y[x] == y-y[x], returning True. Then it can't solve True for y[x] in x, resulting in the question being returned.
Would you try exiting the kernel, restart fresh, and re-typing (* commands 1*) only.