~ubuntu-branches/ubuntu/trusty/subversion/trusty-proposed

« back to all changes in this revision

Viewing changes to subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClientInterface.java

  • Committer: Package Import Robot
  • Author(s): Andy Whitcroft
  • Date: 2012-06-21 15:36:36 UTC
  • mfrom: (0.4.13 sid)
  • Revision ID: package-import@ubuntu.com-20120621153636-amqqmuidgwgxz1ly
Tags: 1.7.5-1ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - Create pot file on build.
  - Build a python-subversion-dbg package.
  - Build-depend on python-dbg.
  - Build-depend on default-jre-headless/-jdk.
  - Do not apply java-build patch.
  - debian/rules: Manually create the doxygen output directory, otherwise
    we get weird build failures when running parallel builds.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/**
2
2
 * @copyright
3
3
 * ====================================================================
4
 
 * Copyright (c) 2003-2008 CollabNet.  All rights reserved.
5
 
 *
6
 
 * This software is licensed as described in the file COPYING, which
7
 
 * you should have received as part of this distribution.  The terms
8
 
 * are also available at http://subversion.tigris.org/license-1.html.
9
 
 * If newer versions of this license are posted there, you may use a
10
 
 * newer version instead, at your option.
11
 
 *
12
 
 * This software consists of voluntary contributions made by many
13
 
 * individuals.  For exact contribution history, see the revision
14
 
 * history and logs, available at http://subversion.tigris.org/.
 
4
 *    Licensed to the Apache Software Foundation (ASF) under one
 
5
 *    or more contributor license agreements.  See the NOTICE file
 
6
 *    distributed with this work for additional information
 
7
 *    regarding copyright ownership.  The ASF licenses this file
 
8
 *    to you under the Apache License, Version 2.0 (the
 
9
 *    "License"); you may not use this file except in compliance
 
10
 *    with the License.  You may obtain a copy of the License at
 
11
 *
 
12
 *      http://www.apache.org/licenses/LICENSE-2.0
 
13
 *
 
14
 *    Unless required by applicable law or agreed to in writing,
 
15
 *    software distributed under the License is distributed on an
 
16
 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 
17
 *    KIND, either express or implied.  See the License for the
 
18
 *    specific language governing permissions and limitations
 
19
 *    under the License.
15
20
 * ====================================================================
16
21
 * @endcopyright
17
22
 */
326
331
     * Retrieve the log messages for an item.
327
332
     * @param path          path or url to get the log message for.
328
333
     * @param pegRevision   revision to interpret path
329
 
     * @param revisionRanges an array of revision ranges to show
 
334
     * @param ranges        an array of revision ranges to show
330
335
     * @param stopOnCopy    do not continue on copy operations
331
336
     * @param discoverPath  returns the paths of the changed items in the
332
337
     *                      returned objects
431
436
 
432
437
    /**
433
438
     * Sets the commit message handler. This allows more complex commit message
434
 
     * with the list of the elements to be commited as input.
 
439
     * with the list of the elements to be committed as input.
435
440
     * @param messageHandler    callback for entering commit messages
436
441
     *                          if this is set the message parameter is ignored.
437
442
     * @since 1.0
661
666
     * @param copyAsChild Whether to copy <code>srcPaths</code> as
662
667
     * children of <code>destPath</code>.
663
668
     * @param makeParents Whether to create intermediate parents
 
669
     * @param ignoreExternals Whether or not to process external definitions
 
670
     *                        as part of this operation.
 
671
     * @param revpropTable A string-to-string mapping of revision properties
 
672
     *                     to values which will be set if this operation
 
673
     *                     results in a commit.
 
674
     * @throws ClientException If the copy operation fails.
 
675
     * @since 1.7
 
676
     */
 
677
    void copy(CopySource[] sources, String destPath, String message,
 
678
              boolean copyAsChild, boolean makeParents,
 
679
              boolean ignoreExternals, Map revpropTable)
 
680
            throws ClientException;
 
681
 
 
682
    /**
 
683
     * Copy versioned paths with the history preserved.
 
684
     *
 
685
     * @param sources A list of <code>CopySource</code> objects.
 
686
     * @param destPath Destination path or URL.
 
687
     * @param message Commit message.  May be <code>null</code> if
 
688
     * <code>destPath</code> is not a URL.
 
689
     * @param copyAsChild Whether to copy <code>srcPaths</code> as
 
690
     * children of <code>destPath</code>.
 
691
     * @param makeParents Whether to create intermediate parents
664
692
     * @param revpropTable A string-to-string mapping of revision properties
665
693
     *                     to values which will be set if this operation
666
694
     *                     results in a commit.
667
695
     * @throws ClientException If the copy operation fails.
668
696
     * @since 1.5
 
697
     * @deprecated Use {@link #copy(CopySource[], String, String, boolean,
 
698
     *                              boolean, boolean, Map)} instead.
669
699
     */
670
700
    void copy(CopySource[] sources, String destPath, String message,
671
701
              boolean copyAsChild, boolean makeParents, Map revpropTable)
681
711
     * @param revision  source revision
682
712
     * @throws ClientException
683
713
     * @deprecated Use {@link #copy(CopySource[], String, String, boolean,
684
 
     *                              boolean)} instead.
 
714
     *                              boolean, boolean, Map)} instead.
685
715
     */
686
716
    void copy(String srcPath, String destPath, String message,
687
717
              Revision revision) throws ClientException;
1063
1093
 
1064
1094
    /**
1065
1095
     * Retrieve either merged or eligible-to-be-merged revisions.
1066
 
     * @param kind                   kind of revisions to receive
1067
 
     * @param pathOrUrl              target of merge
1068
 
     * @param pegRevision            peg rev for pathOrUrl
1069
 
     * @param mergeSourceUrl         the source of the merge
1070
 
     * @param srcPegRevision         peg rev for mergeSourceUrl
1071
 
     * @param discoverChangedPaths   return paths of changed items
1072
 
     * @param revProps               the revprops to retrieve
1073
 
     * @param callback               the object to receive the log messages
 
1096
     * @param kind                   kind of revisions to receive:
 
1097
     * See {@see org.apache.subversion.javahl.MergeinfoLogKind}.
 
1098
     * @param pathOrUrl              target of merge
 
1099
     * @param pegRevision            peg rev for pathOrUrl
 
1100
     * @param mergeSourceUrl         the source of the merge
 
1101
     * @param srcPegRevision         peg rev for mergeSourceUrl
 
1102
     * @param discoverChangedPaths   return paths of changed items
 
1103
     * @param depth                  the depth to recurse to
 
1104
     * @param revProps               the revprops to retrieve
 
1105
     * @param callback               the object to receive the log messages
 
1106
     * @since 1.7
 
1107
     */
 
1108
    void getMergeinfoLog(int kind, String pathOrUrl,
 
1109
                         Revision pegRevision, String mergeSourceUrl,
 
1110
                         Revision srcPegRevision, boolean discoverChangedPaths,
 
1111
                         int depth, String[] revProps,
 
1112
                         LogMessageCallback callback)
 
1113
        throws ClientException;
 
1114
 
 
1115
    /**
 
1116
     * Retrieve either merged or eligible-to-be-merged revisions.
 
1117
     * @param kind                   kind of revisions to receive:
 
1118
     * See {@see org.apache.subversion.javahl.MergeinfoLogKind}.
 
1119
     * @param pathOrUrl              target of merge
 
1120
     * @param pegRevision            peg rev for pathOrUrl
 
1121
     * @param mergeSourceUrl         the source of the merge
 
1122
     * @param srcPegRevision         peg rev for mergeSourceUrl
 
1123
     * @param discoverChangedPaths   return paths of changed items
 
1124
     * @param revProps               the revprops to retrieve
 
1125
     * @param callback               the object to receive the log messages
 
1126
     * @deprecated Use {@link #getMergeinfoLog(int, String, Revision, String,
 
1127
     *                                         Revision, boolean, int,
 
1128
     *                                         String[], LogMessageCallback)}
1074
1129
     * @since 1.5
1075
1130
     */
1076
1131
    void getMergeinfoLog(int kind, String pathOrUrl,
1077
1132
                         Revision pegRevision, String mergeSourceUrl,
1078
1133
                         Revision srcPegRevision, boolean discoverChangedPaths,
1079
 
                         String[] revprops, LogMessageCallback callback)
 
1134
                         String[] revProps, LogMessageCallback callback)
1080
1135
        throws ClientException;
1081
1136
 
1082
1137
    /**
1131
1186
     * @param ignoreAncestry ignore if files are not related
1132
1187
     * @param noDiffDeleted no output on deleted files
1133
1188
     * @param force         diff even on binary files
1134
 
     * @throws ClientException
 
1189
     * @param copiesAsAdds  if set, copied files will be shown in their
 
1190
     *                      entirety, not as diffs from their sources
 
1191
     * @throws ClientException
 
1192
     * @since 1.7
 
1193
     */
 
1194
    void diff(String target1, Revision revision1, String target2,
 
1195
              Revision revision2, String relativeToDir, String outFileName,
 
1196
              int depth, String[] changelists, boolean ignoreAncestry,
 
1197
              boolean noDiffDeleted, boolean force, boolean copiesAsAdds)
 
1198
            throws ClientException;
 
1199
 
 
1200
    /**
 
1201
     * Display the differences between two paths
 
1202
     * @param target1       first path or url
 
1203
     * @param revision1     first revision
 
1204
     * @param target2       second path or url
 
1205
     * @param revision2     second revision
 
1206
     * @param relativeToDir index path is relative to this path
 
1207
     * @param outFileName   file name where difference are written
 
1208
     * @param depth         how deep to traverse into subdirectories
 
1209
     * @param ignoreAncestry ignore if files are not related
 
1210
     * @param noDiffDeleted no output on deleted files
 
1211
     * @param force         diff even on binary files
 
1212
     * @throws ClientException
 
1213
     * @deprecated Use {@link #diff(String, Revision, String, Revision,
 
1214
     *                              String, String, int, boolean, boolean,
 
1215
     *                              boolean, boolean)} instead.
1135
1216
     * @since 1.5
1136
1217
     */
1137
1218
    void diff(String target1, Revision revision1, String target2,
1175
1256
     * @param ignoreAncestry ignore if files are not related
1176
1257
     * @param noDiffDeleted no output on deleted files
1177
1258
     * @param force         diff even on binary files
1178
 
     * @throws ClientException
 
1259
     * @param copiesAsAdds  if set, copied files will be shown in their
 
1260
     *                      entirety, not as diffs from their sources
 
1261
     * @throws ClientException
 
1262
     * @since 1.7
 
1263
     */
 
1264
    void diff(String target, Revision pegRevision, Revision startRevision,
 
1265
              Revision endRevision, String relativeToDir, String outFileName,
 
1266
              int depth, String[] changelists, boolean ignoreAncestry,
 
1267
              boolean noDiffDeleted, boolean force, boolean copiesAsAdds)
 
1268
            throws ClientException;
 
1269
 
 
1270
    /**
 
1271
     * Display the differences between two paths.
 
1272
     * @param target        path or url
 
1273
     * @param pegRevision   revision tointerpret target
 
1274
     * @param startRevision first Revision to compare
 
1275
     * @param endRevision   second Revision to compare
 
1276
     * @param relativeToDir index path is relative to this path
 
1277
     * @param outFileName   file name where difference are written
 
1278
     * @param depth         how deep to traverse into subdirectories
 
1279
     * @param changelists  if non-null, filter paths using changelists
 
1280
     * @param ignoreAncestry ignore if files are not related
 
1281
     * @param noDiffDeleted no output on deleted files
 
1282
     * @param force         diff even on binary files
 
1283
     * @throws ClientException
 
1284
     * @deprecated Use {@link #diff(String, Revision, Revision, Revision,
 
1285
     *                              String, String, int, boolean, boolean,
 
1286
     *                              boolean, boolean)} instead.
1179
1287
     * @since 1.5
1180
1288
     */
1181
1289
    void diff(String target, Revision pegRevision, Revision startRevision,
1692
1800
     * @param callback      callback to receive the file content and the other
1693
1801
     *                      information
1694
1802
     * @throws ClientException
 
1803
     * @deprecated Use {@link #blame(String, Revision, Revision, Revision,
 
1804
     *                               boolean, boolean, BlameCallback3)}
 
1805
     *                               instead.
1695
1806
     * @since 1.5
1696
1807
     */
1697
 
 
1698
1808
    void blame(String path, Revision pegRevision, Revision revisionStart,
1699
1809
               Revision revisionEnd, boolean ignoreMimeType,
1700
1810
               boolean includeMergedRevisions,
1701
1811
               BlameCallback2 callback) throws ClientException;
1702
1812
 
1703
1813
    /**
 
1814
     * Retrieve the content together with the author, the revision and the date
 
1815
     * of the last change of each line
 
1816
     * @param path          the path
 
1817
     * @param pegRevision   the revision to interpret the path
 
1818
     * @param revisionStart the first revision to show
 
1819
     * @param revisionEnd   the last revision to show
 
1820
     * @param ignoreMimeType whether or not to ignore the mime-type
 
1821
     * @param includeMergedRevisions whether or not to include extra merge
 
1822
     *                      information
 
1823
     * @param callback      callback to receive the file content and the other
 
1824
     *                      information
 
1825
     * @throws ClientException
 
1826
     * @since 1.7
 
1827
     */
 
1828
    void blame(String path, Revision pegRevision, Revision revisionStart,
 
1829
               Revision revisionEnd, boolean ignoreMimeType,
 
1830
               boolean includeMergedRevisions,
 
1831
               BlameCallback3 callback) throws ClientException;
 
1832
 
 
1833
    /**
1704
1834
     * Set directory for the configuration information, taking the
1705
1835
     * usual steps to ensure that Subversion's config file templates
1706
1836
     * exist in the specified location..  On Windows, setting a
1758
1888
     * @param changelists changelists to filter by
1759
1889
     * @since 1.5
1760
1890
     */
1761
 
    void removeFromChangelists(String[] paths, int depth, String[] changelist)
 
1891
    void removeFromChangelists(String[] paths, int depth, String[] changelists)
1762
1892
            throws ClientException;
1763
1893
 
1764
1894
    /**
1816
1946
     * @param pegRevision   the revision to interpret pathOrUrl
1817
1947
     * @param depth         the depth to recurse
1818
1948
     * @param changelists   if non-null, filter paths using changelists
1819
 
     * @param callback      a callback to receive the infos retreived
 
1949
     * @param callback      a callback to receive the infos retrieved
1820
1950
     * @since 1.5
1821
1951
     */
1822
1952
    void info2(String pathOrUrl, Revision revision, Revision pegRevision,
1834
1964
     */
1835
1965
    String getVersionInfo(String path, String trailUrl, boolean lastChanged)
1836
1966
            throws ClientException;
 
1967
 
 
1968
    /**
 
1969
     * Recursively upgrade a working copy to a new metadata storage format.
 
1970
     * @param path                  path of the working copy
 
1971
     * @throws ClientException
 
1972
     * @since 1.7
 
1973
     */
 
1974
    void upgrade(String path)
 
1975
            throws ClientException;
1837
1976
}