# [PATCH 5/7] Try to do things in the right order

3 messages from 2007-03-03 to 2007-03-05. Participants: Xavier Maillard, Alexandre Julliard.
Thread: https://gitlist.dev/t/7057

## Xavier Maillard, 2007-03-03 10:19

Subject: [PATCH 5/7] Try to do things in the right order
Message-ID: <15303.1172917192@localhost>
URL: https://gitlist.dev/e/15303.1172917192%40localhost

```

* emacs/vc-git.el: Added an ugly hack to properly reload vc-git. Only
  add GIT to vc-backends list after loading vc. Do not walk .git
  directory (add it to the exclusion-list).

  Changed installation instructions as discussed on Git mailing list

Signed-off-by: Xavier Maillard <zedek@gnu.org>
---
 contrib/emacs/vc-git.el |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/contrib/emacs/vc-git.el b/contrib/emacs/vc-git.el
index 748cb60..3f37e6d 100644
--- a/contrib/emacs/vc-git.el
+++ b/contrib/emacs/vc-git.el
@@ -22,7 +22,8 @@
 ;; This file contains a VC backend for the git version control
 ;; system.
 ;;
-;; To install: put this file on the load-path.
+;; To install: put this file on the load-path then add this line into
+;;   your .emacs: (require 'vc-git)
 ;;
 ;; TODO
 ;;  - changelog generation
@@ -35,8 +36,14 @@
   (require 'vc)
   (require 'cl))
 
-;; Add it automatically
-(add-to-list 'vc-handled-backends 'GIT)
+;; HACK: clear up the cache to force vc-call to check again and
+;; discover new functions when we reload this file.
+(put 'GIT 'vc-functions nil)
+
+;; Add it automatically when loading vc
+;; FIXME: should be directly put into vc.el
+(eval-after-load "vc"
+  '(add-to-list 'vc-handled-backends 'GIT))
 
 (defgroup vc-git nil
   "*This is GIT backend for vc."
@@ -188,4 +195,8 @@ COMMENT is the new comment."
 ;;;###autoload
 (add-to-list 'completion-ignored-extensions ".git/")
 
+(eval-after-load "vc" 
+    '(add-to-list 'vc-directory-exclusion-list ".git" t))
+
 (provide 'vc-git)
+;;; vc-git.el ends here
\ No newline at end of file
-- 
1.5.0

```

## Alexandre Julliard, 2007-03-03 10:32

Subject: Re: [PATCH 5/7] Try to do things in the right order
Message-ID: <87ps7qty5l.fsf@wine.dyndns.org>
URL: https://gitlist.dev/e/87ps7qty5l.fsf%40wine.dyndns.org
In-Reply-To: <15303.1172917192@localhost>

```
Xavier Maillard <zedek@gnu.org> writes:

> @@ -35,8 +36,14 @@
>    (require 'vc)
>    (require 'cl))
>  
> -;; Add it automatically
> -(add-to-list 'vc-handled-backends 'GIT)
> +;; HACK: clear up the cache to force vc-call to check again and
> +;; discover new functions when we reload this file.
> +(put 'GIT 'vc-functions nil)
> +
> +;; Add it automatically when loading vc
> +;; FIXME: should be directly put into vc.el
> +(eval-after-load "vc"
> +  '(add-to-list 'vc-handled-backends 'GIT))

That's ugly. Simply recommending that users set vc-handled-backends in
their .emacs is easier and cleaner, I still don't see why you want to
change it.

-- 
Alexandre Julliard
julliard@winehq.org

```

## Xavier Maillard, 2007-03-05 07:27

Subject: Re: [PATCH 5/7] Try to do things in the right order
Message-ID: <200703050727.l257Rv0k007635@localhost.localdomain>
URL: https://gitlist.dev/e/200703050727.l257Rv0k007635%40localhost.localdomain
In-Reply-To: <87ps7qty5l.fsf@wine.dyndns.org>

```

   From: Alexandre Julliard <julliard@winehq.org>

   Xavier Maillard <zedek@gnu.org> writes:

   > @@ -35,8 +36,14 @@
   >    (require 'vc)
   >    (require 'cl))
   >  
   > -;; Add it automatically
   > -(add-to-list 'vc-handled-backends 'GIT)
   > +;; HACK: clear up the cache to force vc-call to check again and
   > +;; discover new functions when we reload this file.
   > +(put 'GIT 'vc-functions nil)
   > +
   > +;; Add it automatically when loading vc
   > +;; FIXME: should be directly put into vc.el
   > +(eval-after-load "vc"
   > +  '(add-to-list 'vc-handled-backends 'GIT))

   That's ugly. Simply recommending that users set vc-handled-backends in
   their .emacs is easier and cleaner, I still don't see why you want to
   change it.

I'd rather want to just require or load vc-git (and that should
not be the way to go too since it should be automatically handled
by vc.el when vc-git will become part of GNU Emacs ).

By the way, do you plan to ask for inclusion into emacs ?

That's just a matter of taste, nothing more.

-- 
Xavier

```
