1
1
/* dag.h : DAG-like interface filesystem, private to libsvn_fs
3
3
* ====================================================================
4
* Copyright (c) 2000-2006 CollabNet. All rights reserved.
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.
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
12
* http://www.apache.org/licenses/LICENSE-2.0
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
15
20
* ====================================================================
350
354
/* Delete the directory entry named NAME from PARENT, as part of
351
355
TRAIL. PARENT must be mutable. NAME must be a single path
352
356
component; it cannot be a slash-separated directory path. If the
353
node being deleted is a mutable directory, remove all mutable nodes
354
reachable from it. TXN_ID is the Subversion transaction under
357
entry being deleted points to a mutable node revision, also remove
358
that node revision and (if it is a directory) all mutable node
359
revisions reachable from it. Also delete the node-origins record
360
for each deleted node revision that had no predecessor.
362
TXN_ID is the Subversion transaction under which this occurs.
357
364
If return SVN_ERR_FS_NO_SUCH_ENTRY, then there is no entry NAME in
366
373
/* Delete the node revision assigned to node ID from FS's `nodes'
367
374
table, as part of TRAIL. Also delete any mutable representations
368
and strings associated with that node revision. ID may refer to a
369
file or directory, which must be mutable. TXN_ID is the Subversion
370
transaction under which this occurs.
375
and strings associated with that node revision. Also delete the
376
node-origins record for this node revision's node id, if this node
377
revision had no predecessor.
379
ID may refer to a file or directory, which must be mutable. TXN_ID
380
is the Subversion transaction under which this occurs.
372
382
NOTE: If ID represents a directory, and that directory has mutable
373
383
children, you risk orphaning those children by leaving them
383
393
/* Delete all mutable node revisions reachable from node ID, including
384
394
ID itself, from FS's `nodes' table, as part of TRAIL. Also delete
385
395
any mutable representations and strings associated with that node
386
revision. ID may refer to a file or directory, which may be
387
mutable or immutable. TXN_ID is the Subversion transaction under
388
which this occurs. */
396
revision. Also delete the node-origins record for each deleted
397
node revision that had no predecessor.
399
ID may refer to a file or directory, which may be mutable or
400
immutable. TXN_ID is the Subversion transaction under which this
389
402
svn_error_t *svn_fs_base__dag_delete_if_mutable(svn_fs_t *fs,
390
403
const svn_fs_id_t *id,
391
404
const char *txn_id,