Mercurial > hg
annotate contrib/chg/util.h @ 45551:4c8d9b53b1c7
chg: make is possible to call by default an hg binary located next to chg
When a single version of hg is in use and it's in the PATH, using chg
is just a matter of calling chg.
But when there are multiple installations of hg+chg around, and hg is
referred to with an absolute path, using chg is more annoying because
it requires both changing the invocation to hg to use chg, but also
setting CHGHG.
Currently, we set HGPATH when we build chg to remove the need to set
CHGHG in the previous paragraph. But that means chg now hardcodes its
installation path, which makes the installation not relocatable. Hence
this proposal to make chg find ./hg relative to itself (as opposed to
CHGHG=./hg which find hg relative to cwd).
This only works on linux as written, but since it's opt-in, it sounds
fine.
Tested by hand, as I'm not sure how else to test this.
Differential Revision: https://phab.mercurial-scm.org/D9006
author | Valentin Gatien-Baron <vgatien-baron@janestreet.com> |
---|---|
date | Thu, 03 Sep 2020 11:07:47 -0400 |
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_ */ |