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.

168 lines
7.9 KiB

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