Index: includes/replies/template.php
--- includes/replies/template.php
+++ includes/replies/template.php
@@ -661,6 +661,7 @@
 function bbp_reply_revision_log( $reply_id = 0 ) {
 	echo bbp_get_reply_revision_log( $reply_id );
 }
+
 	/**
 	 * Return the formatted revision log of the reply
 	 *
@@ -696,7 +697,18 @@
 			return false;
 
 		// Get the actual revisions
-		$revisions = bbp_get_reply_revisions( $reply_id );
+
+		$total = $limit = - 1;
+		$order = 'ASC';
+
+		if ( empty( $_GET['bbp_reply_revisions_all'] ) || intval( $_GET['bbp_reply_revisions_all'] ) != $reply_id ) {
+			$total = bbp_get_reply_revision_count( $reply_id );
+			$limit = (int) apply_filters( 'bbp_reply_revision_log_limit', 1 );
+			$order = 'DESC';
+		}
+
+		$revisions = bbp_get_reply_revisions( $reply_id, $limit, $order );
+
 		if ( empty( $revisions ) )
 			return false;
 
@@ -723,13 +735,22 @@
 				$r .= "\t\t" . sprintf( esc_html__( 'This reply was modified %1$s by %2$s.', 'bbpress' ), esc_html( $since ), $author ) . "\n";
 			}
 			$r .= "\t" . '</li>' . "\n";
+		}
 
+		// If there are more revisions to show
+		if ( $total > $limit ) {
+			$topic_id  = bbp_get_reply_topic_id( $reply_id );
+			$link_url  = add_query_arg( 'bbp_reply_revisions_all', $reply_id, bbp_get_topic_permalink( $topic_id ) . '/#post-' . $reply_id );
+			$link_text = esc_html__( sprintf( 'Show %d more', $total - $limit ) );
+
+			$r .= sprintf( "<li class='bbp-reply-revision-log-more' data-id='%d'><a href='%s'>%s</a></li>", $reply_id, $link_url, $link_text );
 		}
 
 		$r .= "\n" . '</ul>' . "\n\n";
 
 		return apply_filters( 'bbp_get_reply_revision_log', $r, $reply_id );
 	}
+
 		/**
 		 * Return the raw revision log of the reply
 		 *
@@ -755,16 +776,20 @@
  *
  * @since bbPress (r2782)
  *
- * @param int $reply_id Optional. Reply id
+ * @param int    $reply_id Optional. Topic id
+ * @param int    $count    Optional. Amout of revisions to grab.
+ * @param string $order    Optional. ASC/DESC Order of the results.
+ *
  * @uses bbp_get_reply_id() To get the reply id
- * @uses wp_get_post_revisions() To get the reply revisions
+ * @uses  wp_get_post_revisions() To get the topic revisions
  * @uses apply_filters() Calls 'bbp_get_reply_revisions'
  *                        with the revisions and reply id
- * @return string reply revisions
+ *
+ * @return string Reply revisions
  */
-function bbp_get_reply_revisions( $reply_id = 0 ) {
+function bbp_get_reply_revisions( $reply_id = 0, $count = -1, $order = 'ASC' ) {
 	$reply_id  = bbp_get_reply_id( $reply_id );
-	$revisions = wp_get_post_revisions( $reply_id, array( 'order' => 'ASC' ) );
+	$revisions = wp_get_post_revisions( $reply_id, array( 'order' => $order, 'posts_per_page' => $count ) );
 
 	return apply_filters( 'bbp_get_reply_revisions', $revisions, $reply_id );
 }
Index: includes/topics/template.php
--- includes/topics/template.php
+++ includes/topics/template.php
@@ -885,6 +885,7 @@
 function bbp_topic_revision_log( $topic_id = 0 ) {
 	echo bbp_get_topic_revision_log( $topic_id );
 }
+
 	/**
 	 * Return the formatted revision log of the topic
 	 *
@@ -910,7 +911,17 @@
 		if ( empty( $topic_id ) || empty( $revision_log ) || !is_array( $revision_log ) )
 			return false;
 
-		$revisions = bbp_get_topic_revisions( $topic_id );
+		$total = $limit = - 1;
+		$order = 'ASC';
+
+		if ( empty( $_GET['bbp_topic_revisions_all'] ) || intval( $_GET['bbp_topic_revisions_all'] ) != $topic_id ) {
+			$total = bbp_get_topic_revision_count( $topic_id );
+			$limit = (int) apply_filters( 'bbp_topic_revision_log_limit', 1 );
+			$order = 'DESC';
+		}
+
+		$revisions = bbp_get_topic_revisions( $topic_id, $limit, $order );
+
 		if ( empty( $revisions ) )
 			return false;
 
@@ -937,13 +948,21 @@
 				$r .= "\t\t" . sprintf( __( 'This topic was modified %1$s by %2$s.', 'bbpress' ), esc_html( $since ), $author ) . "\n";
 			}
 			$r .= "\t" . '</li>' . "\n";
+		}
 
+		// If there are more revisions to show
+		if ( $total > $limit ) {
+			$link_url  = add_query_arg( 'bbp_topic_revisions_all', $topic_id, bbp_get_topic_permalink( $topic_id ) . '/#post-' . $topic_id );
+			$link_text = esc_html__( sprintf( 'Show %d more', $total - $limit ) );
+
+			$r .= sprintf( "<li class='bbp-topic-revision-log-more' data-id='%d'><a href='%s'>%s</a></li>", $topic_id, $link_url, $link_text );
 		}
 
 		$r .= "\n" . '</ul>' . "\n\n";
 
 		return apply_filters( 'bbp_get_topic_revision_log', $r, $topic_id );
 	}
+
 		/**
 		 * Return the raw revision log of the topic
 		 *
@@ -957,8 +976,7 @@
 		 * @return string Raw revision log of the topic
 		 */
 		function bbp_get_topic_raw_revision_log( $topic_id = 0 ) {
-			$topic_id = bbp_get_topic_id( $topic_id );
-
+			$topic_id     = bbp_get_topic_id( $topic_id );
 			$revision_log = get_post_meta( $topic_id, '_bbp_revision_log', true );
 			$revision_log = empty( $revision_log ) ? array() : $revision_log;
 
@@ -971,15 +989,19 @@
  * @since bbPress (r2782)
  *
  * @param int $topic_id Optional. Topic id
+ * @param int    $count    Optional. Amout of revisions to grab.
+ * @param string $order    Optional. ASC/DESC Order of the results.
+ *
  * @uses bbp_get_topic_id() To get the topic id
  * @uses wp_get_post_revisions() To get the topic revisions
  * @uses apply_filters() Calls 'bbp_get_topic_revisions'
  *                        with the revisions and topic id
+ *
  * @return string Topic revisions
  */
-function bbp_get_topic_revisions( $topic_id = 0 ) {
+function bbp_get_topic_revisions( $topic_id = 0, $count = -1, $order = 'ASC' ) {
 	$topic_id  = bbp_get_topic_id( $topic_id );
-	$revisions = wp_get_post_revisions( $topic_id, array( 'order' => 'ASC' ) );
+	$revisions = wp_get_post_revisions( $topic_id, array( 'order' => $order, 'posts_per_page' => $count ) );
 
 	return apply_filters( 'bbp_get_topic_revisions', $revisions, $topic_id );
 }
