Git development
 help / color / mirror / Atom feed
From: Dan Weber <dan@mirrorlynx.com>
To: Git Mailing List <git@vger.kernel.org>
Subject: Git cancel work
Date: Sun, 24 Apr 2005 00:34:44 -0400 (EDT)	[thread overview]
Message-ID: <Pine.LNX.4.62.0504240033230.1980@mirrorlynx.com> (raw)

[-- Attachment #1: Type: TEXT/PLAIN, Size: 165 bytes --]


I noticed that git cancel was always doing a full checkout.  So I figured, 
"what about just checking out the modified files?".  Attached is a patch 
to do so.

Dan

[-- Attachment #2: Fast Cancel --]
[-- Type: TEXT/PLAIN, Size: 1420 bytes --]

Lets not do a full checkout on git cancel

---
commit 47197d9accb420ec55f6dfd63d990d4fb2537330
tree e8f3699877dd220440808087632ef87cce2288a7
parent c83b95297c2a6336c2007548f909769e0862b509
author Dan Weber <dan@mirrorlynx.com> 1114316504 -0400
committer Dan Weber <dan@mirrorlynx.com> 1114316504 -0400

Index: gitcancel.sh
===================================================================
--- 2aaf94eae20acc451553766f3c063bc46cfa75c6/gitcancel.sh  (mode:100755 sha1:26eecb50bc812211454e98d98e8818387ae97df5)
+++ e8f3699877dd220440808087632ef87cce2288a7/gitcancel.sh  (mode:100755 sha1:c836b75bb8a7c461b2d0ad536d1c3bc2d2440ab4)
@@ -2,6 +2,7 @@
 #
 # Cancels current edits in the working tree.
 # Copyright (c) Petr Baudis, 2005
+# Copyright (c) Dan Weber, 2005
 #
 # This script reverts the working tree to a consistent state before
 # any changes to it (including merges etc) were done.
@@ -26,5 +27,23 @@
 rm -f .git/blocked .git/merging .git/merging-sym .git/merge-base
 read-tree -m $(tree-id) || read-tree $(tree-id)
 
-checkout-cache -f -a
-update-cache --refresh
+general() {
+	for name in $(diff-cache -r $(tree-id)|awk '{print $4}')
+	do
+		checkout-cache -f $name
+	done
+	update-cache --refresh
+}
+
+full () {
+	checkout-cache -f -a
+	update-cache --refresh
+}
+
+
+if [ "$1" == "-a" -o "$1" == "--full" -o "$1" == "--all" ]; then
+	full
+else
+	general
+fi
+

             reply	other threads:[~2005-04-24  4:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-24  4:34 Dan Weber [this message]
2005-04-24 12:49 ` Git cancel work Petr Baudis
2005-04-24 12:59   ` Dan Weber
2005-04-24 13:00     ` Petr Baudis
2005-04-24 13:04       ` Dan Weber
2005-04-24 13:11     ` Dan Holmsand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.62.0504240033230.1980@mirrorlynx.com \
    --to=dan@mirrorlynx.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox