Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
Here is some information about the reset_almost_hard
function. This is the result of reading the code and
the documentation of related commands, but as I don't
know much these areas of git...
builtin-sequencer--helper.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
Show changes to builtin-sequencer--helper.c +15 −2
diff --git a/builtin-sequencer--helper.c b/builtin-sequencer--helper.c
index 82a830d..a15139c 100644
--- a/builtin-sequencer--helper.c
+++ b/builtin-sequencer--helper.c
@@ -77,8 +77,21 @@ static int reset_index_file(const unsigned char *sha1, int update, int dirty)
/*
* Realize reset --hard behavior.
- * If allow_dirty is set and there is a dirty working tree,
- * then the changes are to be kept.
+ * If allow_dirty is set and there is a dirty work tree,
+ * then the changes in the work tree are to be kept.
+ *
+ * This should be faster than calling "git reset --hard" because
+ * this calls "unpack_trees()" directly (instead of forking and
+ * execing "git read-tree").
+ *
+ * Unmerged entries in the index will be discarded.
+ *
+ * If allow_dirty is set and fast forwarding the work tree
+ * fails because it is dirty, then the work tree will not be
+ * updated.
+ *
+ * No need to read or discard the index before calling this
+ * function.
*/
static int reset_almost_hard(const unsigned char *sha)
{
--
1.6.4.133.g8a5c8