Skip to content

Commit

Permalink
show started, not finished, edges in progress
Browse files Browse the repository at this point in the history
In verbose mode (where we don't overprint) it's confusing to show
[0/XX] for the first N commands we start.  In smart terminal mode,
I can't really tell the difference.
  • Loading branch information
evmar committed May 14, 2011
1 parent 2f4244e commit 2ec1b42
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/build.cc
Expand Up @@ -62,7 +62,7 @@ struct BuildStatus {
/// Time we last printed an update.
int64_t last_update_millis_;

int finished_edges_, total_edges_;
int started_edges_, finished_edges_, total_edges_;

/// Map of running edge to time the edge started running.
typedef map<Edge*, int> RunningEdgeMap;
Expand All @@ -76,7 +76,7 @@ BuildStatus::BuildStatus(const BuildConfig& config)
: config_(config),
start_time_millis_(GetTimeMillis()),
last_update_millis_(start_time_millis_),
finished_edges_(0), total_edges_(0) {
started_edges_(0), finished_edges_(0), total_edges_(0) {
#ifndef WIN32
const char* term = getenv("TERM");
smart_terminal_ = isatty(1) && term && string(term) != "dumb";
Expand All @@ -96,6 +96,7 @@ void BuildStatus::PlanHasTotalEdges(int total) {
void BuildStatus::BuildEdgeStarted(Edge* edge) {
int start_time = (int)(GetTimeMillis() - start_time_millis_);
running_edges_.insert(make_pair(edge, start_time));
++started_edges_;

PrintStatus(edge);
}
Expand Down Expand Up @@ -157,7 +158,7 @@ void BuildStatus::PrintStatus(Edge* edge) {
if (smart_terminal_)
printf("\r"); // Print over previous line, if any.

int progress_chars = printf("[%d/%d] ", finished_edges_, total_edges_);
int progress_chars = printf("[%d/%d] ", started_edges_, total_edges_);

#ifndef WIN32
if (smart_terminal_ && !force_full_command) {
Expand Down

0 comments on commit 2ec1b42

Please sign in to comment.