Mercurial > hg
annotate contrib/chg/util.h @ 48976:877d7e1a4223 stable
amend: fix amend with copies in extras
If copy information is stored only in the commit extras and not in
filelogs, then they get lost on amend if the file wasn't also modified
in the working copy. That's because we create `filectx` object from
the old commit in those cases, and the `.copysource()` of such objects
read only from the filelog. This patch fixes it by always creating a
new `memfilectx` in these cases, passing the calculated copy
information to it.
Differential Revision: https://phab.mercurial-scm.org/D12387
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 18 Mar 2022 21:15:54 -0700 |
parents | 9724f54923ec |
children |
rev | line source |
---|---|
28060 | 1 /* |
2 * Utility functions | |
3 * | |
4 * Copyright (c) 2011 Yuya Nishihara <yuya@tcha.org> | |
5 * | |
6 * This software may be used and distributed according to the terms of the | |
7 * GNU General Public License version 2 or any later version. | |
8 */ | |
9 | |
10 #ifndef UTIL_H_ | |
11 #define UTIL_H_ | |
12 | |
13 #ifdef __GNUC__ | |
14 #define PRINTF_FORMAT_ __attribute__((format(printf, 1, 2))) | |
29440
009cc6c89d0f
chg: silence warning of unused parameter 'sig'
Yuya Nishihara <yuya@tcha.org>
parents:
28855
diff
changeset
|
15 #define UNUSED_ __attribute__((unused)) |
28604
d4d8a3c89e6d
chg: define PRINTF_FORMAT_ for non gnu C compiler
Jun Wu <quark@fb.com>
parents:
28165
diff
changeset
|
16 #else |
d4d8a3c89e6d
chg: define PRINTF_FORMAT_ for non gnu C compiler
Jun Wu <quark@fb.com>
parents:
28165
diff
changeset
|
17 #define PRINTF_FORMAT_ |
29440
009cc6c89d0f
chg: silence warning of unused parameter 'sig'
Yuya Nishihara <yuya@tcha.org>
parents:
28855
diff
changeset
|
18 #define UNUSED_ |
28060 | 19 #endif |
20 | |
21 void abortmsg(const char *fmt, ...) PRINTF_FORMAT_; | |
28788
57a78a64de44
chg: add util function abortmsgerrno to print error with errno
Jun Wu <quark@fb.com>
parents:
28787
diff
changeset
|
22 void abortmsgerrno(const char *fmt, ...) PRINTF_FORMAT_; |
28060 | 23 |
28787
ea86cdcd9b50
chg: use color in debug/error messages conditionally
Jun Wu <quark@fb.com>
parents:
28604
diff
changeset
|
24 void enablecolor(void); |
28060 | 25 void enabledebugmsg(void); |
26 void debugmsg(const char *fmt, ...) PRINTF_FORMAT_; | |
27 | |
28854
ddef14468952
chg: add fchdirx as a utility function
Jun Wu <quark@fb.com>
parents:
28788
diff
changeset
|
28 void fchdirx(int dirfd); |
28855
f5764e177bbe
chg: extract the logic of setting FD_CLOEXEC to a utility function
Jun Wu <quark@fb.com>
parents:
28854
diff
changeset
|
29 void fsetcloexec(int fd); |
28165
c6705c6303dd
chg: add utility functions mallocx, reallocx
Jun Wu <quark@fb.com>
parents:
28060
diff
changeset
|
30 void *mallocx(size_t size); |
c6705c6303dd
chg: add utility functions mallocx, reallocx
Jun Wu <quark@fb.com>
parents:
28060
diff
changeset
|
31 void *reallocx(void *ptr, size_t size); |
c6705c6303dd
chg: add utility functions mallocx, reallocx
Jun Wu <quark@fb.com>
parents:
28060
diff
changeset
|
32 |
28060 | 33 int runshellcmd(const char *cmd, const char *envp[], const char *cwd); |
34 | |
35959
9724f54923ec
chg: enable clang-format on all .c and .h files
Augie Fackler <augie@google.com>
parents:
29440
diff
changeset
|
35 #endif /* UTIL_H_ */ |