##// END OF EJS Templates
context: start walking from "introrev" in blockancestors()...
context: start walking from "introrev" in blockancestors() Previously, calling blockancestors() with a fctx not touching file would sometimes yield this filectx first, instead of the first "block ancestor", because when compared to its parent it may have changes in specified line range despite not touching the file at all. Fixing this by starting the algorithm from the "base" filectx obtained using fctx.introrev() (as done in annotate()). In tests, add a changeset not touching file we want to follow lines of to cover this case. Do this in test-annotate.t for followlines revset tests and in test-hgweb-filelog.t for /log/<rev>/<file>?linerange=<from>:<to> tests.

File last commit:

r29549:7b22599d default
r32063:befefdd3 stable
Show More
compat.h
43 lines | 781 B | text/x-c | CLexer
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 #ifndef _HG_COMPAT_H_
#define _HG_COMPAT_H_
#ifdef _WIN32
#ifdef _MSC_VER
/* msvc 6.0 has problems */
#define inline __inline
Maciej Fijalkowski
compat: provide a declaration of ssize_t, for MS windows
r29521 #if defined(_WIN64)
typedef __int64 ssize_t;
#else
Yuya Nishihara
compat: define ssize_t as int on 32bit Windows, silences C4142 warning...
r29549 typedef int ssize_t;
Maciej Fijalkowski
compat: provide a declaration of ssize_t, for MS windows
r29521 #endif
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 typedef signed char int8_t;
typedef short int16_t;
typedef long int32_t;
typedef __int64 int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
typedef unsigned __int64 uint64_t;
#else
#include <stdint.h>
#endif
#else
/* not windows */
#include <sys/types.h>
#if defined __BEOS__ && !defined __HAIKU__
#include <ByteOrder.h>
#else
#include <arpa/inet.h>
#endif
#include <inttypes.h>
#endif
#if defined __hpux || defined __SUNPRO_C || defined _AIX
#define inline
#endif
#ifdef __linux
#define inline __inline
#endif
#endif