Index: includes/replies/template.php
===================================================================
--- includes/replies/template.php	(revision 5064)
+++ includes/replies/template.php	(working copy)
@@ -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;
 
@@ -726,10 +738,20 @@
 
 		}
 
+	// 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,20 +777,25 @@
  *
  * @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 );
 }
 
+
 /**
  * Return the revision count of the reply
  *
Index: includes/topics/template.php
===================================================================
--- includes/topics/template.php	(revision 5064)
+++ includes/topics/template.php	(working copy)
@@ -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;
 
@@ -940,10 +951,19 @@
 
 		}
 
+	// 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
 		 *
@@ -971,15 +991,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 );
 }
