I would like to find the changes in a subdirectory over the history of a system. For that purpose, I use
git log -- $subdirectory
According to this, that would suffice. There are some commits that do not appear in the result of "git log -- $subdirectory"; however according to
git show $sha
, they change the subdirectory.
For example, in apache-accumulo when I look at this commit using
git show 31ee26b8ac41844f2a647a5d1484f47da731872a
, I see that it changes "core/src/main". To be more specific I get the following response
commit 31ee26b8ac41844f2a647a5d1484f47da731872a
Author: Eric C. Newton <eric.newton@gmail.com>
Date: Wed Mar 11 14:37:39 2015 -0400
ACCUMULO-3423 fixed replication bugs with recent refactorings in StatusUtil
diff --git a/core/src/main/java/org/apache/accumulo/core/replication/StatusUtil.java b/core/src/main/java/org/apache/accumulo/core/replication/StatusUtil.java
index d8ec403..cdb6963 100644
--- a/core/src/main/java/org/apache/accumulo/core/replication/StatusUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/replication/StatusUtil.java
@@ -155,7 +155,7 @@ public class StatusUtil {
/**
* @return A {@link Status} for an open file of unspecified length, all of which needs replicating.
*/
- public static Status openWithUnknownLength(long timeCreated) {
+ public static synchronized Status openWithUnknownLength(long timeCreated) {
return INF_END_REPLICATION_STATUS_BUILDER.setCreatedTime(timeCreated).build();
}
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
index 46101c1..498cbdd 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
@@ -319,7 +319,7 @@ public class TabletServerLogger {
// Need to release
KeyExtent extent = commitSession.getExtent();
if (ReplicationConfigurationUtil.isEnabled(extent, tserver.getTableConfiguration(extent))) {
- Status status = StatusUtil.fileCreated(System.currentTimeMillis());
+ Status status = StatusUtil.openWithUnknownLength(System.currentTimeMillis());
log.debug("Writing " + ProtobufUtil.toString(status) + " to metadata table for " + copy.getFileName());
// Got some new WALs, note this in the metadata table
ReplicationTableUtil.updateFiles(tserver, commitSession.getExtent(), copy.getFileName(), status);
; while
git log -- core/src/main | grep 31ee26b8ac41844f2a647a5d1484f47da731872a
does not show that commit.
I could not find any answer for that! I would appreciate any insight! Thanks!