Mercurial > hg
view contrib/chg/hgclient.h @ 31638:259e5dc21c1d
histedit: backout changeset 6f0b7475cf9a
Before 6f0b7475cf9a, histedit (like rebase) was only creating markers on final
success from the old-rewritten node to the newly created nodes (as of before
6f0b7475cf9a). In case of abort the aborted attempt were stripped to restore the
repository in its state prior to the attempt.
This use of strip was on purpose. Using markers in this case introduces various
issues. The main one is that keeping the partial result of histedit as obsolete
prevents us to recreates the same nodes in a second attempt. The same operation
will lead to an identical results, using an identical node that already exists
in the repository as obsolete.
To conclude, we cannot and should not switch to obsolescence markers creation on
histedit --abort and we backout 6f0b7475cf9a. A test to catch this class of
issue will be introduced in the next changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Sun, 26 Mar 2017 15:46:09 +0200 |
parents | fde9692a02c0 |
children | 9724f54923ec |
line wrap: on
line source
/* * A command server client that uses Unix domain socket * * Copyright (c) 2011 Yuya Nishihara <yuya@tcha.org> * * This software may be used and distributed according to the terms of the * GNU General Public License version 2 or any later version. */ #ifndef HGCLIENT_H_ #define HGCLIENT_H_ #include <sys/types.h> struct hgclient_tag_; typedef struct hgclient_tag_ hgclient_t; hgclient_t *hgc_open(const char *sockname); void hgc_close(hgclient_t *hgc); pid_t hgc_peerpgid(const hgclient_t *hgc); pid_t hgc_peerpid(const hgclient_t *hgc); const char **hgc_validate(hgclient_t *hgc, const char *const args[], size_t argsize); int hgc_runcommand(hgclient_t *hgc, const char *const args[], size_t argsize); void hgc_attachio(hgclient_t *hgc); void hgc_setenv(hgclient_t *hgc, const char *const envp[]); #endif /* HGCLIENT_H_ */