29
29
#include "svnqt/stringarray.hpp"
31
31
#include "svnqt/helper.hpp"
32
#include "svnqt/client_parameter.hpp"
35
void Client_impl::merge (const Path & path1, const Revision & revision1,
36
const Path & path2, const Revision & revision2,
37
const Path & localPath,
43
const StringArray&merge_options
44
) throw (ClientException)
36
void Client_impl::merge (const MergeParameter¶meters) throw (ClientException)
47
39
svn_error_t * error = 0;
48
40
#if ((SVN_VER_MAJOR == 1) && (SVN_VER_MINOR >= 5)) || (SVN_VER_MAJOR > 1)
49
error = svn_client_merge3(path1.cstr (),
50
revision1.revision (),
52
revision2.revision (),
54
internal::DepthToSvn(depth),
59
merge_options.array(pool),
41
error = svn_client_merge3(parameters.path1().cstr (),
42
parameters.revision1().revision(),
43
parameters.path2().cstr(),
44
parameters.revision2().revision(),
45
parameters.localPath().cstr (),
46
internal::DepthToSvn(parameters.depth()),
47
!parameters.notice_ancestry(),
49
parameters.record_only(),
51
parameters.merge_options().array(pool),
63
bool recurse = depth==DepthInfinity;
64
Q_UNUSED(record_only);
55
bool recurse = parameters.depth()==DepthInfinity;
65
56
#if ((SVN_VER_MAJOR == 1) && (SVN_VER_MINOR >= 4))
66
error = svn_client_merge2(path1.cstr (),
67
revision1.revision (),
69
revision2.revision (),
57
error = svn_client_merge2(parameters.path1().cstr (),
58
parameters.revision1().revision (),
59
parameters.path2().cstr (),
60
parameters.revision2().revision(),
61
parameters.localPath().cstr (),
75
merge_options.array(pool),
63
!parameters.notice_ancestry(),
66
parameters.merge_options().array(pool),
79
Q_UNUSED(merge_options);
80
error = svn_client_merge(path1.cstr (),
81
revision1.revision (),
83
revision2.revision (),
70
error = svn_client_merge(parameters.path1().cstr (),
71
parameters.revision1().revision (),
72
parameters.path2().cstr (),
73
parameters.revision2().revision (),
74
parameters.localPath().cstr (),
76
!parameters.notice_ancestry(),
99
void Client_impl::merge_peg(const Path&src,
100
const RevisionRanges&ranges,
104
bool notice_ancestry,
108
const StringArray&merge_options
109
) throw (ClientException)
89
void Client_impl::merge_peg(const MergeParameter¶meters) throw (ClientException)
111
91
#if ((SVN_VER_MAJOR == 1) && (SVN_VER_MINOR >= 5)) || (SVN_VER_MAJOR > 1)
113
internal::RevisionRangesToHash _rhash(ranges);
93
internal::RevisionRangesToHash _rhash(parameters.revisions());
115
95
svn_error_t*error;
117
97
error = svn_client_merge_peg3(
98
parameters.path1().cstr(),
119
99
_rhash.array(pool),
122
internal::DepthToSvn(depth),
127
merge_options.array(pool),
101
parameters.localPath().cstr(),
102
internal::DepthToSvn(parameters.depth()),
103
!parameters.notice_ancestry(),
105
parameters.record_only(),
106
parameters.dry_run(),
107
parameters.merge_options().array(pool),
132
112
throw ClientException (error);
135
Q_UNUSED(record_only);
136
for (RevisionRanges::size_type i=0;i<ranges.count();++i) {
137
merge_peg(src,ranges[i],peg,targetWc,depth,notice_ancestry,dry_run,force,merge_options);
115
for (RevisionRanges::size_type i=0;i<parameters.revisions().count();++i) {
116
merge_peg(parameters.path1(),parameters.revisions()[i],parameters.peg(),parameters.localPath(),
117
parameters.depth(),parameters.notice_ancestry(),parameters.dry_run(),parameters.force(),parameters.merge_options());
151
131
) throw (ClientException)
153
133
#if ((SVN_VER_MAJOR == 1) && (SVN_VER_MINOR >= 5)) || (SVN_VER_MAJOR > 1)
154
RevisionRanges ranges;
155
ranges.append(range);
156
merge_peg(src,ranges,peg,targetWc,depth,notice_ancestry,dry_run,force,false,merge_options);
139
Q_UNUSED(notice_ancestry);
142
Q_UNUSED(merge_options);
143
qWarning()<<"This methode is obsolete!";
159
146
bool recurse=depth==DepthInfinity;