svn_opt_impl.h revision 362181
1/**
2 * @copyright
3 * ====================================================================
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.
20 * ====================================================================
21 * @endcopyright
22 *
23 * @file svn_opt_impl.h
24 * @brief Option and argument parsing for Subversion command lines
25 *        (common implementation)
26 *
27 * @warning This is a @b private implementation-specific header file.
28 *          User code should include @ref svn_opt.h instead.
29 */
30
31/* NOTE:
32 * This file *must not* include or depend on any other header except
33 * the C standard library headers.
34 */
35
36#ifndef SVN_OPT_IMPL_H
37#define SVN_OPT_IMPL_H
38
39#ifdef __cplusplus
40extern "C" {
41#endif /* __cplusplus */
42
43
44/**
45 * Various ways of specifying revisions.
46 *
47 * @note
48 * In contexts where local mods are relevant, the `working' kind
49 * refers to the uncommitted "working" revision, which may be modified
50 * with respect to its base revision.  In other contexts, `working'
51 * should behave the same as `committed' or `current'.
52 */
53/* NOTE: Update svnxx/revision.hpp when changing this enum. */
54enum svn_opt_revision_kind {
55  /** No revision information given. */
56  svn_opt_revision_unspecified,
57
58  /** revision given as number */
59  svn_opt_revision_number,
60
61  /** revision given as date */
62  svn_opt_revision_date,
63
64  /** rev of most recent change */
65  svn_opt_revision_committed,
66
67  /** (rev of most recent change) - 1 */
68  svn_opt_revision_previous,
69
70  /** .svn/entries current revision */
71  svn_opt_revision_base,
72
73  /** current, plus local mods */
74  svn_opt_revision_working,
75
76  /** repository youngest */
77  svn_opt_revision_head
78
79  /* please update svn_opt__revision_to_string() when extending this enum */
80};
81
82#ifdef __cplusplus
83}
84#endif /* __cplusplus */
85
86#endif /* SVN_OPT_IMPL_H */
87