mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
5.9 KiB

  1. --- ./subversion/libsvn_client/diff.c.orig 2004-06-25 15:27:54.000000000 +0200
  2. +++ ./subversion/libsvn_client/diff.c 2004-09-02 18:01:49.000000000 +0200
  3. @@ -624,6 +624,7 @@
  4. struct merge_cmd_baton {
  5. svn_boolean_t force;
  6. svn_boolean_t dry_run;
  7. + svn_boolean_t duplicate;
  8. const char *target; /* Working copy target of merge */
  9. const char *url; /* The second URL in the merge */
  10. const char *path; /* The wc path of the second target, this
  11. @@ -776,7 +777,7 @@
  12. struct merge_cmd_baton *merge_b = baton;
  13. apr_pool_t *subpool = svn_pool_create (merge_b->pool);
  14. svn_node_kind_t kind;
  15. - const char *copyfrom_url;
  16. + const char *copyfrom_url = NULL;
  17. const char *child;
  18. /* Easy out: if we have no adm_access for the parent directory,
  19. @@ -808,8 +809,10 @@
  20. {
  21. child = svn_path_is_child(merge_b->target, mine, merge_b->pool);
  22. assert (child != NULL);
  23. - copyfrom_url = svn_path_join (merge_b->url, child, merge_b->pool);
  24. - SVN_ERR (check_schema_match (adm_access, copyfrom_url));
  25. + if ( merge_b->duplicate == FALSE ) {
  26. + copyfrom_url = svn_path_join (merge_b->url, child, merge_b->pool);
  27. + SVN_ERR (check_schema_match (adm_access, copyfrom_url));
  28. + }
  29. /* Since 'mine' doesn't exist, and this is
  30. 'merge_file_added', I hope it's safe to assume that
  31. @@ -955,7 +958,8 @@
  32. apr_pool_t *subpool = svn_pool_create (merge_b->pool);
  33. svn_node_kind_t kind;
  34. const svn_wc_entry_t *entry;
  35. - const char *copyfrom_url, *child;
  36. + const char *copyfrom_url = NULL;
  37. + const char *child;
  38. /* Easy out: if we have no adm_access for the parent directory,
  39. then this portion of the tree-delta "patch" must be inapplicable.
  40. @@ -970,8 +974,10 @@
  41. child = svn_path_is_child (merge_b->target, path, subpool);
  42. assert (child != NULL);
  43. - copyfrom_url = svn_path_join (merge_b->url, child, subpool);
  44. - SVN_ERR (check_schema_match (adm_access, copyfrom_url));
  45. + if ( merge_b->duplicate == FALSE ) {
  46. + copyfrom_url = svn_path_join (merge_b->url, child, subpool);
  47. + SVN_ERR (check_schema_match (adm_access, copyfrom_url));
  48. + }
  49. SVN_ERR (svn_io_check_path (path, &kind, subpool));
  50. switch (kind)
  51. @@ -2234,6 +2240,7 @@
  52. svn_boolean_t ignore_ancestry,
  53. svn_boolean_t force,
  54. svn_boolean_t dry_run,
  55. + svn_boolean_t duplicate,
  56. svn_client_ctx_t *ctx,
  57. apr_pool_t *pool)
  58. {
  59. @@ -2285,6 +2292,7 @@
  60. merge_cmd_baton.force = force;
  61. merge_cmd_baton.dry_run = dry_run;
  62. + merge_cmd_baton.duplicate = duplicate;
  63. merge_cmd_baton.target = target_wcpath;
  64. merge_cmd_baton.url = URL2;
  65. merge_cmd_baton.revision = revision2;
  66. --- ./subversion/include/svn_client.h.orig 2004-06-16 22:26:00.000000000 +0200
  67. +++ ./subversion/include/svn_client.h 2004-09-02 18:01:49.000000000 +0200
  68. @@ -909,6 +909,7 @@
  69. svn_boolean_t ignore_ancestry,
  70. svn_boolean_t force,
  71. svn_boolean_t dry_run,
  72. + svn_boolean_t duplicate,
  73. svn_client_ctx_t *ctx,
  74. apr_pool_t *pool);
  75. --- ./subversion/clients/cmdline/cl.h.orig 2004-05-19 23:32:54.000000000 +0200
  76. +++ ./subversion/clients/cmdline/cl.h 2004-09-02 18:01:49.000000000 +0200
  77. @@ -51,6 +51,7 @@
  78. svn_cl__config_dir_opt,
  79. svn_cl__diff_cmd_opt,
  80. svn_cl__dry_run_opt,
  81. + svn_cl__duplicate_opt,
  82. svn_cl__editor_cmd_opt,
  83. svn_cl__encoding_opt,
  84. svn_cl__force_log_opt,
  85. @@ -120,6 +121,7 @@
  86. svn_boolean_t ignore_ancestry; /* ignore ancestry for merge-y operations */
  87. svn_boolean_t stop_on_copy; /* don't cross copies during processing */
  88. svn_boolean_t dry_run; /* try operation but make no changes */
  89. + svn_boolean_t duplicate; /* simply duplicate copied files and dirs */
  90. svn_boolean_t revprop; /* operate on a revision property */
  91. const char *diff_cmd; /* the external diff command to use */
  92. const char *merge_cmd; /* the external merge command to use */
  93. --- ./subversion/clients/cmdline/main.c.orig 2004-09-02 17:56:45.000000000 +0200
  94. +++ ./subversion/clients/cmdline/main.c 2004-09-02 18:01:49.000000000 +0200
  95. @@ -112,6 +112,8 @@
  96. N_("do no interactive prompting")},
  97. {"dry-run", svn_cl__dry_run_opt, 0,
  98. N_("try operation but make no changes")},
  99. + {"duplicate", svn_cl__duplicate_opt, 0,
  100. + "simply duplicate copied files and directories"},
  101. {"no-diff-deleted", svn_cl__no_diff_deleted, 0,
  102. N_("do not print differences for deleted files")},
  103. {"notice-ancestry", svn_cl__notice_ancestry_opt, 0,
  104. @@ -412,7 +414,7 @@
  105. " the sources have identical basenames that match a file within '.':\n"
  106. " in which case, the differences will be applied to that file.\n"),
  107. {'r', 'N', 'q', svn_cl__force_opt, svn_cl__dry_run_opt,
  108. - svn_cl__merge_cmd_opt, svn_cl__ignore_ancestry_opt,
  109. + svn_cl__duplicate_opt, svn_cl__merge_cmd_opt, svn_cl__ignore_ancestry_opt,
  110. SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt} },
  111. { "mkdir", svn_cl__mkdir, {0},
  112. @@ -888,6 +890,9 @@
  113. case svn_cl__dry_run_opt:
  114. opt_state.dry_run = TRUE;
  115. break;
  116. + case svn_cl__duplicate_opt:
  117. + opt_state.duplicate = TRUE;
  118. + break;
  119. case svn_cl__revprop_opt:
  120. opt_state.revprop = TRUE;
  121. break;
  122. --- ./subversion/clients/cmdline/merge-cmd.c.orig 2004-09-02 17:57:41.000000000 +0200
  123. +++ ./subversion/clients/cmdline/merge-cmd.c 2004-09-02 18:01:49.000000000 +0200
  124. @@ -190,6 +190,7 @@
  125. opt_state->ignore_ancestry,
  126. opt_state->force,
  127. opt_state->dry_run,
  128. + opt_state->duplicate,
  129. ctx,
  130. pool);
  131. }