⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 info-cmd.c

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 C
📖 第 1 页 / 共 2 页
字号:
  /* ### remove this someday:  it's only here for cmdline output     compatibility with svn 1.1 and older.  */  if (info->kind != svn_node_dir)    SVN_ERR(svn_cmdline_printf(pool, _("Name: %s\n"),                               svn_path_basename(target, pool)));   if (info->URL)     SVN_ERR(svn_cmdline_printf(pool, _("URL: %s\n"), info->URL));             if (info->repos_root_URL)     SVN_ERR(svn_cmdline_printf(pool, _("Repository Root: %s\n"),                               info->repos_root_URL));   if (info->repos_UUID)     SVN_ERR(svn_cmdline_printf(pool, _("Repository UUID: %s\n"),                               info->repos_UUID));   if (SVN_IS_VALID_REVNUM(info->rev))    SVN_ERR(svn_cmdline_printf(pool, _("Revision: %ld\n"), info->rev));  switch (info->kind)     {    case svn_node_file:      SVN_ERR(svn_cmdline_printf(pool, _("Node Kind: file\n")));      break;              case svn_node_dir:      SVN_ERR(svn_cmdline_printf(pool, _("Node Kind: directory\n")));      break;              case svn_node_none:      SVN_ERR(svn_cmdline_printf(pool, _("Node Kind: none\n")));      break;              case svn_node_unknown:    default:      SVN_ERR(svn_cmdline_printf(pool, _("Node Kind: unknown\n")));      break;    }  if (info->has_wc_info)    {      switch (info->schedule)         {        case svn_wc_schedule_normal:          SVN_ERR(svn_cmdline_printf(pool, _("Schedule: normal\n")));          break;                  case svn_wc_schedule_add:          SVN_ERR(svn_cmdline_printf(pool, _("Schedule: add\n")));          break;                  case svn_wc_schedule_delete:          SVN_ERR(svn_cmdline_printf(pool, _("Schedule: delete\n")));          break;                  case svn_wc_schedule_replace:          SVN_ERR(svn_cmdline_printf(pool, _("Schedule: replace\n")));          break;                  default:          break;        }            if (info->copyfrom_url)         SVN_ERR(svn_cmdline_printf(pool, _("Copied From URL: %s\n"),                                   info->copyfrom_url));            if (SVN_IS_VALID_REVNUM(info->copyfrom_rev))        SVN_ERR(svn_cmdline_printf(pool, _("Copied From Rev: %ld\n"),                                   info->copyfrom_rev));    }        if (info->last_changed_author)     SVN_ERR(svn_cmdline_printf(pool, _("Last Changed Author: %s\n"),                               info->last_changed_author));    if (SVN_IS_VALID_REVNUM(info->last_changed_rev))    SVN_ERR(svn_cmdline_printf(pool, _("Last Changed Rev: %ld\n"),                               info->last_changed_rev));    if (info->last_changed_date)    SVN_ERR(svn_cl__info_print_time(info->last_changed_date,                                     _("Last Changed Date"), pool));    if (info->has_wc_info)    {      if (info->text_time)        SVN_ERR(svn_cl__info_print_time(info->text_time,                                         _("Text Last Updated"), pool));            if (info->prop_time)        SVN_ERR(svn_cl__info_print_time(info->prop_time,                                         _("Properties Last Updated"), pool));            if (info->checksum)         SVN_ERR(svn_cmdline_printf(pool, _("Checksum: %s\n"),                                   info->checksum));            if (info->conflict_old)         SVN_ERR(svn_cmdline_printf(pool,                                   _("Conflict Previous Base File: %s\n"),                                   svn_path_local_style(info->conflict_old,                                                        pool)));       if (info->conflict_wrk)         SVN_ERR(svn_cmdline_printf                (pool, _("Conflict Previous Working File: %s\n"),                 svn_path_local_style(info->conflict_wrk, pool)));            if (info->conflict_new)         SVN_ERR(svn_cmdline_printf(pool,                                   _("Conflict Current Base File: %s\n"),                                   svn_path_local_style(info->conflict_new,                                                        pool)));       if (info->prejfile)         SVN_ERR(svn_cmdline_printf(pool, _("Conflict Properties File: %s\n"),                                   svn_path_local_style(info->prejfile,                                                        pool)));    }        if (info->lock)    {      if (info->lock->token)        SVN_ERR(svn_cmdline_printf(pool, _("Lock Token: %s\n"),                                   info->lock->token));      if (info->lock->owner)        SVN_ERR(svn_cmdline_printf(pool, _("Lock Owner: %s\n"),                                   info->lock->owner));      if (info->lock->creation_date)        SVN_ERR(svn_cl__info_print_time(info->lock->creation_date,                                        _("Lock Created"), pool));      if (info->lock->expiration_date)        SVN_ERR(svn_cl__info_print_time(info->lock->expiration_date,                                        _("Lock Expires"), pool));            if (info->lock->comment)        {          int comment_lines;          /* NOTE: The stdio will handle newline translation. */          comment_lines = svn_cstring_count_newlines(info->lock->comment) + 1;          SVN_ERR(svn_cmdline_printf(pool,                                     (comment_lines != 1)                                     ? _("Lock Comment (%i lines):\n%s\n")                                     : _("Lock Comment (%i line):\n%s\n"),                                     comment_lines,                                      info->lock->comment));        }    }  /* Print extra newline separator. */  SVN_ERR(svn_cmdline_printf(pool, "\n"));  return SVN_NO_ERROR;}/* A callback of type svn_info_receiver_t. */static svn_error_t *info_receiver(void *baton,              const char *path,              const svn_info_t *info,              apr_pool_t *pool){  if (((svn_cl__cmd_baton_t *) baton)->opt_state->xml)    return print_info_xml(path, info, pool);  else    return print_info(path, info, pool);}/* This implements the `svn_opt_subcommand_t' interface. */svn_error_t *svn_cl__info(apr_getopt_t *os,             void *baton,             apr_pool_t *pool){  svn_cl__opt_state_t *opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state;  svn_client_ctx_t *ctx = ((svn_cl__cmd_baton_t *) baton)->ctx;  apr_array_header_t *targets;  apr_pool_t *subpool = svn_pool_create(pool);  int i;  svn_error_t *err;  svn_opt_revision_t peg_revision;  SVN_ERR(svn_opt_args_to_target_array2(&targets, os,                                         opt_state->targets, pool));  /* Add "." if user passed 0 arguments. */  svn_opt_push_implicit_dot_target(targets, pool);  if (opt_state->xml)    {      /* If output is not incremental, output the XML header and wrap         everything in a top-level element. This makes the output in         its entirety a well-formed XML document. */      if (! opt_state->incremental)        SVN_ERR(print_header_xml(pool));    }  else    {      if (opt_state->incremental)        return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,                                _("'incremental' option only valid in XML "                                  "mode"));    }    for (i = 0; i < targets->nelts; i++)    {      const char *truepath;      const char *target = ((const char **) (targets->elts))[i];            svn_pool_clear(subpool);      SVN_ERR(svn_cl__check_cancel(ctx->cancel_baton));      /* Get peg revisions. */      SVN_ERR(svn_opt_parse_path(&peg_revision, &truepath, target, subpool));      /* If no peg-rev was attached to a URL target, then assume HEAD. */      if ((svn_path_is_url(target))          && (peg_revision.kind == svn_opt_revision_unspecified))        peg_revision.kind = svn_opt_revision_head;      err = svn_client_info(truepath,                            &peg_revision, &(opt_state->start_revision),                            info_receiver, baton,                            opt_state->recursive, ctx, subpool);      /* If one of the targets is a non-existent URL or wc-entry,         don't bail out.  Just warn and move on to the next target. */      if (err && err->apr_err == SVN_ERR_UNVERSIONED_RESOURCE)        {          svn_error_clear(err);          SVN_ERR(svn_cmdline_fprintf                  (stderr, subpool,                   _("%s:  (Not a versioned resource)\n\n"),                   svn_path_local_style(target, pool)));          continue;        }      else if (err && err->apr_err == SVN_ERR_RA_ILLEGAL_URL)        {          svn_error_clear(err);          SVN_ERR(svn_cmdline_fprintf                  (stderr, subpool,                   _("%s:  (Not a valid URL)\n\n"),                   svn_path_local_style(target, pool)));          continue;        }      else if (err)        return err;    }  svn_pool_destroy(subpool);  if (opt_state->xml && (! opt_state->incremental))    SVN_ERR(print_footer_xml(pool));  return SVN_NO_ERROR;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -