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

« back to all changes in this revision

Viewing changes to subversion/libsvn_wc/old-and-busted.c

  • Committer: Package Import Robot
  • Author(s): James McCoy, Peter Samuelson, James McCoy
  • Date: 2014-01-12 19:48:33 UTC
  • mfrom: (0.2.10)
  • Revision ID: package-import@ubuntu.com-20140112194833-w3axfwksn296jn5x
Tags: 1.8.5-1
[ Peter Samuelson ]
* New upstream release.  (Closes: #725787) Rediff patches:
  - Remove apr-abi1 (applied upstream), rename apr-abi2 to apr-abi
  - Remove loosen-sqlite-version-check (shouldn't be needed)
  - Remove java-osgi-metadata (applied upstream)
  - svnmucc prompts for a changelog if none is provided. (Closes: #507430)
  - Remove fix-bdb-version-detection, upstream uses "apu-config --dbm-libs"
  - Remove ruby-test-wc (applied upstream)
  - Fix “svn diff -r N file” when file has svn:mime-type set.
    (Closes: #734163)
  - Support specifying an encoding for mod_dav_svn's environment in which
    hooks are run.  (Closes: #601544)
  - Fix ordering of “svnadmin dump” paths with certain APR versions.
    (Closes: #687291)
  - Provide a better error message when authentication fails with an
    svn+ssh:// URL.  (Closes: #273874)
  - Updated Polish translations.  (Closes: #690815)

[ James McCoy ]
* Remove all traces of libneon, replaced by libserf.
* patches/sqlite_3.8.x_workaround: Upstream fix for wc-queries-test test
  failurse.
* Run configure with --with-apache-libexecdir, which allows removing part of
  patches/rpath.
* Re-enable auth-test as upstream has fixed the problem of picking up
  libraries from the environment rather than the build tree.
  (Closes: #654172)
* Point LD_LIBRARY_PATH at the built auth libraries when running the svn
  command during the build.  (Closes: #678224)
* Add a NEWS entry describing how to configure mod_dav_svn to understand
  UTF-8.  (Closes: #566148)
* Remove ancient transitional package, libsvn-ruby.
* Enable compatibility with Sqlite3 versions back to Wheezy.
* Enable hardening flags.  (Closes: #734918)
* patches/build-fixes: Enable verbose build logs.
* Build against the default ruby version.  (Closes: #722393)

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
#include "svn_time.h"
27
27
#include "svn_xml.h"
28
28
#include "svn_dirent_uri.h"
 
29
#include "svn_hash.h"
29
30
#include "svn_path.h"
30
31
#include "svn_ctype.h"
31
32
#include "svn_pools.h"
382
383
      *str = apr_pstrmemdup(pool, "HEAD", 4);
383
384
      break;
384
385
    case svn_opt_revision_number:
385
 
      *str = apr_itoa(pool, rev->value.number);
 
386
      *str = apr_ltoa(pool, rev->value.number);
386
387
      break;
387
388
    default:
388
389
      return svn_error_createf
716
717
             apr_hash_t *atts, const char *attr_name,
717
718
             const char *entry_name)
718
719
{
719
 
  const char *str = apr_hash_get(atts, attr_name, APR_HASH_KEY_STRING);
 
720
  const char *str = svn_hash_gets(atts, attr_name);
720
721
 
721
722
  *entry_flag = FALSE;
722
723
  if (str)
741
742
               const char *att_name,
742
743
               apr_pool_t *result_pool)
743
744
{
744
 
  const char *value = apr_hash_get(atts, att_name, APR_HASH_KEY_STRING);
 
745
  const char *value = svn_hash_gets(atts, att_name);
745
746
 
746
747
  if (value == NULL)
747
748
    return NULL;
756
757
                         const char *att_name,
757
758
                         apr_pool_t *result_pool)
758
759
{
759
 
  const char *value = apr_hash_get(atts, att_name, APR_HASH_KEY_STRING);
 
760
  const char *value = svn_hash_gets(atts, att_name);
760
761
 
761
762
  if (value == NULL)
762
763
    return NULL;
790
791
  const char *name;
791
792
 
792
793
  /* Find the name and set up the entry under that name. */
793
 
  name = apr_hash_get(atts, ENTRIES_ATTR_NAME, APR_HASH_KEY_STRING);
 
794
  name = svn_hash_gets(atts, ENTRIES_ATTR_NAME);
794
795
  entry->name = name ? apr_pstrdup(pool, name) : SVN_WC_ENTRY_THIS_DIR;
795
796
 
796
797
  /* Attempt to set revision (resolve_to_defaults may do it later, too)
798
799
     ### not used by loggy; no need to set MODIFY_FLAGS  */
799
800
  {
800
801
    const char *revision_str
801
 
      = apr_hash_get(atts, ENTRIES_ATTR_REVISION, APR_HASH_KEY_STRING);
 
802
      = svn_hash_gets(atts, ENTRIES_ATTR_REVISION);
802
803
 
803
804
    if (revision_str)
804
805
      entry->revision = SVN_STR_TO_REV(revision_str);
831
832
  /* ### not used by loggy; no need to set MODIFY_FLAGS  */
832
833
  {
833
834
    const char *kindstr
834
 
      = apr_hash_get(atts, ENTRIES_ATTR_KIND, APR_HASH_KEY_STRING);
 
835
      = svn_hash_gets(atts, ENTRIES_ATTR_KIND);
835
836
 
836
837
    entry->kind = svn_node_none;
837
838
    if (kindstr)
852
853
  /* ### not used by loggy; no need to set MODIFY_FLAGS  */
853
854
  {
854
855
    const char *schedulestr
855
 
      = apr_hash_get(atts, ENTRIES_ATTR_SCHEDULE, APR_HASH_KEY_STRING);
 
856
      = svn_hash_gets(atts, ENTRIES_ATTR_SCHEDULE);
856
857
 
857
858
    entry->schedule = svn_wc_schedule_normal;
858
859
    if (schedulestr)
898
899
  {
899
900
    const char *revstr;
900
901
 
901
 
    revstr = apr_hash_get(atts, ENTRIES_ATTR_COPYFROM_REV,
902
 
                          APR_HASH_KEY_STRING);
 
902
    revstr = svn_hash_gets(atts, ENTRIES_ATTR_COPYFROM_REV);
903
903
    if (revstr)
904
904
      entry->copyfrom_rev = SVN_STR_TO_REV(revstr);
905
905
  }
925
925
  {
926
926
    const char *text_timestr;
927
927
 
928
 
    text_timestr = apr_hash_get(atts, ENTRIES_ATTR_TEXT_TIME,
929
 
                                APR_HASH_KEY_STRING);
 
928
    text_timestr = svn_hash_gets(atts, ENTRIES_ATTR_TEXT_TIME);
930
929
    if (text_timestr)
931
930
      SVN_ERR(svn_time_from_cstring(&entry->text_time, text_timestr, pool));
932
931
 
949
948
  {
950
949
    const char *cmt_datestr, *cmt_revstr;
951
950
 
952
 
    cmt_datestr = apr_hash_get(atts, ENTRIES_ATTR_CMT_DATE,
953
 
                               APR_HASH_KEY_STRING);
 
951
    cmt_datestr = svn_hash_gets(atts, ENTRIES_ATTR_CMT_DATE);
954
952
    if (cmt_datestr)
955
953
      {
956
954
        SVN_ERR(svn_time_from_cstring(&entry->cmt_date, cmt_datestr, pool));
958
956
    else
959
957
      entry->cmt_date = 0;
960
958
 
961
 
    cmt_revstr = apr_hash_get(atts, ENTRIES_ATTR_CMT_REV, APR_HASH_KEY_STRING);
 
959
    cmt_revstr = svn_hash_gets(atts, ENTRIES_ATTR_CMT_REV);
962
960
    if (cmt_revstr)
963
961
      {
964
962
        entry->cmt_rev = SVN_STR_TO_REV(cmt_revstr);
975
973
  entry->lock_comment = extract_string(atts, ENTRIES_ATTR_LOCK_COMMENT, pool);
976
974
  {
977
975
    const char *cdate_str =
978
 
      apr_hash_get(atts, ENTRIES_ATTR_LOCK_CREATION_DATE, APR_HASH_KEY_STRING);
 
976
      svn_hash_gets(atts, ENTRIES_ATTR_LOCK_CREATION_DATE);
979
977
    if (cdate_str)
980
978
      {
981
979
        SVN_ERR(svn_time_from_cstring(&entry->lock_creation_date,
991
989
  /* Translated size */
992
990
  /* ### not used by loggy; no need to set MODIFY_FLAGS  */
993
991
  {
994
 
    const char *val = apr_hash_get(atts, ENTRIES_ATTR_WORKING_SIZE,
995
 
                                   APR_HASH_KEY_STRING);
 
992
    const char *val = svn_hash_gets(atts, ENTRIES_ATTR_WORKING_SIZE);
996
993
    if (val)
997
994
      {
998
995
        /* Cast to off_t; it's safe: we put in an off_t to start with... */
1049
1046
  /* Find the name and set up the entry under that name.  This
1050
1047
     should *NOT* be NULL, since svn_wc__atts_to_entry() should
1051
1048
     have made it into SVN_WC_ENTRY_THIS_DIR. */
1052
 
  apr_hash_set(accum->entries, entry->name, APR_HASH_KEY_STRING, entry);
 
1049
  svn_hash_sets(accum->entries, entry->name, entry);
1053
1050
}
1054
1051
 
1055
1052
/* Parse BUF of size SIZE as an entries file in XML format, storing the parsed
1135
1132
{
1136
1133
  apr_hash_index_t *hi;
1137
1134
  svn_wc_entry_t *default_entry
1138
 
    = apr_hash_get(entries, SVN_WC_ENTRY_THIS_DIR, APR_HASH_KEY_STRING);
 
1135
    = svn_hash_gets(entries, SVN_WC_ENTRY_THIS_DIR);
1139
1136
 
1140
1137
  /* First check the dir's own entry for consistency. */
1141
1138
  if (! default_entry)
1263
1260
          ++curp;
1264
1261
          ++entryno;
1265
1262
 
1266
 
          apr_hash_set(*entries, entry->name, APR_HASH_KEY_STRING, entry);
 
1263
          svn_hash_sets(*entries, entry->name, entry);
1267
1264
        }
1268
1265
    }
1269
1266
 
1270
1267
  /* Fill in any implied fields. */
1271
 
  return resolve_to_defaults(*entries, result_pool);
 
1268
  return svn_error_trace(resolve_to_defaults(*entries, result_pool));
1272
1269
}
1273
1270
 
1274
1271
 
1331
1328
  /* Load an entries hash, and cache it into DIR_ACCESS. Go ahead and
1332
1329
     fetch all entries here (optimization) since we know how to filter
1333
1330
     out a "hidden" node.  */
1334
 
  SVN_ERR(svn_wc_entries_read(&entries, dir_access, TRUE, pool));
1335
 
  *entry = apr_hash_get(entries, entry_name, APR_HASH_KEY_STRING);
 
1331
  SVN_ERR(svn_wc__entries_read_internal(&entries, dir_access, TRUE, pool));
 
1332
  *entry = svn_hash_gets(entries, entry_name);
1336
1333
 
1337
1334
  if (!show_hidden && *entry != NULL)
1338
1335
    {