~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/svn/status-cmd.c

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2015-08-07 21:32:47 UTC
  • mfrom: (0.2.15) (4.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20150807213247-ozyewtmgsr6tkewl
Tags: 1.9.0-1
* Upload to unstable
* New upstream release.
  + Security fixes
    - CVE-2015-3184: Mixed anonymous/authenticated path-based authz with
      httpd 2.4
    - CVE-2015-3187: svn_repos_trace_node_locations() reveals paths hidden
      by authz
* Add >= 2.7 requirement for python-all-dev Build-Depends, needed to run
  tests.
* Remove Build-Conflicts against ruby-test-unit.  (Closes: #791844)
* Remove patches/apache_module_dependency in favor of expressing the
  dependencies in authz_svn.load/dav_svn.load.
* Build-Depend on apache2-dev (>= 2.4.16) to ensure ap_some_authn_required()
  is available when building mod_authz_svn and Depend on apache2-bin (>=
  2.4.16) for runtime support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
  svn_stringbuf_t *sb = svn_stringbuf_create_empty(pool);
116
116
 
117
117
  svn_xml_make_open_tag(&sb, pool, svn_xml_normal, "target",
118
 
                        "path", target, NULL);
 
118
                        "path", target, SVN_VA_NULL);
119
119
 
120
120
  return svn_cl__error_checked_fputs(sb->data, stdout);
121
121
}
135
135
      const char *repos_rev_str;
136
136
      repos_rev_str = apr_psprintf(pool, "%ld", repos_rev);
137
137
      svn_xml_make_open_tag(&sb, pool, svn_xml_self_closing, "against",
138
 
                            "revision", repos_rev_str, NULL);
 
138
                            "revision", repos_rev_str, SVN_VA_NULL);
139
139
    }
140
140
 
141
141
  svn_xml_make_close_tag(&sb, pool, "target");
187
187
   * ### _read_info() returns. The svn_wc_status_func4_t callback is
188
188
   * ### suppposed to handle the gathering of additional information from the
189
189
   * ### WORKING nodes on its own. Until we've agreed on how the CLI should
190
 
   * ### handle the revision information, we use this appproach to stay compat
 
190
   * ### handle the revision information, we use this approach to stay compat
191
191
   * ### with our testsuite. */
192
192
  if (status->versioned
193
193
      && !SVN_IS_VALID_REVNUM(status->revision)
288
288
 
289
289
  SVN_ERR(svn_cl__check_targets_are_local_paths(targets));
290
290
 
291
 
  /* We want our -u statuses to be against HEAD. */
292
 
  rev.kind = svn_opt_revision_head;
 
291
  /* We want our -u statuses to be against HEAD by default. */
 
292
  if (opt_state->start_revision.kind == svn_opt_revision_unspecified)
 
293
    rev.kind = svn_opt_revision_head;
 
294
  else if (! opt_state->update)
 
295
    return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
 
296
                        _("--revision (-r) option valid only with "
 
297
                          "--show-updates (-u) option"));
 
298
  else
 
299
    rev = opt_state->start_revision;
293
300
 
294
301
  sb.had_print_error = FALSE;
295
302
 
345
352
 
346
353
      /* Retrieve a hash of status structures with the information
347
354
         requested by the user. */
348
 
      SVN_ERR(svn_cl__try(svn_client_status5(&repos_rev, ctx, target, &rev,
 
355
      SVN_ERR(svn_cl__try(svn_client_status6(&repos_rev, ctx, target, &rev,
349
356
                                             opt_state->depth,
350
357
                                             opt_state->verbose,
351
358
                                             opt_state->update,
 
359
                                             TRUE /* check_working_copy */,
352
360
                                             opt_state->no_ignore,
353
361
                                             opt_state->ignore_externals,
354
362
                                             FALSE /* depth_as_sticky */,
359
367
                          /* not versioned: */
360
368
                          SVN_ERR_WC_NOT_WORKING_COPY,
361
369
                          SVN_ERR_WC_PATH_NOT_FOUND,
362
 
                          SVN_NO_ERROR));
 
370
                          0));
363
371
 
364
372
      if (opt_state->xml)
365
373
        SVN_ERR(print_finish_target_xml(repos_rev, iterpool));
366
374
    }
367
375
 
368
 
  /* If any paths were cached because they were associatied with
 
376
  /* If any paths were cached because they were associated with
369
377
     changelists, we can now display them as grouped changelists. */
370
378
  if (apr_hash_count(master_cl_hash) > 0)
371
379
    {
378
386
      for (hi = apr_hash_first(scratch_pool, master_cl_hash); hi;
379
387
           hi = apr_hash_next(hi))
380
388
        {
381
 
          const char *changelist_name = svn__apr_hash_index_key(hi);
382
 
          apr_array_header_t *path_array = svn__apr_hash_index_val(hi);
 
389
          const char *changelist_name = apr_hash_this_key(hi);
 
390
          apr_array_header_t *path_array = apr_hash_this_val(hi);
383
391
          int j;
384
392
 
385
393
          /* ### TODO: For non-XML output, we shouldn't print the
390
398
              svn_stringbuf_setempty(buf);
391
399
              svn_xml_make_open_tag(&buf, scratch_pool, svn_xml_normal,
392
400
                                    "changelist", "name", changelist_name,
393
 
                                    NULL);
 
401
                                    SVN_VA_NULL);
394
402
              SVN_ERR(svn_cl__error_checked_fputs(buf->data, stdout));
395
403
            }
396
404
          else