[OpenWalnut-Dev] abort: outstanding uncommitted changes
Christian Heine
cheine at inf.ethz.ch
Thu Jul 5 10:18:41 CEST 2012
Hi list.
On 04.07.2012 21:58, Mathias Goldau wrote:
> [...] Hg queues are a mess (not very intuitve to use) and
> considered very dangerous (at least I believe christan said that it
> modifies the underlying .hg/* files directly). [...]
Just to clarify. I am a proponent of mercurial patch queues and use them
all the time (just not for the named purpose). They are not messy,
unless you mean the inconsistent naming of operations with the rest of
mercurial. They are not dangerous other from the two points that patch
queues are not automatically synchronized between repositories (some
even consider it a feature), and the potential data loss through misuse
of the commands resulting from the above-mentioned
naming-inconsistencies, but nothing more serious than a misplaced "hg
revert".
I second the official solution that Alex pointed too, because it uses
only concepts (read commands) that are also used in everyday mercurial
and are hence easier to remember and therefore robust to errors.
Besides, using patch queues would not require less commands.
I prefer the official solution of "clone+merge+commit+push+update" (in
which the "push+update" can be replaced by a "pull -u") even to
"diff+revert+merge+commit+patch", because even though they may require
less "cd"s, "revert" has a potential data loss (in case you forget to
diff, or diff the wrong part), and diff/patch does not correctly
preserve renames.
I do not know "shelve", but it sounds like it might be an even better
solution.
Another solution I can think of is the double repo strategy. Repo A
clones the server and is used for merging, Repo B clones Repo A and is
used as working directory. This solution is more useful as long as the
number of double "pull"s and "push"s do not outweigh the number of
temporary repo creations for the purposed of merging.
Best regards,
Christian
--
Dipl.-Inf. Christian Heine
c/o Information Technology and Education
ETH-Zentrum, CAB G 66.2
Universitätsstrasse 6 | Phone: +41 44 632 28 49
CH-8092 Zürich, Switzerland | http://www.scivis.ethz.ch
More information about the OpenWalnut-Dev
mailing list