Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
remove_dir_recursively(): add docstring
author
Michael Haggerty
<mhagger@alum.mit.edu>
Sun, 24 Apr 2016 05:07:59 +0000
(07:07 +0200)
committer
Michael Haggerty
<mhagger@alum.mit.edu>
Thu, 5 May 2016 14:37:30 +0000
(16:37 +0200)
Add a docstring for the remove_dir_recursively() function and the
REMOVE_DIR_* flags that can be passed to it.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
dir.h
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
e95792e
)
diff --git
a/dir.h
b/dir.h
index 301b737a37236c1d61d109b29fa556143c28df46..5f19acc272643d3de0b78ec1d4fada97b53e54f1 100644
(file)
--- a/
dir.h
+++ b/
dir.h
@@
-262,9
+262,32
@@
extern int is_empty_dir(const char *dir);
extern void setup_standard_excludes(struct dir_struct *dir);
extern void setup_standard_excludes(struct dir_struct *dir);
+
+/* Constants for remove_dir_recursively: */
+
+/*
+ * If a non-directory is found within path, stop and return an error.
+ * (In this case some empty directories might already have been
+ * removed.)
+ */
#define REMOVE_DIR_EMPTY_ONLY 01
#define REMOVE_DIR_EMPTY_ONLY 01
+
+/*
+ * If any Git work trees are found within path, skip them without
+ * considering it an error.
+ */
#define REMOVE_DIR_KEEP_NESTED_GIT 02
#define REMOVE_DIR_KEEP_NESTED_GIT 02
+
+/* Remove the contents of path, but leave path itself. */
#define REMOVE_DIR_KEEP_TOPLEVEL 04
#define REMOVE_DIR_KEEP_TOPLEVEL 04
+
+/*
+ * Remove path and its contents, recursively. flags is a combination
+ * of the above REMOVE_DIR_* constants. Return 0 on success.
+ *
+ * This function uses path as temporary scratch space, but restores it
+ * before returning.
+ */
extern int remove_dir_recursively(struct strbuf *path, int flag);
/* tries to remove the path with empty directories along it, ignores ENOENT */
extern int remove_dir_recursively(struct strbuf *path, int flag);
/* tries to remove the path with empty directories along it, ignores ENOENT */