1c0ff6aa23
Later, the aports folder will probably get split up in its own repository. But right now this is simply convenient.
63 lines
2.5 KiB
Diff
63 lines
2.5 KiB
Diff
From 56c14ec7f75a68c191f2fc210915108f428e849c Mon Sep 17 00:00:00 2001
|
|
From: Natanael Copa <ncopa@alpinelinux.org>
|
|
Date: Fri, 25 Jul 2014 15:28:33 +0200
|
|
Subject: [PATCH 12/12] diff: add support for --no-dereference
|
|
|
|
Add flag for not following symlinks when recursing
|
|
|
|
function old new delta
|
|
.rodata 7934 7967 +33
|
|
diff_longopts 253 270 +17
|
|
packed_usage 1704 1720 +16
|
|
diff_main 1665 1662 -3
|
|
------------------------------------------------------------------------------
|
|
(add/remove: 0/0 grow/shrink: 3/1 up/down: 66/-3) Total: 63 bytes
|
|
|
|
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
---
|
|
editors/diff.c | 8 +++++++-
|
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/editors/diff.c b/editors/diff.c
|
|
index 75229ad8c..6266bde0d 100644
|
|
--- a/editors/diff.c
|
|
+++ b/editors/diff.c
|
|
@@ -117,6 +117,9 @@
|
|
//usage: "\n -N Treat absent files as empty"
|
|
//usage: "\n -q Output only whether files differ"
|
|
//usage: "\n -r Recurse"
|
|
+//usage: IF_LONG_OPTS(
|
|
+//usage: "\n --no-dereference Don't follow symlinks"
|
|
+//usage: )
|
|
//usage: "\n -S Start with FILE when comparing directories"
|
|
//usage: "\n -T Make tabs line up by prefixing a tab when necessary"
|
|
//usage: "\n -s Report when two files are the same"
|
|
@@ -158,6 +161,7 @@ enum { /* Commandline flags */
|
|
FLAG_p, /* not implemented */
|
|
FLAG_B,
|
|
FLAG_E, /* not implemented */
|
|
+ FLAG_no_deref,
|
|
};
|
|
#define FLAG(x) (1 << FLAG_##x)
|
|
|
|
@@ -872,7 +876,8 @@ static void diffdir(char *p[2], const char *s_start)
|
|
* Using list.len to specify its length,
|
|
* add_to_dirlist will remove it. */
|
|
list[i].len = strlen(p[i]);
|
|
- recursive_action(p[i], ACTION_RECURSE | ACTION_FOLLOWLINKS,
|
|
+ recursive_action(p[i], ACTION_RECURSE |
|
|
+ ((option_mask32 & FLAG(no_deref)) ? 0 : ACTION_FOLLOWLINKS),
|
|
add_to_dirlist, skip_dir, &list[i], 0);
|
|
/* Sort dl alphabetically.
|
|
* GNU diff does this ignoring any number of trailing dots.
|
|
@@ -969,6 +974,7 @@ static const char diff_longopts[] ALIGN1 =
|
|
"report-identical-files\0" No_argument "s"
|
|
"starting-file\0" Required_argument "S"
|
|
"minimal\0" No_argument "d"
|
|
+ "no-dereference\0" No_argument "\xff"
|
|
;
|
|
#endif
|
|
|
|
--
|
|
2.11.0
|
|
|