Mercurial > hg
view mercurial/compat.h @ 44394:5e3402a0b868
mergestate: determine if active without looking for state files on disk
I couldn't think of a reason that we need to check state files on disk
to determine if a merge is active. I could imagine them being for
there for detecting broken state files that would then be cleaned up
by some later command, but we always delete the entire `.hg/merge/`
tree, so that doesn't seem to be it.
The checks were added in 4e932dc5c113 (resolve: abort when not
applicable (BC), 2014-04-18). Perhaps there were needed for that and
then made obsolete by 6062593d8b06 (resolve: don't abort resolve -l
even when no merge is in progress, 2014-05-23).
The reason I want to delete the checks is that I think `ms =
mergestate.read(repo); ms.active() and ms.local` should be a valid
pattern, but it crashes when the merge state file is an empty file if
we consider mere presence of the file as "active".
Differential Revision: https://phab.mercurial-scm.org/D8118
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 13 Feb 2020 17:15:08 -0800 |
parents | 11ed2eadf937 |
children | d86908050375 |
line wrap: on
line source
#ifndef _HG_COMPAT_H_ #define _HG_COMPAT_H_ #ifdef _WIN32 #ifdef _MSC_VER #if _MSC_VER < 1900 /* msvc 6.0 has problems */ #define inline __inline #if defined(_WIN64) typedef __int64 ssize_t; typedef unsigned __int64 uintptr_t; #else typedef int ssize_t; typedef unsigned int uintptr_t; #endif 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 /* VC++ 14 */ #include <stdint.h> #if defined(_WIN64) typedef __int64 ssize_t; #else typedef int ssize_t; #endif #endif /* _MSC_VER < 1900 */ #else /* not msvc */ #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