[RFC PATCH 10/35] update: add --ff option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is the default, it doesn't change anything.

Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx>
---
 Documentation/git-update.txt |  9 ++++++++-
 builtin/update.c             | 17 +++++++++++++++--
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-update.txt b/Documentation/git-update.txt
index 54c49c5d12..df778b7ef4 100644
--- a/Documentation/git-update.txt
+++ b/Documentation/git-update.txt
@@ -8,7 +8,7 @@ git-update - Update the current branch to the latest remote
 SYNOPSIS
 --------
 [verse]
-'git update'
+'git update' [<options>]
 
 DESCRIPTION
 -----------
@@ -22,6 +22,13 @@ the update operation is straight-forward, but if you do a further `git merge` or
 
 THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOUR MAY CHANGE.
 
+OPTIONS
+-------
+
+-f::
+--ff::
+	Forces a fast-forward.
+
 SEE ALSO
 --------
 linkgit:git-fetch[1], linkgit:git-fast-forward[1],
diff --git a/builtin/update.c b/builtin/update.c
index 1a69896aa8..34681fe21a 100644
--- a/builtin/update.c
+++ b/builtin/update.c
@@ -7,12 +7,22 @@
 #include "run-command.h"
 #include "dir.h"
 
+enum update_mode_type {
+	UPDATE_MODE_FAST_FORWARD = 0
+};
+
+static enum update_mode_type mode = UPDATE_MODE_FAST_FORWARD;
+
 static const char * const update_usage[] = {
-	N_("git update"),
+	N_("git update [<options>]"),
 	NULL
 };
 
 static struct option update_options[] = {
+	OPT_SET_INT_F('f', "ff", &mode,
+		N_("incorporate changes by fast-forwarding"),
+		UPDATE_MODE_FAST_FORWARD, PARSE_OPT_NONEG),
+
 	OPT_END()
 };
 
@@ -56,5 +66,8 @@ int cmd_update(int argc, const char **argv, const char *prefix)
 	if (run_fetch())
 		return 1;
 
-	return run_fast_forward();
+	if (mode == UPDATE_MODE_FAST_FORWARD)
+		return run_fast_forward();
+
+	return 1;
 }
-- 
2.32.0.36.g70aac2b1aa




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux