timestamp_t: a new data type for timestamps
Git's source code assumes that unsigned long is at least as precise as time_t. Which is incorrect, and causes a lot of problems, in particular where unsigned long is only 32-bit (notably on Windows, even in 64-bit versions). So let's just use a more appropriate data type instead. In preparation for this, we introduce the new `timestamp_t` data type. By necessity, this is a very, very large patch, as it has to replace all timestamps' data type in one go. As we will use a data type that is not necessarily identical to `time_t`, we need to be very careful to use `time_t` whenever we interact with the system functions, and `timestamp_t` everywhere else. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
cb71f8bdb5
commit
dddbad728c
@ -35,7 +35,7 @@ static const char * const upload_pack_usage[] = {
|
||||
#define CLIENT_SHALLOW (1u << 18)
|
||||
#define HIDDEN_REF (1u << 19)
|
||||
|
||||
static unsigned long oldest_have;
|
||||
static timestamp_t oldest_have;
|
||||
|
||||
static int deepen_relative;
|
||||
static int multi_ack;
|
||||
@ -735,7 +735,7 @@ static void receive_needs(void)
|
||||
struct string_list deepen_not = STRING_LIST_INIT_DUP;
|
||||
int depth = 0;
|
||||
int has_non_tip = 0;
|
||||
unsigned long deepen_since = 0;
|
||||
timestamp_t deepen_since = 0;
|
||||
int deepen_rev_list = 0;
|
||||
|
||||
shallow_nr = 0;
|
||||
|
Reference in New Issue
Block a user