From 1cf0bbce6d89e5f33fe4f70b328b62ac41e18518 Mon Sep 17 00:00:00 2001
From: scjones <scjones@users.savannah.nongnu.org>
Date: Tue, 18 Nov 2008 22:59:02 +0000
Subject: [PATCH] * client.c (add_prune_candidate): Strip all trailing slashes.

---
 src/ChangeLog | 2 ++
 src/client.c  | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/src/ChangeLog b/src/ChangeLog
index 10bff0e1a..5ebb8df8c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
 2008-11-18  Larry Jones  <lawrence.jones@siemens.com>
 
+	* client.c (add_prune_candidate): Strip all trailing slashes.
+
 	* client.c commit.c, history.c, logmsg.c, rcs.c, repos.c, tag.c,
 	  update.c, vers_ts.c: Fix gcc -Wall warnings.
 
diff --git a/src/client.c b/src/client.c
index b0c4ac5d4..8aec2fe94 100644
--- a/src/client.c
+++ b/src/client.c
@@ -3017,12 +3017,15 @@ static void
 add_prune_candidate (const char *dir)
 {
     struct save_dir *p;
+    char *q;
 
     if ((dir[0] == '.' && dir[1] == '\0')
 	|| (prune_candidates && STREQ (dir, prune_candidates->dir)))
 	return;
     p = xmalloc (sizeof (struct save_dir));
     p->dir = xstrdup (dir);
+    for (q = p->dir + strlen(p->dir); q > p->dir && ISSLASH(q[-1]); q--) ;
+    *q = '\0';
     p->next = prune_candidates;
     prune_candidates = p;
 }
-- 
GitLab