Currently it just replace "-" in argv[] into "@{-1}".

For example,

    git diff -

equals to

    git diff @{-1}

Signed-off-by: Senorsen <senorsen.zh...@gmail.com>
---
Notes:
    Hello everyone, I'm Zhang Sen, a college student from Zhejiang University 
    in China, and this is a patch for the microproject of GSoC 2016. I'm 
    looking forward to contributing to Git and participating in GSoC 2016.

    I have learnt some rules and guides from the documents, and carefully 
    wrote this small patch, according to other code from git.

    Thanks a lot!

 builtin/diff.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/builtin/diff.c b/builtin/diff.c
index 52c98a9..c110141 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -389,6 +389,11 @@ int cmd_diff(int argc, const char **argv, const char 
*prefix)
                }
        }
 
+       for (i = 0; i < argc; i++) {
+               if (!strcmp(argv[i], "-"))
+                       argv[i] = "@{-1}";
+       }
+
        for (i = 0; i < rev.pending.nr; i++) {
                struct object_array_entry *entry = &rev.pending.objects[i];
                struct object *obj = entry->item;
-- 
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to